Android - Задержка в закрытии активности с VideoView - PullRequest
3 голосов
/ 26 сентября 2011

У меня есть действие с VideoView - которое загружает видео из Интернета. Однако, когда пользователь нажимает кнопку «Назад» до полной загрузки видео, экран становится черным и проходит несколько секунд, прежде чем он возвращается к предыдущему действию. Есть ли способ заставить VideoView выйти быстрее?

Вот код для настройки потока. URL для видео передается в намерении:

public class VideoPlayer extends Activity {
  ...

  @Override
  public void onCreate(Bundle savedInstanceState) {
    ...

    VideoView videoView = (VideoView) findViewById(R.id.video_view);
    MediaController mediaController = new MediaController(this);
    mediaController.setAnchorView(videoView);
    videoView.setMediaController(mediaController);
    videoView.setOnPreparedListener(videoPreparedListener);
    videoView.setOnErrorListener(videoErrorListener);
    Uri video = Uri.parse(<myvideourl>);
    videoView.setVideoURI(video);

  }
  …

}

1 Ответ

3 голосов
/ 26 сентября 2011

Вам на самом деле нужно остановить видео, прежде чем действие будет завершено. В противном случае вы можете даже получить IllegalStateException в случае, если вы поворачиваете свое устройство, и вы выбрали в файле манифеста, что действие воссоздается при ротации устройства. Попробуйте это:

@Override
protected void onPause()
{
  super.onPause();
  mVideoView.stopPlayback();
}
...