最近在學習視頻相關的知識,現在也是在按部就班的一步步的來,如果有同樣需求的同學可以跟著大家一起促進學習。 上一節說到了可以使用系統播放器以及瀏覽器播放本地以及網路視頻,但是這在很大程度上並不能滿足我們的需求,幸好,android系統為我們提供了一個很方便的系統API——VideoView,來支持我們 ...
最近在學習視頻相關的知識,現在也是在按部就班的一步步的來,如果有同樣需求的同學可以跟著大家一起促進學習。
上一節說到了可以使用系統播放器以及瀏覽器播放本地以及網路視頻,但是這在很大程度上並不能滿足我們的需求,幸好,android系統為我們提供了一個很方便的系統API——VideoView,來支持我們進行更加方便的操作。
VideoView提供了不錯的API支持,提供了視頻播放的基本方法,主要方法如下:
start():開始播放
pause():暫停播放
resume():恢復
getDuration():獲取視頻的長度
getCurrentPosition():獲取當前播放的位置
seekTo(int msec):單位毫秒,跳轉到對應位置
isPlaying():是否正在播放
setVideoURI(Uri uri):設置播放源
setVideoPath(String path):設置播放源
setOnPreparedListener(MediaPlayer.OnPreparedListener l):監聽視頻資源裝載完成
setOnCompletionListener(OnCompletionListener l):監聽視頻播放完成
setOnErrorListener(OnErrorListener l):監聽視頻播放出錯
當然,這些都是關於視頻播放的基本操作,android系統還提供了相應的視頻控制API——MediaControllder,將其與VideoView結合就可以對視頻播放進行控制,調用
VideoView.setMediaController(MediaController controller)即可,這樣可以控制視頻播放、暫停、快進、快退、上一個、下一個以及拖動快進等等功能,關於MediaController有倆個方法比較重要:
isShowing():控制欄是否顯示
setPrevNextListeners(View.OnClickListener next, View.OnClickListener prev):上一個下一個監聽器
其中有一個細節是預設情況下上一個、下一個按鈕是隱藏的,只有設置了上一個下一個監聽器之後才顯示,看源碼可知:
必須設置了相應的監聽器才會顯示。
以下是VideoView使用的小案例:
借鑒:http://www.jianshu.com/p/98a10353494c