我希望每当项目淡入时都会播放mp3。这些项目会根据startDelay
值在不同时间淡入。在我看来,让mp3开始播放淡入的最好方法是扩展spark.effects.Fade
类,覆盖play
函数,然后在{{1}时播放mp3调用(我假设在完成play
之后),但这不起作用。有什么想法吗?
startDelay
答案 0 :(得分:1)
<强>更新强> 使用计时器发出声音延迟。
package
{
import flash.events.TimerEvent;
import flash.media.Sound;
import flash.net.URLRequest;
import flash.utils.Timer;
import spark.effects.Fade;
public class FadeWithMusic extends Fade
{
private var soundTimer : Timer;
public function FadeWithMusic(target : Object = null)
{
super(target);
}
private function playSound(event : TimerEvent) : void
{
var sound : Sound = new Sound();
var urlReq : URLRequest = new URLRequest("1.mp3");
sound.load(urlReq);
sound.play();
}
override public function play(targets : Array = null, playReversedFromEnd : Boolean = false) : Array /* of EffectInstance */
{
soundTimer = new Timer(startDelay, 1);
soundTimer.addEventListener(TimerEvent.TIMER, playSound, false, 0, true);
soundTimer.start();
return super.play(targets, playReversedFromEnd);
}
}
}