Respondiendo la pregunta en cuestión ...
No, no es suficiente tener estos atributos, para poder reproducir automáticamente un medio con audio, necesita tener un gesto de usuario registrado en su documento.
Pero esta limitación es muy débil: si recibió este gesto de usuario en el documento principal y su video se cargó desde un iframe, entonces podría reproducirlo ...
Tomemos, por ejemplo, este violín , que es sólo
<video src="myvidwithsound.webm" autoplay=""></video>
En la primera carga, y si no hace clic en ningún lado, no se ejecutará, porque aún no tenemos ningún evento registrado.
Pero una vez que hace clic en el botón "Ejecutar" , el documento principal (jsfiddle.net) recibió un gesto de usuario y ahora se reproduce el video, aunque técnicamente está cargado en un documento diferente.
Pero el siguiente fragmento, dado que requiere que haga clic en el botón Ejecutar fragmento de código , se reproducirá automáticamente.
<video src="https://upload.wikimedia.org/wikipedia/commons/transcoded/2/22/Volcano_Lava_Sample.webm/Volcano_Lava_Sample.webm.360p.webm" autoplay=""></video>
Esto significa que su anuncio probablemente pudo reproducirse porque proporcionó un gesto de usuario a la página principal.
Ahora, tenga en cuenta que Safari y Mobile Chrome tienen reglas más estrictas que eso, y requerirán que active al menos una vez el play()
método programáticamente en el elemento <video>
o <audio>
desde el controlador de eventos del usuario.
btn.onclick = e => {
// mark our MediaElement as user-approved
vid.play().then(()=>vid.pause());
// now we can do whatever we want at any time with this MediaElement
setTimeout(()=> vid.play(), 3000);
};
<button id="btn">play in 3s</button>
<video
src="https://upload.wikimedia.org/wikipedia/commons/transcoded/2/22/Volcano_Lava_Sample.webm/Volcano_Lava_Sample.webm.360p.webm" id="vid"></video>
Y si no necesita el audio, simplemente no lo adjunte a sus medios, un video con solo una pista de video también puede reproducirse automáticamente y reducirá el uso de ancho de banda de su usuario.