Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android MediaPlayer视频播放与活动的生命周期互动_Android_Video_Android Activity_Android Mediaplayer - Fatal编程技术网

Android MediaPlayer视频播放与活动的生命周期互动

Android MediaPlayer视频播放与活动的生命周期互动,android,video,android-activity,android-mediaplayer,Android,Video,Android Activity,Android Mediaplayer,在Android设备上,当使用MediaPlayer播放带有显示屏的视频文件时,我应该在什么时间释放并重新创建一个新的MediaPlayer实例以继续播放 对于onPause/onResume案例,我发现了一些示例代码,它们要么重新创建mediaPlayer,要么暂停->搜索到保存的位置->开始继续播放。当活动刚刚暂停时,似乎没有必要重新创建MediaPlayer。不管内存问题,只要考虑回放的正确性。 对于onStop/onStart案例,如果我仍然不重新创建MediaPlayer实例,而只是使

在Android设备上,当使用MediaPlayer播放带有显示屏的视频文件时,我应该在什么时间释放并重新创建一个新的MediaPlayer实例以继续播放

对于onPause/onResume案例,我发现了一些示例代码,它们要么重新创建mediaPlayer,要么暂停->搜索到保存的位置->开始继续播放。当活动刚刚暂停时,似乎没有必要重新创建MediaPlayer。不管内存问题,只要考虑回放的正确性。

对于onStop/onStart案例,如果我仍然不重新创建MediaPlayer实例,而只是使用旧的实例,我会遇到一个问题,即视频无法在我当前的测试设备上播放,即Android版本为4.4的HTC new one。详情如下:

当活动停止时,我暂停MediaPlayer,但不释放它。当活动开始时,我检查MediaPlayer,发现其视频位置/持续时间仍然正确,但当我开始播放时,我从MediaPlayer收到错误消息,并显示播放结果不好的黑屏:

MediaPlayer: error (1, -2147483648)
MediaPlayer: Attempt to perform seekTo in wrong state: mPlayer=0x7a331240, mCurrentState=0
MediaPlayer: error (-38, 0)
如果我想在活动的onStop/onStart生命周期内保持MediaPlayer,那么它似乎没有处于正确的状态。在这种情况下是否需要重新创建MediaPlayer?或者我可以通过更多操作正确恢复MediaPlayer吗