MediaPlayer:在状态4中停止调用

NPi*_*ike 6 android android-mediaplayer

我的活动有一个异步准备视频的VideoView:

Uri mUri = "uri to streaming video"
VideoView mVideoView = (VideoView) rootView.findViewById(R.id.videoView);
mVideoView.setOnErrorListener(this);
mVideoView.setOnCompletionListener(this);
mVideoView.setVideoURI(mUri);
mVideoView.setMediaController(null);

mVideoView.setOnPreparedListener(this);
Run Code Online (Sandbox Code Playgroud)

当它正在"准备"时,我会显示一个ProgressDialog ...如果我在此状态下按下后退按钮,则会向ADB打印以下错误,并且活动会在黑屏上等待一小段时间静默崩溃:

E/MediaPlayer( 2204): stop called in state 4
E/MediaPlayer( 2204): error (-38, 0) 
W/ActivityManager(   59): Activity pause timeout for HistoryRecord{45080368 com.myapp.VideoPlayerActivity}
Run Code Online (Sandbox Code Playgroud)

阻止VideoView准备视频以便退出活动的最佳方法是什么?

注意:在调用正在准备的视频的回调之前,我无权访问实际的MediaPlayer对象:

@Override
public void onPrepared(MediaPlayer player)
Run Code Online (Sandbox Code Playgroud)

...当MediaPlayer/VideoView正在"准备"时没有发生.

tid*_*eck 2

我没有亲自测试过,但当reset()您处于准备状态时,您应该能够使用 MediaPlayer。