視頻播放有3種解決方案,使用HTML5的自帶video、從HBuilder9.1.3起新增的plus.video的原生視頻播放,以及使用Native.js。html
HTML5自帶video標籤,能夠播放符合HTML5規範的視頻格式。
注意不含flv、ra等三方商業公司的規範格式。
HTML5的video在Android上有較多瀏覽器兼容性問題,這裏有篇網友分享的經典文章講述了HTML5 video的使用注意,強烈推薦觀看。
http://ask.dcloud.net.cn/article/569
注意事項,Android上使用video標籤播放視頻時,務必打開硬件加速,不然只有聲音沒有畫面。
HBuilder8.8.4之前的版本,在Android5的部分rom上是默認關閉硬件加速的,此時需強制打開硬件加速。建立webview時style裏有個hardwareAccelerated參數,設置爲true。
硬件加速的詳解參考文檔http://ask.dcloud.net.cn/article/55
視頻全屏播放時有時不能自動橫屏最大化,參考http://ask.dcloud.net.cn/article/1077
HTML5自帶video,若是想實現手勢拖動進度,這裏有篇參考文章http://ask.dcloud.net.cn/article/13263,但受限於HTML5的性能,拖動沒法流暢跟手。
iOS的視頻播放,使用uiWebview和wkWebview有不一樣效果,wkWebview的視頻播放自帶AirPlay功能,能夠直接鏈接電視。但須要注意wkWebview和uiWebview的差別,詳見http://ask.dcloud.net.cn/article/1318html5
plus.video的原生視頻
不少開發者對於HTML5自帶視頻有幾處不滿:
a) 支持格式不豐富,好比flv
b) 全屏後手勢拖動不流暢,不能順滑的拖動進度和音量、亮度
在開發者提供直播推流時,5+引擎引入了專業視頻解碼庫,也就順便提供了plus.video的原生視頻播放能力。
但plus.video的原生視頻播放會增長很多包體積,須要開發者本身平衡好需求。
5+App裏原生視頻控件須要使用js建立,參考http://www.html5plus.org/doc/zh_cn/video.html
uni-app裏的video組件,默認不是HTML的video,默認就是原生video。
使用原生video注意它的層級較高,覆蓋原生控件,在5+app裏使用plus.nativeObj.view,在uni-app裏使用cover-view或plus.nativeObj.view均可以。web
除了HTML5的video,開發者也能夠在Android上使用Native.js調用系統播放器來放視頻。
但視頻的播放進度等狀態沒法回傳給js層。
參考http://ask.dcloud.net.cn/question/614瀏覽器