Eldeki soruyu yanıtlamak ...
Hayır, bu özelliklere sahip olmak yeterli değildir, sesli bir medyayı otomatik olarak oynatabilmek için, belgenize bir kullanıcı hareketinin kaydedilmiş olması gerekir.
Ancak, bu sınırlama çok zayıf: bu kullanıcı hareketini ana belgede aldıysanız ve videonuz bir iframe'den yüklendiyse, onu oynatabilirsiniz ...
Öyleyse, mesela bu keman , sadece
<video src="myvidwithsound.webm" autoplay=""></video>
İlk yüklemede ve herhangi bir yere tıklamazsanız çalışmayacaktır çünkü henüz kayıtlı bir etkinliğimiz yok.
Ancak "Çalıştır" düğmesini tıkladığınızda, ana belge (jsfiddle.net) bir kullanıcı hareketi aldı ve şimdi video, teknik olarak farklı bir belgeye yüklenmiş olmasına rağmen oynatılıyor.
Ancak aşağıdaki kod parçacığı , Kod parçacığını çalıştır düğmesini tıklamanızı gerektirdiğinden otomatik olarak oynatılacaktır.
<video src="https://upload.wikimedia.org/wikipedia/commons/transcoded/2/22/Volcano_Lava_Sample.webm/Volcano_Lava_Sample.webm.360p.webm" autoplay=""></video>
Bu, ana sayfaya bir kullanıcı hareketi sağladığınız için muhtemelen reklamınızın oynatılabildiği anlamına gelir.
Şimdi, Safari ve Mobil Chrome'un bundan daha katı kurallara sahip olduğunu ve aslında en az bir kez kullanıcı-olay işleyicisinin kendisinden veya öğesinde play()
programlı olarak yöntemi tetiklemenizi gerektireceğini unutmayın .<video>
<audio>
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>
Sese ihtiyacınız yoksa, medyanıza eklemeyin, yalnızca video parçası olan bir videonun da otomatik oynatılmasına izin verilir ve kullanıcınızın bant genişliği kullanımı azalır.