Saya telah membangun aplikasi web yang menggunakan tag HTML5 dan kode JavaScript yang membuat konten lain disinkronkan dengan video yang sedang berjalan. Ini berfungsi dengan baik di browser desktop: Firefox, Chrome, dan Safari. Pada iPhone atau DroidX, pemutar video asli muncul dan mengambil alih layar, sehingga mengaburkan konten dinamis lainnya yang ingin saya tampilkan secara bersamaan dengan video.
Apakah ada cara untuk mengatasi ini? Jika perlu, saya akan mencari cara menulis aplikasi asli untuk kedua platform tersebut, tetapi itu akan menghemat banyak upaya jika saya bisa tetap menggunakan HTML5 / JavaScript.
Jawaban:
Di iOS 10+
Apple mengaktifkan atribut
playsinline
di semua browser di iOS 10, jadi ini berfungsi dengan mulus:Di iOS 8 dan iOS 9
Jawaban singkat: gunakan iphone-inline-video , ini memungkinkan pemutaran inline dan menyinkronkan audio.
Jawaban panjang: Anda dapat mengatasi masalah ini dengan mensimulasikan pemutaran dengan membaca sekilas video alih-alih benar-benar
.play()
melakukannya.sumber
Ada properti yang mengaktifkan / menonaktifkan pemutaran media online di browser web iOS (jika Anda menulis aplikasi asli, itu akan menjadi
allowsInlineMediaPlayback
properti dari UIWebView). Secara default pada iPhone ini diatur keNO
, tetapi pada iPad itu diatur keYES
.Untungnya bagi Anda, Anda juga dapat menyesuaikan perilaku ini dalam HTML sebagai berikut:
<video id="myVideo" width="280" height="140" webkit-playsinline>
... semoga itu bisa menyelesaikannya untukmu. Saya tidak tahu apakah itu akan berfungsi pada perangkat Android Anda. Ini properti webkit, jadi mungkin saja. Layak untuk dicoba.
sumber
<preference name="AllowInlineMediaPlayback" value="true" />
Jawaban lama (berlaku hingga 2016)
Berikut ini tautan pengembang Apple yang secara eksplisit mengatakan bahwa -
pada iPhone dan iPod touch, yang merupakan perangkat layar kecil, "Video TIDAK disajikan dalam Halaman Web"
Pertimbangan Khusus Perangkat Safari
Pilihan Anda :
webkit-playsinline
atribut bekerja untuk video HTML5 di iOS, tetapi hanya bila Anda menyimpan halaman web ke layar rumah Anda sebagai webapp - Tidak jika dibuka halaman di SafariUIWebView
memungkinkan untuk memutar inline video, tetapi hanya jika Anda mengaturallowsInlineMediaPlayback
properti untukUIWebView
kelas menjadi truesumber
<preference name="AllowInlineMediaPlayback" value="true" />
Di iOS 10 beta 4.Kode yang tepat dalam HTML5 adalah
webkit-playsinline
untuk iOS <10, danplaysinline
untuk iOS> = 10Lihat detail melalui https://webkit.org/blog/6784/new-video-policies-for-ios/
sumber
Menurut halaman ini https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/Attributes.html hanya tersedia jika (Diaktifkan hanya di UIWebView dengan properti allowInlineMediaPlayback diatur ke YES. ) Saya mengerti di Mobile Safari ini YA di iPad dan TIDAK di iPhone dan iPod Touch.
sumber
Saya tidak tahu tentang Android, tetapi Safari di iPhone atau iPod touch akan memutar semua video layar penuh karena ukuran layar yang kecil. Di iPad itu akan memutar video di halaman tetapi memungkinkan pengguna untuk membuatnya layar penuh.
sumber