【问题标题】:Android Video no start againAndroid 视频没有重新开始
【发布时间】:2011-10-18 16:00:36
【问题描述】:

我希望当我转动手机并更改屏幕方向时,视频会继续播放它正在播放的位置,而不是重新开始。我已尝试更改清单:

android:configChanges="keyboardHidden|orientation"

改变我的活动

public void onConfigurationChanged(Configuration newConfig)
    {
        super.onConfigurationChanged(newConfig);
        setContentView(R.layout.main);
        InitializeUI();
    }

当我改变方向时,它不起作用并重新开始视频。谁能帮帮我?


非常感谢您的帮助,但我认为我没有解释好,我的英语不是很好。
在我正在开发的应用程序中,我有一个视频,当我转动手机时会自动播放,视频又开始了。我需要,继续他正在播放的视频。这个问题和one类似。我已尝试按照here 的说明修改代码,但我没有工作。我也一直在查看您给我的链接,但都不起作用。有没有办法,换个班来解决问题?非常感谢。

【问题讨论】:

  • 您的 InitializeUI() 方法可能正在开始播放视频。您不必从 onConfigureChanged 调用它以使其继续播放而不是重新启动。
  • 我试图改变并且仍在发生。我留下我的新代码。谢谢。[code]@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);设置内容视图(R.layout.main); myvideo = (VideoView) findViewById(R.id.video); final MediaController mediaController = new MediaController(this);字符串 uri = "android.resource://" + getPackageName() + "/" + R.raw.video; myvideo.setVideoPath(uri); myvideo.requestFocus(); myvideo.start(); myvideo.setMediaController(mediaController); mediaController.setAnchorView(myvideo); mediaController.show();

标签: android video orientation android-videoview


【解决方案1】:

我用下一个代码解决了这个问题:

private int timevideo;
//Oncreate()
    Bundle returnData = (Bundle) getLastNonConfigurationInstance();
        if (returnData == null) {
            String uri = "android.resource://" + getPackageName() + "/"
                    + R.raw.videoname;
            myvideo.setVideoPath(uri);
            myvideo.requestFocus();
            myvideo.start();
        } else {
            String uri = "android.resource://" + getPackageName() + "/"
                    + R.raw.videoname;
            myvideo.setVideoPath(uri);
            timevideo = returnData.getInt("POSVIDEO");
            myvideo.seekTo(timevideo);
            myvideo.requestFocus();
            myvideo.start();
        }
@Override
    public Object onRetainNonConfigurationInstance() {
        Bundle data = new Bundle();
        timevideo = myvideo.getCurrentPosition();
        data.putInt("POSVIDEO", timevideo);
        return data;
    }

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-11
    相关资源
    最近更新 更多