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,则音频开始。
...
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