Copy link to clipboard
Copied
I'm developing an app for android using flash and adobe air for android.
In flash i have a set of Scenes which can be navigated in the following way.
in the lower scenes (morning, noon and evening scenes), i have one movie clip every 5 frames per scene, which have audio embedded in them. on the first frame of the movie clips i have, i call the stop();
function. and at the end of the clip an event is dispatched ( dispatchEvent(new Event ("MEANING_TEXT_COMPLETE"));
), so that code from the main timeline could act accordingly.
Here is the code on my main timeline
MovieClip(this.root).stop();
btn_home_parent.addEventListener(MouseEvent.CLICK, goto_dh_morn);
mc_sound.addEventListener(MouseEvent.CLICK, control_sound_morn);
btn_next_morn.addEventListener(MouseEvent.CLICK, goto_next_morn);
btn_prev_morn.addEventListener(MouseEvent.CLICK, goto_prev_morn);
//load all sound files
var mn_1:Mn1 = new Mn1();
var mn_2:Mn2 = new Mn2();
var mn_3:Mn3 = new Mn3();
var mn_4:Mn4 = new Mn4();
var mn_5:Mn5 = new Mn5();
var mn_6:Mn6 = new Mn6();
var mn_7:Mn7 = new Mn7();
var mn_8:Mn8 = new Mn8_();
var mn_9:Mn9 = new Mn9();
var mn_10:Mn10 = new Mn10();
var mn_11:Mn11 = new Mn11();
var mn_12:Mn12 = new Mn12();
var mn_13:Mn13 = new Mn13();
var mn_14:Mn14 = new Mn14();
var frameCount_morn:int = 1;
var lang1Init_morn:Boolean = false;
var lang1:Object;
var ar:Object;
playSound_morn();
function playSound_morn()
{
var currentSound:Sound = new Sound();
channel.stop();
trace("play sound");
currentSound = this["mn_" + frameCount_morn];
channel = currentSound.play();
channel.addEventListener(Event.SOUND_COMPLETE, soundComplete_morn);
trans.volume = 1;
channel.soundTransform = trans;
}
function soundComplete_morn(e:Event):void
{
if (showlang1Text)
{
trace("ar Sound Complete");
ar = getChildByName("arText" + (currentFrame - 1));
ar.visible = false;
trace("ar child acquired");
lang1 = getChildByName("lang1Text" + (currentFrame - 1));
lang1Init_morn = true;
lang1.visible = true;
lang1.play();
lang1.addEventListener("MEANING_TEXT_COMPLETE", translationComplete_morn);
}
}
function translationComplete_morn(e:Event)
{
trace("translate Complete");
ar= getChildByName("arText" + (currentFrame - 1));
ar.visible = true;
lang1 = getChildByName("lang1Text" + (currentFrame - 1));
lang1.visible = false;
}
function goto_next_morn(e:MouseEvent)
{
if (MovieClip(this.root).currentFrame <= 61)
{
var next_frame = MovieClip(this.root).currentFrame + 5;
frameCount_morn = frameCount_morn + 1;
channel.stop();
if (lang1Init_morn){lang1.stop();lang1Init_morn = false;}
MovieClip(this.root).gotoAndStop(next_frame);
playSound_morn();
}
trace("Current Frame: " + currentFrame);
}
function goto_prev_morn(e:MouseEvent)
{
if (MovieClip(this.root).currentFrame > 0)
{
var prev_frame = MovieClip(this.root).currentFrame - 5;
frameCount_morn = frameCount_morn - 1;
channel.stop();
if (lang1Init_morn){lang1.stop();lang1Init_morn = false;}
MovieClip(this.root).gotoAndStop(prev_frame);
playSound_morn();
}
trace("Current Frame: " + currentFrame);
}
function control_sound_morn(e:MouseEvent)
{
control_sound(e);
if (!showlang1Text) {
mc_sound.gotoAndStop(5);
if (lang1Init_morn){
lang1.stop();
lang1Init_morn = false;
ar.visible = true;
lang1.visible = false;
}
}
else {
mc_sound.gotoAndStop(1)
}
}
function goto_dh_morn(e:MouseEvent) {
if (lang1Init_morn){lang1.stop();lang1Init_morn = false;}
channel.stop();
goto_dh(e);
}
the movie clip object is lang1
when i load the scene "Morning Scene" it works perfectly well, as it should. however when i navigate to the "noon scene" or "evening scene", audio from all the movie clips that were put on the "morning scene" automatically starts to play. The funny thing is that those movie clips are not even added to the "noon scene" and "evening scene". Any idea on why this happens or how to fix it. thanks
Copy link to clipboard
Copied
i doubt that anyone will be able to help you without downloading your fla (but i could be wrong) and even then they may come to the same conclusion: you should not be adding sound to timelines. use code to start and stop your sounds.
Find more inspiration, events, and resources on the new Adobe Community
Explore Now