我有一個音頻文件,我想避免將其切斷。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