javascript - tutorial - amazon developer account
Wie lade ich einen Sound in Javascript vor? (4)
Ich kann Bilder dank der onload
Funktion einfach onload
. Aber es funktioniert nicht mit Audio. Browser wie Chrome, Safari, Firefox usw. unterstützen die onload
Funktionen im Audio-Tag nicht.
Wie kann ich einen Sound in Javascript laden, ohne JS-Bibliotheken zu verwenden und HTML-Tags nicht zu verwenden oder zu erstellen?
Haben Sie versucht, eine Ajax-Anfrage für die Datei zu stellen? Sie würden es nicht zeigen / benutzen, bis es vollständig geladen war.
ZB jQuery: Wie preload Sound? (Sie müssten jQuery nicht verwenden).
Ihr Problem besteht darin, dass Audio-Objekte das Ereignis 'load' nicht unterstützen.
Stattdessen gibt es ein Ereignis namens "caplaythrough", das nicht bedeutet, dass es vollständig geladen ist, aber es ist genug geladen, dass es bei der aktuellen Download-Rate zu dem Zeitpunkt beendet wird, zu dem der Track genügend Zeit zum Durchspielen hatte.
Also statt
audio.onload = isAppLoaded;
Versuchen
audio.oncanplaythrough = isAppLoaded;
Oder noch besser.. ;)
audio.addEventListener('canplaythrough', isAppLoaded, false);
Remy hat eine Lösung für iOS entwickelt, die das Sprite-Konzept nutzt:
http://remysharp.com/2010/12/23/audio-sprites/
Nicht sicher, dass es sich direkt auf das Preload bezieht, hat aber den Vorteil, dass Sie nur eine Audiodatei laden müssen (was auch ein Nachteil ist, nehme ich an).