我写了一段代码来播放我网站上的视频。
它工作正常,但当我旋转手机时,视频会从头开始重新播放。
我该如何解决这个问题?
public class ActivityVideoDetail extends Activity {
private VideoDetail videoDetail;
private TextView txtResult;
// -------------------------
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_activity_video_detail);
if (savedInstanceState != null)
{
}
else {
ini();
}
}
// -------------------------
private void ini() {
videoDetail = (VideoDetail) getIntent().getExtras().getSerializable(VideoDetail.VIDEO_DETAIL);
txtResult = (TextView) findViewById(R.id.txtResult);
txtResult.setText(videoDetail.getVideoTitle());
Uri uri = Uri.parse(videoDetail.getVideoPath());
// Uri uri = Uri.parse("http://daily3gp.com/vids/747.3gp");
VideoView videoView = (VideoView) findViewById(R.id.videoPlayer);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
mediaController.setMediaPlayer(videoView);
videoView.setMediaController(mediaController);
videoView.setVideoURI(uri);
videoView.start();
}
}
最佳答案
您只需转到 AndroidManifest.xml 并在 Activity 标签内或 Activity 标签中输入这行代码,正如上面有人所说:
android:configChanges="orientation|screenSize"
所以,你会有这样的东西:
<activity android:name="ActivityMenu"
android:configChanges="orientation|screenSize">
</activity>
希望对你有用
一般有以下三种方式:
正如一些答案所建议的那样,您可以区分第一次创建 Activity 和从 savedInstanceState 恢复 Activity 的情况。这是通过覆盖 onSaveInstanceState 来完成的并检查onCreate的参数。
您可以通过在 list 中添加 android:screenOrientation="portrait"(或“landscape”)将 Activity 锁定在一个方向。
您可以通过在标记中指定 android:configChanges="screenOrientation"来告诉系统您打算自己处理屏幕变化。这样, Activity 将不会被重新创建,但会收到一个回调(你可以忽略它,因为它对你没有用)。
关于android - 方向改变时视频重新开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25203588/