Un sacco di esempi dimostrano più tag sorgente nidificati nel tag audio, come metodo per superare la compatibilità del codec tra diversi browser. Qualcosa di simile -Come posso aggiungere più fonti a un tag audio HTML5, a livello di programmazione?
<audio controls="controls">
<source src="song.ogg" type="audio/ogg" />
<source src="song.mp3" type="audio/mpeg" />
Your browser does not support the audio element.
</audio>
Mentre con JavaScript, sto anche permesso di creare un elemento audio come questo -
var new_audio = document.createElement("audio");
Dove posso impostare la sorgente dalla struttura .src
-new_audio.src="....";
Non riesco a trovare come aggiungere più sorgenti in un elemento audio tramite JavaScript, qualcosa di simile ai tag sorgente mostrati nello snippet HTML.
Maneggio lo new_audio
e aggiungo i tag <source...
al suo interno, proprio come si manipolerebbe qualsiasi altro elemento DOM? Sto facendo questo proprio ora e funziona, che è -
new_audio.innerHTML = "<source src='audio/song.ogg' type='audio/ogg' />";
new_audio.play();
mi chiedo se c'è un modo più appropriato per farlo?
Lasciando che l'utente inserisca un elenco di formati alternativi all'interno dell'attributo stesso, creando un semplice plug-in per aiutarli a creare l'audio. Quindi non sarei a conoscenza dei tipi forniti dagli utenti finali. Grazie per il suggerimento canPlayType, sarebbe utile. –
Solo qualcosa che ho notato - probabilmente non si desidera utilizzare la parola chiave var nel condizionale. Stai creando una nuova variabile new_audio e non fai riferimento a quella esistente. –
@AndyWest Sì, mancava anche una parentesi - codice piuttosto scadente a tutto tondo :) – robertc