Desidero sapere come verificare se è caricato un elemento audio HTML5.Come si controlla se è caricato un elemento audio HTML5?
27
A
risposta
41
Per scoprire quando l'audio è pronto per iniziare la riproduzione, aggiungere ascoltatori per lo oncanplay
or oncanplaythrough
events. Per sapere quando l'audio è stato caricato a tutti, ascoltare la onloadeddata
event:
<audio oncanplay="myOnCanPlayFunction()"
oncanplaythrough="myOnCanPlayThroughFunction()"
onloadeddata="myOnLoadedData()"
src="myaudio.ogg"
controls>
<a href="myaudio.ogg">Download</a>
</audio>
<script>
function myOnCanPlayFunction() { console.log('Can play'); }
function myOnCanPlayThroughFunction() { console.log('Can play through'); }
function myOnLoadedData() { console.log('Loaded data'); }
</script>
17
Partenza risposta di robertc per come utilizzare listener di eventi. È inoltre possibile controllare direttamente di un elemento audio stato pronto:
var myAudio = $('audio')[0];
var readyState = myAudio.readyState;
readyState
sarà un numero. Da Mozilla's docs:
- 0 - Non sono disponibili informazioni sulla risorsa multimediale.
- 1 - È stato recuperato un numero sufficiente di risorse multimediali per l'inizializzazione degli attributi dei metadati. La ricerca non solleverà più un'eccezione.
- 2 - I dati sono disponibili per la posizione di riproduzione corrente, ma non abbastanza per riprodurre effettivamente più di un fotogramma.
- 3 - Sono disponibili i dati per la posizione di riproduzione corrente e per almeno un po 'di tempo nel futuro (in altre parole, almeno due fotogrammi di video, ad esempio).
- 4 - Sono disponibili dati sufficienti - e la velocità di download è sufficientemente alta - che il file multimediale può essere riprodotto fino alla fine senza interruzioni.
Grazie, signore. – auragar
Se potessi, potresti fornire un esempio o spiegare gli ascoltatori e come implementarli. – auragar
@auragar Gli ascoltatori sono una cosa DOM/JavaScript standard, ma solo google per "ascoltatori di eventi DOM". Il modo in cui li implementate dipende da ciò che vuoi che facciano. – robertc