3分钟
6.4 相关知识
相关知识
MediaPlayer主要用于播放音频,它是没有提供输出图像的输出界面,因此需要使用SurfaceView控件将它与MediaPlayer结合起来,从而达到视频的输出效果。
SurfaceView是视图控件类View的字类,因此它也属于UI控件。该控件中内嵌了一个专门用于绘制图像的Surface区域。它是一块屏幕缓冲区域,可以在上面绘制View及其子类。用户通过SurfaceView控制该Surface的位置。可以通过SurfaceHolder接口访问Surface,获取该接口需要在SurfaceView中调用getHolder()方法。SurfaceHolder.Callback用来实现接口,以接收surface变化的消息。
Android API中还提供了一个专门用于视频播放的类VideoView,它是SurfaceView的子类,封装了MediaPlayer中对于播放进度及状态控制的各种方法。通过它可以直接在界面中建立一个用于播放视频的控件,使用时只需直接创建VideoView对象即可。
一个使用Videoview实现的视频播放器的代码如下所示:
public class VideoViewPlayerActivity extends Activity {
@override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.video_view_player);
VideoView videoView=(VideoView)findViewById(R.id.videoView1);
//指定需要播放的视频的地址
videoView. setVideoURI(Uri.parse(“android.resource://”+getPackageName()+"/"+R.raw.video));
//设置播放器的控制条
videoView. setMediaController (new MediaController(this));
//开始播放视顺
VideoView.start ();
}
}
学员评价