2011-12-23 75 views
0

是否可以監聽流式MP3實際開始播放的時間?AS3監聽MP3播放的開始

例如

var snd:Sound = new Sound(); 
snd.load(new URLRequest("my.mp3")); 
snd.play(); 

當通過wifi或3G加載/流式播放mp3文件時,播放可能不會立即開始。

我需要在音頻實際啓動時觸發某些內容。

感謝,

馬克

回答

1

有Sound對象時,在成功加載數據,這將觸發一個完整的事件。假設音頻在加載完成後立即開始播放,您可以使用此事件。

另一種方法是使用Sound.play返回的SoundChannel對象並繼續輪詢SoundChannel對象的position屬性。位置屬性的值大於0,則音頻開始。

+0

謝謝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

1
... 
snd.load(new URLRequest("my.mp3")); 
snd.addEventListener(Event.COMPLETE, loaded); 

function loaded(event:Event):void 
{ 
    // here play 
} 
+0

你知道這是否在所有數據下載完成或第一個字節被加載時被觸發? – crooksy88 2011-12-23 11:40:35

+0

就我所知,當所有的數據已經被加載。請,如果您必須選擇答案,請選擇Srisa的答案。 – AsTheWormTurns 2011-12-23 12:57:30

+0

同意! ProgressEvent是關鍵。 – crooksy88 2011-12-23 13:15:46