Frage : As3 leeren, aber Audio fährt fort zu spielen

Ich versuche, eine geladene swf Akte zu leeren, aber die Sichtbarmachung geht, während das Audio (eingebettet im SWF) zu play.

fortfahren, das ich die geladene swf Akte („section1.swf“) Funktion loadSection3 () im


I leeren muss fand irgendeine Lösung, aber könnte es Arbeit nicht bilden weg und die Audiohilfe der unterhälte playing.
Any würde geschätzt.
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:
6:
var blueFlag: Boolean=false;
var mLoader: Ladevorrichtung = neue Ladevorrichtung ();
var mRequest: URLRequest;

Funktion startLoad (swfName: Schnur) {
	mLoader = neue Ladevorrichtung ();
	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 (mRequest);
}

Funktion onCompleteHandler (loadEvent: Ereignis) {
	addChild (loadEvent.currentTarget.content);
}
Funktion onProgressHandler (mProgress: ProgressEvent) {
	var-Prozente: Zahl = Math.round (100 * (mProgress.bytesLoaded/mProgress.bytesTotal));
	loadingMain.gotoAndStop (Prozente);
	percentNumberHolder.percentNumber.text=String (Prozente);
	wenn (percent>98) {
		percentNumberHolder.alpha=0;
		loadingMain.alpha=0;
	}

}
startLoad („section1.swf“);

Funktion loadSection3 (): Lücke {
	mLoader.unload ();
	Spur („section3, das“ geladen wird);
	startLoad („section3.swf“);
}

Antwort : As3 leeren, aber Audio fährt fort zu spielen

Audio fortfährt ips, auf entladenen Filmclips zu spielen. Ihm glauben oder nicht, dieses dokumentiert wirklich in der Ladevorrichtungskategorie. Dieses heraus überprüfen:

Als optimales Verfahren bevor Sie eine Akte des Kindes SWF leeren, sollten Sie alle mögliche Ströme in der den Gegenständen Akte des Kindes SWF, wie LocalConnection, NetConnection, NetStream und stichhaltigen Gegenständen ausdrücklich schließen. Andernfalls Audio in der Akte des Kindes SWF konnte fortfahren zu spielen, obwohl die Akte des Kindes SWF geleert. Um zu schließen Ströme im Kind, das SWF archivieren, hinzufügen einen Ereigniszuhörer dem Kind das auf das Entleerungsereignis hört. Wenn das Elternteil Loader.unload () benennt, ausgeliefert das Entleerungsereignis an dem Kind t. Der folgende Code zeigt, wie Sie dies tun konnten:

Funktion closeAllStreams (evt: Ereignis) {
    myNetStream.close ();
    mySound.close ();
    myNetConnection.close ();
    myLocalConnection.close ();
}

Jedoch gibt es wirklich sogar noch mehr zu ihm als das. Wenn Sie wirklich beabsichtigen, den Klipp zu leeren, damit Abfallansammlung auftreten kann, müssen Sie auch Zuhörer jedes möglichen (und alles) Ereignisses entfernen, die einen Hinweis auf der Ladevorrichtung oder auf seinen Kindern haben (der contentLoaderInfo Gegenstand, zum Beispiel). Vor dem Betrieb der Methode der Entleerung ob Sie auch mLoader.contentLoaderInfo.removeEventListener () für Ihre KOMPLETTEN und FORTSCHRITTS-Ereignisse außerdem, so überprüfen ().

Am besten,
Tom
Weitere Lösungen  
 
programming4us programming4us