安卓TV開發之實現原生播放器

安卓有很多第三方的播放器,比如最強大的ijkPlayer和最全能的Vitamio播放器,如果是手機APP開發,可以直接拿過來用。但是TV APP開發不行,因爲電視盒子的高定製性,兼容性很差,比手機上差很多,這個是我在20+盒子上測試的結果。這中間各種調試,各種參數修改,按下葫蘆浮起瓢,經歷了無數的噩夢。

最後,不得已,只好抱着試一試的態度,實現原生的播放器。結果在所有盒子上,完美適配,簡直了。後來才知道,盒子裏的芯片在視頻播放這塊做了修改和增強,所以調用系統原生API實現的播放器反而兼容性更好。

其實實現原生的播放器並不難,VideoView和MediaPlayer+SurfaceView這兩中方式都可以。VideoView實現更簡單,MediaPlayer+SurfaceView功能更強大,這裏選擇後者。

雖然調用系統API實現原生播放器來播放一個視頻很簡單,但是一個離比較完善的播放器還是很遠。除了基本的播放,還有顯示很多信息,包括當前播放時間,總時間,播放進度條,緩衝進度條,播放/暫停,快進/快退,已經最後的封裝等。還有其他細節,比如加載視頻前幾秒最好不要快進/快退操作,進度條隱藏/顯示的控制。

先看實現效果:

工程結構比較簡單,只有一個主類調用工具類。核心目錄如下:

 

 

 

源碼地址:

https://download.csdn.net/download/zhangxiangliang2/10679353

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章