Остановить или отменить подготовленный VideoView

В моем примере у меня есть список ссылок на видео и следующие предыдущие кнопки. Когда я нажимаю «Далее», воспроизводится следующее видео из списка. Моя проблема в том, что когда я нажимаю на следующий hVideoview.setVideoURI(Uri.parse(videoPath));, мне звонят, и требуется некоторое время, чтобы подготовиться. поэтому в течение этого времени, если я снова нажму «Далее», будет вызвана следующая ссылка на видео. Между тем, если предыдущее видео готово, его OnPreparedListener() запускается и запускается более старое видео. то, что я хочу сделать, это когда я нажимаю «Далее», вся предыдущая операция должна быть остановлена. И вот мой код

public void initializeVideo(final String videoPath)
{
    BaseActivity.ShowLoading(this, "Buffering...");

    hVideoview.setVisibility(View.VISIBLE);
    lin_webview.setVisibility(View.GONE);

    new Handler(Looper.myLooper()).post(new Runnable(){
        @Override
        public void run(){
            hVideoview.setVideoURI(Uri.parse(videoPath));
        }
    });

    hVideoview.setOnPreparedListener(new OnPreparedListener() 
    {
        public void onPrepared(MediaPlayer mp)
        {
            mp.setOnBufferingUpdateListener(HighlightsActivity.this);
            mp.setOnCompletionListener(HighlightsActivity.this);

            BaseActivity.StopLoadingDialog();
            hVideoview.requestFocus();
            hVideoview.start();
            mediaFileLengthInMilliseconds = hVideoview.getDuration();
            seek_bar.setMax(mediaFileLengthInMilliseconds);
            primarySeekBarProgressUpdater();
            imgPlay.setVisibility(View.GONE);
            imgPause.setVisibility(View.VISIBLE);
        }
    });
}

так есть ли способ остановить выполнение OnPreparedListener()?


person Meenaxi    schedule 27.07.2015    source источник
comment
Меня это тоже интересует. Вы нашли решение?   -  person Androidicus    schedule 06.01.2016
comment
Пожалуйста, проверьте это, если это поможет выпуск-во-подготовкесинхронизация   -  person Darshan Pania    schedule 19.02.2016
comment
Ответьте здесь Остановка мультимедиа, отпустите при подготовке к синхронизации   -  person Darshan Pania    schedule 19.02.2016


Ответы (1)


В методе initializeVideo добавьте это перед setVideoURI

if (hVideoview.isPlaying()) {
    hVideoview.stopPlayback();
}
person Ankii Rawat    schedule 27.07.2015
comment
но если предыдущее видео не подготовлено, то условие if вернет false. - person Meenaxi; 27.07.2015