我想播放两个视频。第一个视频总是可以正常播放。在它结束后,你可以在日志中看到它设置了新的视频URL,但是SurfaceView会抛出一个错误,并且VideoView只会冻结在第一个视频的最后一帧,什么也不会发生。有什么想法吗?谢谢!
更新:令人惊讶的是,OnPreparedListener会为第二个视频调用。
更新2:有时第二个视频可以正常播放,有时不能...而我在代码中没有改变任何内容。这完全是随机的...
更新3:解决方案是在设置新的视频URL之前添加以下行:
更新:令人惊讶的是,OnPreparedListener会为第二个视频调用。
更新2:有时第二个视频可以正常播放,有时不能...而我在代码中没有改变任何内容。这完全是随机的...
更新3:解决方案是在设置新的视频URL之前添加以下行:
mVideoView.setVisibility(View.GONE);
OnCompletionListener代码:
setCurrentPlaybackUrl(); // sets mCurrentMediaUrl to the second video URL
mVideoView.setVideoPath(mCurrentMediaUrl);
mVideoView.start();
第一个视频播放完成后,以下是日志输出:
10-22 12:32:35.762: I/AwesomePlayer(126): setDataSource_l('https://xx/TestingVideo_lo.mp4')
10-22 12:32:35.762: E/BufferQueue(123): [SurfaceView] connect: already connected (cur=3, req=3)
10-22 12:32:35.762: E/MediaPlayerService(126): setVideoSurfaceTexture failed: -22
10-22 12:32:35.762: E/BufferQueue(123): [SurfaceView] connect: already connected (cur=3, req=3)
10-22 12:32:35.762: E/MediaPlayerService(126): setVideoSurfaceTexture failed: -22