VideoView onResume теряет буферизованную часть видео.

У меня есть Activity, в котором есть

  1. VideoView -- Потоковое видео с веб-сервера.

  2. Кнопка -- Переводит пользователя к следующему действию, которое нужно показать.

При запуске приложения VideoView предназначен для воспроизведения видео с веб-сервера.

Теперь предположим

 Total Video length is 60 Minutes

 Current Video progress is 20 Minutes

 Current Buffered progress 30 Minutes 

Теперь, когда я нажимаю на вышеупомянутую кнопку, пользователь переходит к следующему действию.

Из этого действия, если я нажму кнопку «Назад», перед пользователем появится предыдущее действие (с VideoView и кнопкой). Но при возобновлении вся буферизованная часть видео теряется, и, следовательно, VideoView начинает воспроизводить видео с самого начала, что очень плохо. <-- Актуальная проблема

Проблема

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

Даже официальное приложение Youtube для Android. имеет ту же проблему.

Изменить 1:

Я попробовал приведенный ниже код в Activity, но он не работает.

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    videoView.suspend();
}

@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    videoView.resume();
}

Может ли кто-нибудь помочь мне с этой проблемой? Или я что-то упускаю, чтобы все работало идеально?

Текущее обходное решение

Я сохранил текущую позицию воспроизведения видео в методе onPause()и в методе onResume()я использовал эту позицию для поиска видео к этой продолжительности. Это прекрасно работает.Но буферизация видео начинается с самого начала, хотя она запускает видео с позиции поиска.

Будем очень признательны за любую помощь.

30
задан Kartik Domadiya 26 April 2012 в 08:56
поделиться