Beantwortung der vorliegenden Frage ...
Nein, es reicht nicht aus, über diese Attribute zu verfügen. Um ein Medium mit Audio automatisch abspielen zu können, muss eine Benutzergeste in Ihrem Dokument registriert sein.
Diese Einschränkung ist jedoch sehr schwach: Wenn Sie diese Benutzergeste für das übergeordnete Dokument erhalten haben und Ihr Video von einem Iframe geladen wurde, können Sie es abspielen ...
Nehmen wir zum Beispiel diese Geige , die nur ist
<video src="myvidwithsound.webm" autoplay=""></video>
Beim ersten Laden und wenn Sie nirgendwo klicken, wird es nicht ausgeführt, da noch kein Ereignis registriert ist.
Sobald Sie jedoch auf die Schaltfläche "Ausführen" klicken , hat das übergeordnete Dokument (jsfiddle.net) eine Benutzergeste erhalten, und jetzt wird das Video abgespielt, obwohl es technisch in ein anderes Dokument geladen ist.
Das folgende Snippet wird jedoch automatisch wiedergegeben, da Sie tatsächlich auf die Schaltfläche Code-Snippet ausführen klicken müssen .
<video src="https://upload.wikimedia.org/wikipedia/commons/transcoded/2/22/Volcano_Lava_Sample.webm/Volcano_Lava_Sample.webm.360p.webm" autoplay=""></video>
Dies bedeutet, dass Ihre Anzeige wahrscheinlich geschaltet werden konnte, weil Sie der Hauptseite eine Nutzergeste gegeben haben.
Beachten Sie nun, dass Safari und Mobile Chrome strengere Regeln haben und dass Sie die play()
Methode mindestens einmal programmgesteuert für das Element <video>
oder <audio>
vom Benutzerereignishandler selbst auslösen müssen .
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>
Wenn Sie das Audio nicht benötigen, hängen Sie es einfach nicht an Ihr Medium an. Ein Video mit nur einer Videospur kann ebenfalls automatisch wiedergegeben werden und verringert die Bandbreitennutzung Ihres Benutzers.