2012-04-14 15 views
0

Ich möchte erkennen, wenn Audio auf iPad geladen hat. Mein Code lädt und spielt die MP3-Datei, aber der Ereignis-Listener wird nie ausgelöst.iPad HTML Audio erkennen `laden`

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

Ich verwende iOS 4.2. Ich bin mir bewusst, dass all dies auf dem neuesten iOS nicht funktioniert, und das macht mir nichts aus.

+0

Ist das ein 'audio' Element verwendet? – alex

+0

ja, '$ MP3' ist eine Referenz auf das Audio-Element selbst –

+0

Warum die Abstimmung unten? –

Antwort

1

Sie müssen einen Ereignis-Listener für casplaythrough hinzufügen, z.

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

Dann, wenn es ausgelöst wird, entfernen, damit es Sie nicht wieder bekommen:

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