Page History

Player_reset

Last edited by 谷俊

重置播放器&重新播放

1.1使用场景

1.1.1 onError或者onCompletion回调
2.1.2 播放一个新视频

1.2方法

可根据实际情况选择使用以下方法,需要注意的是,reload接口没有清屏的功能

1.2.1 使用reload
1.2.2 重置播放器(重连)

1.3清屏

在播放新的视频时,部分用户希望清除屏幕内容,屏幕变为黑屏,可以使用播放器提供的reset接口,具体例子如下所示:

SurfaceHolder mSurfaceHolder; // 在SurfaceChanged时保存SurfaceHolder
mMediaPlayer.reset();
mMediaPlayer.setDataSource(mUrl);
mMediaPlayer.prepareAsync();
mMediaPlayer.setDisplay(mSurfaceHolder); // 非常重要,reset之后需重新设置SurfaceHolder,播放器才能渲染
// 在onPrepared回调里
mMediaPlayer.start()

1.4不清屏

部分用户只是重连,不需要清屏,可以使用播放器提供的softReset接口,例子如下所示:

SurfaceHolder mSurfaceHolder; // 在SurfaceChanged时保存SurfaceHolder
mMediaPlayer.softReset();
mMediaPlayer.setDataSource(mUrl);
mMediaPlayer.prepareAsync();
mMediaPlayer.setDisplay(mSurfaceHolder); // 非常重要,reset之后需重新设置SurfaceHolder,播放器才能渲染

mMediaPlayer.start()// 在onPrepared回调里

1.5播放新的视频

// 释放播放器
mMediaPlayer.release();
mMediaPlayer = null;

// 创建播放器
mMediaPlayer=new MediaPlayer(this.getApplicationContext());
mMediaPlayer.setDataSource(mUrl);
mMediaPlayer.prepareAsync();

// 在onPrepared回调里
mMediaPlayer.start()