javascript - tutorial - amazon developer account




Wie lade ich einen Sound in Javascript vor? (4)

Abhängig von den prelaod kann es ausreichend sein, das prelaod Attribut auf dem audio Tag zu setzen.

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).





preload