對於和我同樣菜逼前端,不會 java 原生安卓的人,玩 flutter 真的好痛苦的說。前端
今天就談談我遇到的 flutter 播放器的問題java
1:flutter 自帶的 video_player,以及 video_player 的孫子們( chewie,betterplayer,yoyo-player,等等)(不推薦使用)git
市面上主流的大概是 video_player 和她的衍生品,可是這類播放器有幾個要命的問題,1:video_player 自己對於分段源 m3u8 的播放很是不友好,典型的問題就是某個分段在忽然網絡有點很差的狀況下請求失敗,會致使 video_player 直接播放失敗,貌似不會去重複請求,有常常下載 m3u8 視頻的朋友們確定知道,在下載的時候,太多的切片,總有那麼一兩個小片是會偶爾超時一下,那麼使用 video_player 播放就是炸胡,(播放到一半忽然出現播放失敗)github
2:編譯原生播放器到 flutter 使用網絡
這一類典型的表明就是 fijkplayer,flutter_ijkplayer 。這兩個播放器差很少,前者 fijkplayer 做者維護的更勤一些。不過前者 fijkplayer 做者注重播放器性能和 bug 修復,皮膚和基本使用上的完善做者但願用戶自行解決,說白話就是你本身去寫皮膚和手勢那些,會增長時間,新人使用不是很友好 flutter_ijkplayer 做者上一次提交代碼好像是 3 月份的時候,差很少挺久了,文檔貌似不全,好處是皮膚有自帶的,至於想自定義皮膚,只能徹底參考源碼。好處是自帶有手勢拖動快進,快退app
3:原生播放器與 flutter 交互(我也不知道應該怎麼算這類播放器,沒辦法,我菜逼新人)
典型表明 flutter_tencentplayer,這款播放器,是我目前見過 flutter 這邊能找到能用的最好的一款了,功能方面都很好,手勢拖動都有。壞處是,文檔說明不全(指的是新手用),要看源碼找下。也不知道是我太菜,仍是什麼緣由我我的使用的時候,沒有成功的時候,說人話就是我不會用這個播放器,也沒辦法打包,報錯哇哇的,解決不了。 不過我見過別人成功使用 flutter_tencentplayer 打包的 app,確實效果很好。 缺點,可能上手不是很容易,打包文檔方面,反正我不會。不能在模擬器預覽貌似,只能真機ide
在繞了一圈以後,差很少一年過去了,播放器這些也沒什麼變化,仍是那樣 最後我選擇了 fijkplayer,可是 fijkplayer 沒有手勢快進,皮膚也就那樣。據做者 github 說是有打算弄,可是一年過去了也沒看到,沒辦法本身瞎逼改了改,出來個包,是個 fijkplayer 的簡單皮膚, 功能上就是美化了下播放器 ui,加入了手勢滑動快進快退,本來打算也加入上滑下滑操做亮度和音量的,可是發現做者文檔說修改音量須要修改 java 原生入口文件,因此就放棄了。性能
皮膚地址 https://github.com/abcd498936590/fijkplayer_skinui