簡體   English   中英

視頻播放完畢后,Android MediaPlayer seekTo

[英]Android MediaPlayer seekTo after video finished playing

我將VideoView與MediaController和MediaPlayer一起使用來播放HLS流(正常的mp4文件不會出現此問題)。 當視頻播放完畢並且嘗試使用搜索欄時,出現logcat錯誤: E / MediaPlayer:錯誤(1,-1004) ,活動顯示無法播放此視頻對話框。 我該如何預防? 我已經嘗試過實現MediaPlayer.OnCompletionListener接口,如下所示:

@Override
public void onCompletion(MediaPlayer mediaPlayer) {
    videoView.setVideoURI(Uri.parse(...));
    videoView.start();
    videoView.pause();
}

但這不起作用。

取決於您真正想要做什么以及視頻流如何工作:

  1. 如果您想循環播放視頻-因為您的onCompletion()嘗試這樣做-您可以嘗試使用setLooping(true)進行更簡單的處理

  2. 最終,您可以改善錯誤處理,例如:

     yourPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { if (mp.isPlaying()) mp.stop(); mp.reset(); mp.play(); return true; } }); 

編輯:

  1. (后從意見反饋) -如果沒有循環必需的,但求:最終它是由Android的MediaPlayer的支持HLS(MPEG-TS)尋求水平developer.android.com/guide/appendix/media-formats.html -說“不可搜索” ...可能是在使用NuPlayer的較新的Android設備上,情況可能會更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM