萬盛學電腦網

 萬盛學電腦網 >> 網絡基礎知識 >> Android提高第二十一篇之MediaPlayer播放網絡視頻

Android提高第二十一篇之MediaPlayer播放網絡視頻

main.xml的源碼如下:

Player.java是本文的核心,Player.java實現了“進度條更新”、“數據緩沖”、“SurfaceHolder生命周期”等功能,其中“SurfaceHolder生命周期”是視頻與音頻播放的最大區別,通過surfaceCreated()、surfaceDestroyed()、surfaceChanged()可以創建/釋放某些資源。下面這個地方需要注意一下:

有些視頻是android播放器不能播放的,不能播放時videoHeight=0,videoWidth=0,以此來判斷是否播放視頻。

Player.java源碼如下:

test_videoplayer.java是主程序,負責調用Player類,其中關鍵部分是SeekBarChangeEvent這個SeekBar拖動的事件:SeekBar的Progress是0~SeekBar.getMax()之內的數,而MediaPlayer.seekTo()的參數是0~MediaPlayer.getDuration()之內數,所以MediaPlayer.seekTo()的參數是(progress/seekBar.getMax())*MediaPlayer.getDuration()。

test_videoplayer.java源碼如下:

 

copyright © 萬盛學電腦網 all rights reserved