我有一个包含两个片段(一个 SlidingMenu 和一个带有控件和其他视图的 VideoPlayer)的活动。
当我旋转设备时,如何保留视频播放状态?该视频是 HLS 流,因此旋转时不需要重新开始缓冲。
我试着在 savedInstanceState 中启动播放,但无法使其正常工作。
我有一个包含两个片段(一个 SlidingMenu 和一个带有控件和其他视图的 VideoPlayer)的活动。
当我旋转设备时,如何保留视频播放状态?该视频是 HLS 流,因此旋转时不需要重新开始缓冲。
我试着在 savedInstanceState 中启动播放,但无法使其正常工作。
如果您在不同屏幕方向上使用相同的资源,您可以防止片段重新创建。
如果您需要重新创建片段,您可以存储播放进度,并在重新创建后将视频滚动到存储的位置。
@Override
protected void onPause() {
...
if(playbackWasStarted) {
video.pause();
videoProgress = video.getCurrentPosition();
}
...
}
@Override
protected void onResume() {
...
if(playbackWasStarted && videoProgress!=0) {
video.seekTo(videoProgress);
video.start();
}
...
}
编辑 噢,我没有注意到这个问题非常老旧...