我有一个音频文件,我想避免将其切断。AS3从音轨中间开始和停止音频
我知道我可以使用声音类mySound.play(150)
从150ms开始,但在500ms或650ms之后还没有遇到停止声音的方法。
感谢您的任何意见。
我有一个音频文件,我想避免将其切断。AS3从音轨中间开始和停止音频
我知道我可以使用声音类mySound.play(150)
从150ms开始,但在500ms或650ms之后还没有遇到停止声音的方法。
感谢您的任何意见。
您可以使用输入框事件来检查SoundChannel的位置 - SoundChannel。一旦位置大于或等于您的时间码,请停止声音。这当然不会非常准确,并且取决于应用程序的帧速率。
var mySound:Sound = new Sound(); var channel:SoundChannel = new SoundChannel(); addEventListener(Event.ENTER_FRAME, loop); channel = mySound.play(150); function loop(e:Event):void { if (channel.position >= 500) { channel.stop(); } }
不幸的是,可能没有任何好的方法来做到这一点。一个解决方法可能是创建一个计时器,并在定时器处理程序启动时停止。像这样的:
sndChannel = mySound.play(200);
var stopTimer:Timer = new Timer(500, 1); // stop after 500ms
stopTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onStopTimer);
stopTimer.start();
private function onStopTimer(evt:TimerEvent):void {
sndChannel.stop();
}
真的不是一个很好的和精确的解决方案,但这可能在实践中起作用。
这样做,谢谢。 – Chuck 2011-04-25 18:32:35