Android开发之使用VideoView播放视频

时间:2023-03-08 15:33:28
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>

程序执行效果图:

Android开发之使用VideoView播放视频

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

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