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文件,其它格式的文件将无法播放。