AS3监听MP3播放的开始

AS3监听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,则音频开始。

+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

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