旋转时如何在Fragment中保留VideoView?

3

我有一个包含两个片段(一个 SlidingMenu 和一个带有控件和其他视图的 VideoPlayer)的活动。

当我旋转设备时,如何保留视频播放状态?该视频是 HLS 流,因此旋转时不需要重新开始缓冲。

我试着在 savedInstanceState 中启动播放,但无法使其正常工作。

1个回答

2

如果您在不同屏幕方向上使用相同的资源,您可以防止片段重新创建

如果您需要重新创建片段,您可以存储播放进度,并在重新创建后将视频滚动到存储的位置。

@Override
protected void onPause() {
    ...
    if(playbackWasStarted) {
        video.pause();
        videoProgress = video.getCurrentPosition();
    }
    ...
}

@Override
protected void onResume() {
    ...
    if(playbackWasStarted && videoProgress!=0) {
        video.seekTo(videoProgress);
        video.start();
    }
    ...
}

编辑 噢,我没有注意到这个问题非常老旧...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接