重置播放器&重新播放
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()