我有一个播放视频的简单活动。
uriStr = ("http://pathToVideo.com/video/" + yyyyMdd_Str + "/" + yyyyMdd_Str + ".mp4");
VideoView testVideo1_VV =(VideoView) findViewById(R.id.videoTest7vid_VV);
testMediaCon1_MC = new MediaController(this);
testMediaCon1_MC.setAnchorView(testVideo1_VV);
testVideo1_VV.setMediaController(testMediaCon1_MC);
testVideo1_VV.setKeepScreenOn(true);
testVideo1_VV.setVideoPath(uriStr);
testVideo1_VV.requestFocus();
testVideo1_VV.start();
在纵向布局中,视频与顶部对齐,以便在屏幕的顶部三分之一处播放,而在横向布局中,视频通过在高度和宽度上包裹内容来全屏显示。在我设置的清单android:configChanges="orientation"
中,活动不会在方向更改时刷新。但我的问题是布局不会随着方向的变化而变化。如何在方向改变时保持视频播放,同时在方向改变时获得正确的布局显示?
所以现在我认为解决方案是在播放时记录视频的位置,然后用于savedInstanceState
检索视频状态并在方向改变时从该点开始播放视频。像这样的东西:
@Override
protected void onSaveInstanceState(Bundle out) {
super.onSaveInstanceState(out);
//video state would go here
}
@Override
protected void onRestoreInstanceState(Bundle in) {
super.onRestoreInstanceState(in);
//video state would go here
}
但现在我不知道获取视频状态的代码......