2015-07-27 4 views
0

В моем примере у меня есть список видео-ссылок и следующие предыдущие кнопки. Когда я нажимаю на следующее, будет воспроизведено следующее видео из списка. Моя проблема в том, когда я нажимаю на следующий 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() выполняется?

+1

Я заинтересован в этом, как хорошо. Вы нашли решение? – Androidicus

+0

Пожалуйста, проверьте это, если это помогает [http://stackoverflow.com/questions/16544891/mediaplayer-stop-release-while-prepareasync](http://stackoverflow.com/questions/16544891/mediaplayer-stop-release-while -prepareasync) –

+0

Ответить здесь [Media stop, release while prepareasync] (http://stackoverflow.com/a/16545152/1185521) –

ответ

0

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

if (hVideoview.isPlaying()) { 
    hVideoview.stopPlayback(); 
} 
+0

, но если предыдущее видео не подготовлено, условие if вернет false. – Meenaxi

 Смежные вопросы

  • Нет связанных вопросов^_^