我实现了一个嵌入了视频播放器的电子阅读器,我需要一个从播放器切换全屏模式的选项。
我的问题如下:
这是全屏播放视频并让用户从该状态返回到他之前正在阅读的页面并保持视频的当前时间的最佳方式。
我需要处理的另一个复杂情况是:
纵向和横向页面有不同的可视化,如果用户在纵向切换全屏并旋转设备,视频应该进入横向模式并重新调整视频以适应屏幕,但如果用户从这个页面返回,他应该再次返回纵向。
如果需要,我可以提供更多信息。提前致谢
我实现了一个嵌入了视频播放器的电子阅读器,我需要一个从播放器切换全屏模式的选项。
我的问题如下:
这是全屏播放视频并让用户从该状态返回到他之前正在阅读的页面并保持视频的当前时间的最佳方式。
我需要处理的另一个复杂情况是:
纵向和横向页面有不同的可视化,如果用户在纵向切换全屏并旋转设备,视频应该进入横向模式并重新调整视频以适应屏幕,但如果用户从这个页面返回,他应该再次返回纵向。
如果需要,我可以提供更多信息。提前致谢
我可以推荐在布局中使用Activity
with 。VideoView
您可以像这样保存方向更改的位置
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
if (mVideoView.isPlaying()) outState.putInt("pos", mVideoView.getCurrentPosition());
}
然后在 onCreate 方法中恢复位置并继续播放
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.video);
mVideoView = (VideoView) findViewById(R.id.video);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(mVideoView);
mVideoView.setMediaController(mediaController);
mVideoView.setOnCompletionListener(this);
Intent intent = getIntent();
path = intent.getExtras().getString("path");
int pos = 0;
if (savedInstanceState != null) {
pos = savedInstanceState.getInt("pos");
}
playVideoFromPos(pos);
}