2015-10-14 7 views
5

Io non sapeva come formulare la domanda, ma qui è il codice ...Il tag html5 <audio> carica l'audio dal server prima di attivarlo?

<audio class='foo' preload='none'> 
    <source src='./path.mp3'> 
</audio> 

Poi ho un po 'di jQuery che riproduce la clip quando si fa clic con questa funzione ...

function play(parent, child) { 
    $(parent).find(child).find('.bar').click(function() { 
     $('.word-audio')[0].play(); 
    }); 
} 

La mia domanda è se questo trasferisce il file audio quando viene caricato il codice HTML o quando si fa clic sul pulsante? Mi piacerebbe solo caricare i dati quando si fa clic sui pulsanti poiché la mia pagina potrebbe avere centinaia di questi.

risposta

2

Penso che questa descrizione cancellerà i tuoi douts ...

<audio preload="auto|metadata|none"> 

valori degli attributi

auto: L'autore pensa che il browser deve caricare l'intero file audio quando la pagina carichi
metadati: L'autore pensa che il browser debba caricare solo i metadati quando la pagina viene caricata
nessuno: l'autore ritiene che il browser NON debba caricare il file audio quando la pagina viene caricata.

1

SI. È necessario impostare il precarico nessuno se whant di smettere di carico ma c'è un problema:

Quando qualcuno clicca sul audio e lo stop, giocare un altro e fermarsi in bel mezzo di ascolto, tutti si fermarono audio la volontà di continuare a caricare nello sfondo .

L'unico modo per interrompere questo è quello di caricare tutti i collegamenti audio tramite PHP e iframe.

In un PHP è necessario impostare il lettore audio. Nella tua pagina in cui si visualizzano gli elenchi audio è necessario visualizzare solo alcune immagini e titoli e quando qualcuno fa clic su audio, è necessario inviare l'ID del proprio audio a PHP, dove è il lettore audio e caricare sulla pagina come iframe.

Dopo che qualcuno interrompe l'audio, è necessario interrompere l'audio e distruggere iframe.

Problemi correlati