Muchos ejemplos demuestran múltiples etiquetas de origen anidadas en la etiqueta de audio, como un método para superar la compatibilidad del códec en diferentes navegadores. Algo como esto -¿Cómo puedo agregar varias fuentes a una etiqueta de audio HTML5, programáticamente?
<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>
Mientras que con JavaScript, yo también estoy autorizado para crear un elemento de audio como este -
var new_audio = document.createElement("audio");
Dónde puedo fijar su fuente en el hotel .src
- new_audio.src="....";
No pude encontrar cómo agregar varias fuentes en un elemento de audio a través de JavaScript, algo similar a las etiquetas de origen que se muestran en el fragmento de HTML.
¿Manipulo el new_audio
y agrego las etiquetas <source...
dentro de él, al igual que se manipularía cualquier otro elemento DOM? Estoy haciendo esto ahora y funciona, que es -
new_audio.innerHTML = "<source src='audio/song.ogg' type='audio/ogg' />";
new_audio.play();
Me pregunto si hay una forma más adecuada de hacerlo?
Voy a permitir que el usuario inserte una lista de formatos alternativos dentro del atributo de clase, lo que hace que sea un plugin simple de usar para ayudarlos a crear suspensiones de audio. Por lo tanto, no sabría qué tipos proporcionaban los usuarios finales. Gracias por la sugerencia canPlayType, sería útil. –
Algo que noté, probablemente no quieras usar la palabra clave var en tu condicional. Está creando una nueva variable new_audio y no hace referencia a la existente. –
@AndyWest Sí, también faltaba un corchete - código bastante malo todo :) – robertc