我可以推荐使用Activity
与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);
}
其实,最大的问题是关于从页面移除旧videoview和通过方向变化保持状态一致。 (不重新创建背景活动) – 2012-07-11 15:15:19
好的,我们得到了mVideoView.getCurrentPosition(),以便如何将视频设置为此值。而主要问题是要花时间播放多少视频并将其设置为 – Sameer 2012-12-15 07:37:22
'mVideoView.getCurrentPosition()'会告诉你播放了多少视频,并将其保存到'outState'。然后在'onCreate'中检查'savedInstanceState'是否有这个节省的时间。在'playVideoFromPos(int pos)'方法中,你可以调用'mVideoView.seekTo(pos);'和'mVideoView.start();'。这将做你需要的。 – vasart 2012-12-15 08:23:04