Vraag : Maak as3 leeg maar de Audio blijft spelen

Ik probeer om een geladen swf dossier leeg te maken, maar visueel gaat weg terwijl de audio (ingebed in SWF) aan/> I behoefte play.



I leeg te maken vond wat oplossing maar kon niet het maken werken en de audio houdt hulp playing.
Any worden gewaardeerd.
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
var blueFlag: Boolean=false;
var mLoader: Lader = nieuwe Lader ();
var het meest mRequest: URLRequest;

functie startLoad (swfName: Koord) {
	mLoader = nieuwe Lader ();
	SoundMixer.stopAll ();
	percentNumberHolder.alpha=1;
	loadingMain.alpha=1;
	var mRequest=new URLRequest (swfName);

	mLoader.contentLoaderInfo.addEventListener (Event.COMPLETE, onCompleteHandler);
	mLoader.contentLoaderInfo.addEventListener (ProgressEvent.PROGRESS, onProgressHandler);
	mLoader.load (het meest mRequest);
}

functie onCompleteHandler (loadEvent: Gebeurtenis) {
	addChild (loadEvent.currentTarget.content);
}
functie onProgressHandler (mProgress: ProgressEvent) {
	var percenten: Aantal = Math.round (100 * (mProgress.bytesLoaded/mProgress.bytesTotal));
	loadingMain.gotoAndStop (percenten);
	percentNumberHolder.percentNumber.text=String (percenten);
	als (percent>98) {
		percentNumberHolder.alpha=0;
		loadingMain.alpha=0;
	}

}
startLoad („section1.swf“);

functie loadSection3 (): leegte {
	mLoader.unload ();
	spoor („section3 die“ worden geladen);
	startLoad („section3.swf“);
}

Antwoord : Maak as3 leeg maar de Audio blijft spelen

De audio zal op leeggemaakte filmklemmen blijven spelen. Geloof het of niet, is dit eigenlijk gedocumenteerd in de klasse van de Lader. Controleer dit:

Als beste praktijken, alvorens u een kindSwf- dossier leegmaakt, zou u om het even welke stromen in de kindVoorwerpen van het swf- dossier, zoals LocalConnection, NetConnection, NetStream, en Correcte voorwerpen uitdrukkelijk moeten sluiten. Anders, audio in kind Zou het swf- dossier kunnen blijven spelen, alhoewel het kindSwf- dossier werd leeggemaakt. Aan dichte stromen in het kindSwf- dossier, voeg een gebeurtenisluisteraar aan het kind toe dat op leegmaakt gebeurtenis let. Wanneer de oudervraag Loader.unload (), leegmaakt wordt de gebeurtenis verzonden aan het kind. De volgende code toont hoe u dit zou kunnen doen:

functie closeAllStreams (evt: Gebeurtenis) {
    myNetStream.close ();
    mySound.close ();
    myNetConnection.close ();
    myLocalConnection.close ();
}

Nochtans, zijn er eigenlijk zelfs nog meer aan het dan dat. Als u echt van plan bent de klem leeg te maken zodat de huisvuilinzameling kan voorkomen, moet u ook om het even welke (en allen) gebeurtenisluisteraars verwijderen die een verwijzing naar de Lader of naar zijn kinderen zouden hebben (het contentLoaderInfovoorwerp, bijvoorbeeld). Zorg zo ervoor dat u ook mLoader.contentLoaderInfo.removeEventListener () voor uw VOLLEDIGE en gebeurtenissen van de VOORUITGANG eveneens, alvorens in werking te stellen leegmaken () methode.

Best,
Tom
Andere oplossingen  
 
programming4us programming4us