首页 > 代码库 > 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> 


程序执行效果图:

技术分享

如图所看到的:界面中快进键、暂停键、后退键,以及播放进度条就是由MediaPlayerController所提供的。

提示:VideoView仅仅能播放标准的MP4、3GP文件。其他格式的文件将无法播放。

Android开发之使用VideoView播放视频