webForumDet fria alternativet

Problem med loadSound. Musiken stoppar

Flash

3 svar · 441 visningar · startad av bassebhu

Medlem sedan nov. 20016 480 inlägg
Frågan#1

Hej alla glada!

Försöker knåpa ihop en enkel knapp som togglar mellan play och stop och startar en ljudfil vid play och stoppar vid stop :)

Det huvudsakliga problemet som jag stöter på är att musiken stoppas av sig själv lite på random om man rör sig över knappen (inte klickar alltså). Känns som en bugg eller att den inte hinner streama ljudfilen, men jag har inga andra actions som skulle kunna stoppa ljudet vid rollover. Något allmänt känt fel?

Det andra problemet är att onSoundComplete inte verkar funka. Jag vill att när musiken är slut så ska stop-läget togglas på knappen automatiskt. Vad är galet i koden nedan?

Tack!

var playState:Boolean=true;
c.onRollOver=function() {
	this.gotoAndPlay(2);
}
c.onRollOut=function() {
	this.gotoAndPlay(5);
}
c.onRelease=function() {
	if(playState) {
		this.playstop.gotoAndStop(2);
		playState=false;
		var so:Sound = new Sound();
		so.loadSound("musik.mp3", true);
		so.onSoundComplete = function () {
			this.playstop.gotoAndStop(1);
			playState=true;
			var so:Sound = new Sound();
			so.stop();
		}
	} else {
		this.playstop.gotoAndStop(1);
		playState=true;
		var so:Sound = new Sound();
		so.stop();
	}
}
Medlem sedan nov. 20016 480 inlägg
#2

Tips? :) Tack!

Medlem sedan nov. 20016 480 inlägg
#3

Någon? :)

Medlem sedan dec. 20002 526 inlägg
#4

Om du tar bort dina onRollOver, onRollOut, funkar det då?

Din s k "inline-funktion"; so.onSoundComplete = function () {.... orsakar scope-problem, dvs den hittar inte rätt till instanser.

Du bör använda "Delegate" för att slippa problem med scope i AS2.

268 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)