2012-03-29 12 views
2

Ich versuche, etwas Audio über das html5 Audio-Tag (mit Buzz als Wrapper, wenn das einen Unterschied macht) zu spielen.html5 audio - caplay Ereignis feuert nicht auf Safari (Mac Desktop)

Da der Ton so eingestellt ist, dass er mit einem anderen Ereignis beginnt, habe ich auf das Ereignis canplay gehört.

Es funktioniert perfekt in Chrome und Firefox, aber Safari löst das Ereignis canplay nicht aus.

Ich habe Event-Handler für alle möglichen Audio-Events zur Verfügung und so weit ich kann sagen, es feuert nur die loadstart und loadedmetadata Ereignis.

Wenn das loadedmetadata ausgelöst wird, sieht das Audioelement im Inspector gut aus, aber dort stoppt es.

Ich vermute, das ist die Ursache etwas mit dem Element zu nicht runter .. aus irgendeinem Grund eingestellt zu tun hat, die Safari zu verursachen scheint, es zu stoppen (wenn ich alle automatisch wieder dann die Ereignisse ausgelöst werden) .

Erhalten Sie das gleiche Problem und gibt es eine Möglichkeit, den Sound nicht automatisch abzuspielen, sondern das Ereignis canplay auszulösen?

My Safari Version 5.1.3 (7534.53.10)

Antwort

1

Ok, die Arbeit, um das Problem einfach ist, den Ton zu Auto-Play zu setzen und auf das canplay Ereignis zu hören. Wenn das ausgelöst wird, kann ich es anhalten und warten, bis mein anderes Ereignis ausgelöst wird.

Hatte die Logik um ein bisschen zu bewegen, aber das scheint in Ordnung zu arbeiten.

Verwandte Themen