1. 程式人生 > >Android開發之使用VideoView播放視訊

Android開發之使用VideoView播放視訊

     Android提供了 VideoView元件,它的作用與ImageView類似,只是ImageView用於顯示圖片,而VideoView用於播放視訊。

使用VideoView播放視訊的步驟如下:

1)        在介面佈局檔案中定義VideoView元件,或在程式中建立VideoView元件。

2)        呼叫VideoView的如下兩個方法來載入指定視訊。

setVideoPath(String path):載入 path 檔案所代表的視訊。

setVideoURI(Uri uri):載入uri所對應的視訊。

3)        呼叫VideoView的start()、stop()、pause()方法來控制視訊播放。

       實際上與VideoView—起結合使用的還有一個MediaController類,它的作用是提供一個友好的圖形控制介面,通過該控制介面來控制視訊的播放。

下面的程式示範瞭如何使用VideoView來播放視訊:

public class VideoViewDemo extends Activity {
         VideoView videoView;
         //建立一個MediaController的物件用於控制視訊的播放
         MediaController mediaController;
         @Override
         protected void onCreate(Bundle savedInstanceState) {
                   super.onCreate(savedInstanceState);
                   getWindow().setFormat(PixelFormat.TRANSLUCENT);
                   setContentView(R.layout.main);
                   //獲取介面上的VideoView元件
                   videoView=(VideoView)findViewById(R.id.videoView);
                   //初始化mediaController
                   mediaController=new MediaController(this);
                   //將videoView與mediaController建立關聯
                   videoView.setMediaController(mediaController);
                   //將mediaController與videoView建立關聯
                   mediaController.setMediaPlayer(videoView);
                   File vFile=new File("/mnt/sdcard/meitianyifenzhong.3gp");
                   if (vFile.exists()) {//如果檔案存在
                            videoView.setVideoPath(vFile.getAbsolutePath());
                            //讓videoView獲得焦點
                            videoView.requestFocus();
                   }                
         }
}

佈局介面:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <VideoView android:id="@+id/videoView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout> 

程式執行效果圖:

使用VideoView播放視訊

如圖所示:介面中快進鍵、暫停鍵、後退鍵,以及播放進度條就是由MediaPlayerController所提供的。

提示:VideoView只能播放標準的MP4、3GP檔案,其它格式的檔案將無法播放。