Android-видео не запускается, если телефон уже находится в альбомном режиме - PullRequest
1 голос
/ 17 июня 2011

У меня есть Activity, которая использует VideoView для воспроизведения видеофайла. Метод onCreate устанавливает ориентацию на альбомную, а затем загружает видео и воспроизводит его.

Это видео занятие из моей основной деятельности. Основным видом деятельности в манифесте является портретная ориентация.

Все это прекрасно работает, когда телефон удерживается в вертикальном положении. - Основная деятельность начинается в портрете - Нажмите кнопку, чтобы начать видео активность - Видео активность запускается в пейзаже - Воспроизведение видео

Однако, если телефон помогает по горизонтали, видео не начинает воспроизводиться: - Основная деятельность начинается в портрете - Нажмите кнопку, чтобы начать видео активность - Видео активность запускается в пейзаже - Видео загружено, но приостановлено - необходимо запустить вручную.

Есть идеи, почему это может происходить?

Код активности видео:

protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    this.setContentView(R.layout.video_view);

    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

    mVideoView = (VideoView)this.findViewById(R.id.VideoView);
    String videoUrl = "/mnt/sdcard-ext" + "/Videos/Wildlife.wmv";
    playVideo(videoUrl);

    // video finish listener
    mVideoView.setOnCompletionListener(new MyOnCompletionListener());
}

public void playVideo(String videoUrl)
{
    MediaController mc = new MediaController(this);
    mc.setAnchorView(mVideoView);
    mVideoView.setMediaController(mc);
    mVideoView.setVideoURI(Uri.parse(videoUrl));
    mVideoView.requestFocus(); 
    mVideoView.start();
}

Ответы [ 3 ]

0 голосов
/ 17 июня 2011

У меня есть приложение, которое можно использовать в портретной или альбомной ориентации, которое включает в себя случайную информацию. Когда я переключаюсь с портрета на пейзаж и наоборот, генерируется новая информация. Это заставляет меня думать

onCreate()

вызывается, даже когда телефон вращается. (Проверка?)

Я не понимаю, почему повторный вызов может приостановить видео, но, возможно, пометить вашу активность видео в манифесте, на этот раз для пейзажа,

android:screenOrientation="landscape"

предотвратит повторный вызов.

Приветствия

0 голосов
/ 17 июня 2011

Если вы хотите всегда вызывать его в альбомной ориентации, просто поместите эту информацию в файл манифеста. Он будет отлично работать

0 голосов
/ 17 июня 2011

Попробуйте поместить сообщения журнала в ваш onCreate (). Может быть, в вашем сценарии Activity создается дважды.

...