是否可以監聽流式MP3實際開始播放的時間?AS3監聽MP3播放的開始
例如
var snd:Sound = new Sound();
snd.load(new URLRequest("my.mp3"));
snd.play();
當通過wifi或3G加載/流式播放mp3文件時,播放可能不會立即開始。
我需要在音頻實際啓動時觸發某些內容。
感謝,
馬克
是否可以監聽流式MP3實際開始播放的時間?AS3監聽MP3播放的開始
例如
var snd:Sound = new Sound();
snd.load(new URLRequest("my.mp3"));
snd.play();
當通過wifi或3G加載/流式播放mp3文件時,播放可能不會立即開始。
我需要在音頻實際啓動時觸發某些內容。
感謝,
馬克
有Sound對象時,在成功加載數據,這將觸發一個完整的事件。假設音頻在加載完成後立即開始播放,您可以使用此事件。
另一種方法是使用Sound.play返回的SoundChannel對象並繼續輪詢SoundChannel對象的position屬性。位置屬性的值大於0,則音頻開始。
...
snd.load(new URLRequest("my.mp3"));
snd.addEventListener(Event.COMPLETE, loaded);
function loaded(event:Event):void
{
// here play
}
你知道這是否在所有數據下載完成或第一個字節被加載時被觸發? – crooksy88 2011-12-23 11:40:35
就我所知,當所有的數據已經被加載。請,如果您必須選擇答案,請選擇Srisa的答案。 – AsTheWormTurns 2011-12-23 12:57:30
同意! ProgressEvent是關鍵。 – crooksy88 2011-12-23 13:15:46
謝謝Srisa。輪詢Progress Event的bytesLoaded值有訣竅。 private function progressHandler(e:ProgressEvent):void { \t trace(e.bytesLoaded); \t如果(e.bytesLoaded> 20000){ – crooksy88 2011-12-23 13:16:16