Saya menghabiskan banyak waktu untuk mencoba mencari tahu mengapa video disematkan seperti di sini:
<video height="256" loop autoplay muted controls id="vid">
<source type="video/mp4" src="video_file.mp4"></source>
<source type="video/ogg" src="video_file.ogg"></source>
</video>
mulai bermain secara otomatis setelah halaman dimuat di FireFox tetapi tidak dapat melakukan putar otomatis di browser berbasis Webkit. Ini hanya terjadi di beberapa halaman acak. Sejauh ini saya tidak dapat menemukan penyebabnya. Saya mencurigai beberapa tag yang tidak tertutup atau JS ekstensif yang dibuat oleh editor CMS.
javascript
html
google-chrome
safari
webkit
Adam Bubela
sumber
sumber
Jawaban:
Perbaikan terbaik yang bisa saya dapatkan adalah menambahkan kode ini tepat setelah
</video>
... tidak cantik tapi entah bagaimana berhasil.
PERBARUI Akhir-akhir ini banyak browser hanya dapat memutar video secara otomatis tanpa suara, jadi Anda juga perlu menambahkan
muted
atribut ke tag videosumber
$("videoID").get(0).play();
stackoverflow.com/questions/4646998/…$("video[autoplay]").each(function(){ this.play(); });
Setelah menggunakan jQuery
play()
atau manipulasi DOM seperti yang disarankan oleh jawaban lain, itu tidak masih berfungsi (Video tidak diputar otomatis) di Chrome untuk Android (Versi 56.0).Sesuai posting ini di developers.google.com , Dari Chrome 53, opsi putar otomatis dihormati oleh browser, jika video dibungkam .
Jadi, menggunakan
autoplay muted
atribut dalam tag video memungkinkan video diputar otomatis di browser Chrome dari versi 53.Kutipan dari tautan di atas:
sumber
muted
danautoplay
melakukan trik. Terima kasih!Kebetulan Safari dan Chrome di Desktop tidak menyukai manipulasi DOM di sekitar tag video. Mereka tidak akan mengaktifkan urutan pemutaran saat atribut putar otomatis disetel meskipun peristiwa canplaythrough telah diaktifkan saat DOM di sekitar tag video telah berubah setelah pemuatan halaman awal. Pada dasarnya saya memiliki masalah yang sama sampai saya menghapus .wrap () jQuery di sekitar tag video dan setelah itu diputar otomatis seperti yang diharapkan.
sumber
.get(0)
atau hanya$('#vid')[0].play()
Anda bisa cek disini
jadi tambahkan saja dibungkam
sumber
Bagi saya masalahnya adalah
muted
atribut itu perlu ditambahkan di dalamvideo
tag. Yaitu:sumber
Chrome tidak mengizinkan pemutaran otomatis video dengan suara aktif, jadi pastikan untuk menambahkan
muted
atribut kevideo
tag seperti inisumber
Saya baru saja mendapatkan masalah yang sama dengan video saya
Setelah pencarian, saya menemukan solusi:
Jika saya menyetel atribut "preload" ke "true", video akan dimulai secara normal
sumber
Menambahkan kode di bawah ini di bagian bawah halaman berhasil untuk saya. Saya tidak tahu mengapa itu berhasil :(
sumber
sumber
var video = document.querySelector('video'); video.muted = true; video.play()
Hanya solusi ini yang membantu saya,
<video autoplay muted ...>...</video>
tidak berhasil ...sumber
Tidak ada jawaban lain yang berhasil untuk saya. Solusi saya adalah memicu klik pada video itu sendiri; hacky (karena waktu tunggu yang diperlukan) tetapi berfungsi dengan baik:
sumber
Kami baru-baru ini mengatasi masalah serupa dengan video tersemat dan menemukan bahwa atribut autoplay dan tanpa suara tidak cukup untuk penerapan kami.
Kami menambahkan atribut "playsinline" ketiga ke kode dan memperbaiki masalah untuk pengguna iOS.
Perbaikan ini khusus untuk video yang akan diputar secara inline. Dari https://webkit.org/blog/6784/new-video-policies-for-ios/ :
Di iPhone, elemen sekarang akan diizinkan untuk diputar sebaris, dan tidak akan secara otomatis memasuki mode layar penuh saat pemutaran dimulai. elemen tanpa atribut playsinline akan terus membutuhkan mode layar penuh untuk pemutaran di iPhone. Saat keluar dari layar penuh dengan gerakan mencubit, elemen tanpa garis putar akan terus diputar sebaris.
sumber
Google memperbarui Kebijakan Putar Otomatis. Putar otomatis hanya berfungsi pada mode bisu. Periksa tautan https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
sumber
Coba ini:
Ini adalah cara saya biasanya melakukannya. loop, kontrol, dan putar otomatis tidak memerlukan nilai karena merupakan atribut boolean.
sumber
Ini karena sekarang chrome mencegah pemutaran otomatis di video html5, jadi secara default mereka tidak mengizinkan pemutaran otomatis. jadi kita bisa mengubah pengaturan ini menggunakan pengaturan bendera chrome. ini tidak mungkin untuk kasus normal jadi saya telah menemukan solusi lain. ini bekerja dengan sempurna ... (tambahkan preload = "auto")
sumber
Menghabiskan dua jam mencoba semua solusi yang disebutkan di atas.
Inilah yang akhirnya berhasil untuk saya:
sumber
Pada Safari Iphone saat mentega hampir habis dan iphone dalam Mode Daya Rendah, iPhone tidak akan diputar otomatis, meskipun Anda memiliki atribut berikut: putar otomatis, putar, diredam, putarinline yang disetel pada tag html video Anda.
Berjalan-jalan Saya menemukan berfungsi adalah memiliki acara gerakan pengguna untuk memicu pemutaran video:
Anda dapat membaca lebih lanjut tentang gerakan pengguna dan Kebijakan Video untuk iOS di situs webkit:
https://webkit.org/blog/6784/new-video-policies-for-ios/
sumber
Saya punya kasus di mana itu ada hubungannya dengan urutan tipe file yang berbeda. Cobalah untuk mengubahnya dan lihat apakah itu membantu.
sumber
Saya mulai dengan memutar semua video yang terlihat, tetapi ponsel lama tidak bekerja dengan baik. Jadi sekarang saya memutar satu video yang paling dekat dengan bagian tengah jendela dan menghentikan sisanya. Vanilla JS. Anda dapat memilih algoritme mana yang Anda sukai.
sumber
Saya memecahkan masalah yang sama dengan,
Anda harus meluncurkan video setelah halaman ditampilkan.
sumber
Coba tukar
autoPlay
denganautoplay
.Tampaknya terkadang peka huruf besar / kecil. Sangat aneh karena berhasil
autoplay
bagi saya, tetapi hanya jika saya termasukcontrols
sumber