鍍金池/ 問(wèn)答/HTML5  HTML/ 移動(dòng)端 HTML5 video 視頻兼容性問(wèn)題

移動(dòng)端 HTML5 video 視頻兼容性問(wèn)題

PS:不是伸手黨問(wèn)題

最近在做一個(gè)移動(dòng)端頁(yè)面的視頻播放的時(shí)候遇到些問(wèn)題。

1、自動(dòng)播放

IOS本身是禁止自動(dòng)播放的,需要由用戶手動(dòng)觸發(fā),IOS 微信瀏覽器中可以借助 jssdkwx.ready(()=>{}) 里面進(jìn)行自動(dòng)播放去實(shí)現(xiàn),但是這種方法在安卓微信上有失效了。(安卓現(xiàn)在還在用X5核?)

有沒(méi)有比較兼容的解決方案?

2、全屏或響應(yīng)式問(wèn)題

我遇到的這個(gè)問(wèn)題主要是在全屏的時(shí)候,會(huì)加載系統(tǒng)原生的 controls,可以隱藏,但是又無(wú)法觸發(fā) ended事件后隱藏掉播放畫(huà)面,必須由用戶主動(dòng)關(guān)閉才行。這個(gè)也有些難受。

3、canplay 和 canplaythrough 都無(wú)法觸發(fā)

在測(cè)試的時(shí)候發(fā)現(xiàn),由于IOS的限制,這兩個(gè)時(shí)間包括很多事件都是失效的或者視頻播放了才有效果。包括 readyState

如果要借助 canplaythrough 有什么兼容性的方案嗎?

4、video.js

這個(gè)問(wèn)題有點(diǎn)伸手。

video.js 試了試但是感覺(jué)龐大了,而且也不是特別好用,經(jīng)常白屏。

如果只是移動(dòng)端上的視頻兼容性方案,是否有更好的替代庫(kù)?

回答
編輯回答
蔚藍(lán)色

我也是做了很多這個(gè),你的問(wèn)題是沒(méi)有辦法解決的??梢越o你個(gè)確切結(jié)論。
1, 在ios里,如果你是想在自己應(yīng)用的webview里讓自動(dòng)播放,這可以做,在給webview設(shè)置屬性時(shí),有這個(gè)屬性,你可以百度‘ios的webview里讓視頻自動(dòng)播放’,會(huì)找到答案的。

如果是其他情況下,也就是借助微信JSSJDK可以。其他環(huán)境都不能夠自動(dòng)播放,因?yàn)閟afari,默認(rèn)是不允許自動(dòng)播放的。
2. 在安卓端,X5內(nèi)核是不允許自動(dòng)播放的(安卓微信用的X5內(nèi)核)。其他內(nèi)核你可以試試的。
2017年6月17日 18:20
編輯回答
糖果果

第二個(gè)問(wèn)題,如果是在X5內(nèi)核上,也就是手Q微信內(nèi),可以用這個(gè)解決 :H5同層播放器接入規(guī)范
問(wèn)題一和三基本無(wú)解,video.js不太適用國(guó)內(nèi)各種瀏覽器內(nèi)核環(huán)境

2017年7月17日 16:09