2012-04-14 53 views
0

我想检测何时在iPad上加载音频。我的代码加载并播放mp3,但事件侦听器从不触发。iPad的HTML音频检测`加载`

 $mp3.load() 
     $mp3.addEventListener("load", function() { 
      alert('Happy days') // <~~ this never fires 
     }, true) 
     $mp3.play() 

我正在使用iOS 4.2。我意识到所有这些可能不适用于最新的iOS,我不介意。

+0

这是使用'audio'元素? – alex 2012-04-14 12:00:13

+0

是的,'$ mp3'是音频元素本身的参考 – 2012-04-14 15:40:49

+0

为什么是倒票? – 2012-04-19 14:10:41

回答

1

您需要为canplaythrough添加一个事件侦听器,例如,

addEventListener("canplaythrough", this.onLoad.bind(this), false);

那么,一旦触发,将其取下,你不会再得到它:

onLoad:function() { arguments.callee.removeEventListener("canplaythrough", this.onLoad.bind(this), false); // do something }