天天看點

[andriod學習筆記] 視訊播放器的開發

最近才開始上手android項目開發,工作任務是開發一個适合公司業務的播放器,是以就有了下文:

查閱資料:目前現有的方式有三種

1.系統自帶的,這個忽略不參與讨論

2.VideoView,這個也是我最開始使用的方法,但是發現不夠靈活,它是一個封裝好了,可以快速使用的一個方法。

官方的文檔說明:VideoView

3.使用MediaPlayer類和SurfaceView來實作,這種比較靈活,因為公司業務需要,使用了 TextureView

官方文檔說明:TextureView

Unlike SurfaceView, TextureView does not create a separate window but behaves as a regular View. This key difference allows a TextureView to be moved, transformed, animated, etc. For instance, you can make a TextureView semi-translucent by calling myView.setAlpha(0.5f).

這也是為什麼我使用後者的原因,後者可以擴充更多的功能。

在這深入這3個步驟的同時,所碰到的幾個坑:

使用的videoView,會經常碰到提示“不支援目前視訊的播放”,後來又查閱官方文檔:

[andriod學習筆記] 視訊播放器的開發

這裡隻貼出視訊部分,更相信的請查閱官網:所支援的音視訊格式 , 開始我也認定是視訊格式的問題,用格式工廠對有問題的視訊反複重新編碼,還是不支援,後來索性把網絡視訊弄到本地播放,發現有部分可以支援播放了。。換了幾台機測試,問題差不多,這個對網絡視訊支援有問題?請高人指點。。。

因為業務需要對視訊再做編輯,是以采取了更靈活的textureView,還是用上述的代碼,隻是做小量的修改,奇迹發生了,網絡和本地視訊都很完美支援。。網上查資料,沒有具體的資料讨論二者,有機會再深入研究下,現在還是學習的初級階段,歡迎有類似問題的朋友參與讨論