Android播放視頻VideoView

    上一篇是播放音頻的MediaPalyer,這一篇則是播放視頻的VideoView,其實它兩的用法,基本上是一樣。

     1、在佈局文件中,寫一個VideoView的控件。

<VideoView
    android:id="@+id/mVideoView"
    android:layout_width="match_parent"
    android:layout_height="400dp"/>
     2、在代碼中使用findViewById()找到它。

mVideoView = (VideoView) findViewById (R.id.mVideoView);
     3、給VideoView設置資源。

         方式1:

mVideoView.setVideoURI (Uri.parse ("android.resource://"+getPackageName ()+"/"+R.raw.video));
         方式2:

mVideoView.setVideoPath (Environment.getExternalStorageDirectory ()+"/download/video.mp4");
     4、播放視頻。

if (!mVideoView.isPlaying ()) {
    mVideoView.start ();
}
     5、暫停播放。

if(mVideoView.isPlaying ()){
    mVideoView.pause ();
}
     6、停止播放。

if(mVideoView!=null && mVideoView.isPlaying ()){
    mVideoView.stopPlayback ();
}
     7、重新播放。

if(mVideoView!=null){
    mVideoView.resume ();
}
     8、釋放資源。

if (mVideoView != null) {
    mVideoView.suspend ();
}
        注意:在佈局文件中,我設置VideoView的寬度是match_parent,可播放時發現,VideoView的寬度並沒有充滿父窗體,在網上找了資料說是要,重寫VideoView的onMeasure()方法。

@Override
protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec) {
    int width = getDefaultSize (0, widthMeasureSpec);
    int height = getDefaultSize (0, heightMeasureSpec);
    setMeasuredDimension (width,height);
}
        其它幾個重要的方法:

        getCurrentPosition()   獲取當前視頻播放位置。

        getPosition()               獲取載入的視頻文件時長。

        isPlaying                     是否正在播放。   

發佈了78 篇原創文章 · 獲贊 7 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章