如何使用VideoView播放视频、暂停播放、停止播放? 如何使用MediaPlayer+SurfaceView播放视频、暂停播放、停止播放?
时间: 2023-12-03 20:04:52 浏览: 121
好的,关于使用VideoView播放视频,您可以按照以下步骤进行操作:
1. 首先,在布局文件中添加一个VideoView控件,如下所示:
```
<VideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
```
2. 在代码中,找到该控件并设置需要播放的视频文件路径,如下所示:
```
VideoView videoView = findViewById(R.id.videoView);
videoView.setVideoPath("视频文件路径");
```
3. 如果需要暂停播放,可以调用VideoView的pause()方法,如下所示:
```
videoView.pause();
```
4. 如果需要停止播放,可以调用VideoView的stopPlayback()方法,如下所示:
```
videoView.stopPlayback();
```
关于使用MediaPlayer SurfaceView播放视频,您可以按照以下步骤进行操作:
1. 在布局文件中添加一个SurfaceView控件,如下所示:
```
<SurfaceView
android:id="@+id/surfaceView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
```
2. 在代码中,找到该控件并创建MediaPlayer对象,并设置需要播放的视频文件路径和SurfaceHolder的回调方法,如下所示:
```
SurfaceView surfaceView = findViewById(R.id.surfaceView);
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("视频文件路径");
mediaPlayer.setDisplay(surfaceView.getHolder());
surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
@Override
public void surfaceCreated(SurfaceHolder surfaceHolder) {
mediaPlayer.prepareAsync();
}
@Override
public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {
}
@Override
public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
}
});
```
3. 如果需要暂停播放,可以调用MediaPlayer的pause()方法,如下所示:
```
mediaPlayer.pause();
```
4. 如果需要停止播放,可以调用MediaPlayer的stop()方法,并释放MediaPlayer对象,如下所示:
```
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer = null;
```
阅读全文