我可以推薦使用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