VideoView Исчезает на секунду при смене видео

В моем приложении есть несколько кнопок в верхней части экрана и просмотр видео под ними.

В событии oncreate я начинаю воспроизводить mainvideo.mp4 в VideoView и устанавливаю его для зацикливания.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.setContentView(R.layout.main);
    VideoView videoView = (VideoView)this.findViewById(R.id.videoView);
    videoView.setVideoURI("android.resource://"+getPackageName() + "/"+R.raw.mainvideo);
    videoView.requestFocus();
    videoView.start();
} 

Если пользователь нажимает любую из кнопок, я хочу изменить видео, воспроизводимое VideoView, на buttonvideo.mp4. Ниже приведен код события кнопки onclick.

Uri uri = Uri.parse("android.resource://"+getPackageName() + "/"+R.raw.buttonvideo);
videoView.setVideoURI(uri);
videoView.requestFocus();
videoView.start();

Когда я пытался использовать телефон Android 2.2, после нажатия кнопки видеопросмотр исчезает на секунду, а затем воспроизводится новое видео. Я хочу, чтобы переход от одного видео к другому был максимально плавным.

Я попробовал это на другом телефоне с Android 4.0+, и это работает безупречно. Я видел, как некоторые другие приложения делают это, поэтому должен быть какой-то способ, который может быть переопределен каким-то событием или пользовательским видеопросмотром. Есть идеи?


person user1263019    schedule 12.03.2012    source источник
comment
Попробуйте вызвать videoView.suspend() или videoView.pause() перед videoView.setVideoURI(uri), посмотрите, поможет ли это.   -  person yorkw    schedule 13.03.2012