我有一個VideoView的應用程序,以使在一個循環我使用onCompletionListner再次打電話setVideoPath()的視頻播放,像這樣:的Android VideoView重複
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer arg0) {
mVideoView.start();
}
});
mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
//I have a log statment here, so I can see that it is making it this far.
mp.reset(); // <--- I added this recently to try to fix the problem
mVideoView.setVideoPath(file.getAbsolutePath());
}
});
這種設置上順暢運行到目前爲止我遇到過的所有設備,我從來沒有遇到任何問題,不會重複。
但是我測試的摩托羅拉Xoom最近升級爲ICS。現在它在ICS上,這將工作一段時間,並循環播放視頻。但最終(我已經添加了一個計數器和一些日誌,在停止之前它沒有成功循環多少次的模式),它將停止循環,只是坐在電影中第一幀的凍結幀上。
有誰知道什麼可能會導致這不再正常循環?或者是否有人知道另一種讓VideoView能夠正常循環的方式,它仍然在ICS下工作?
什麼是你的代碼上的mp? – 2013-08-07 10:49:58
@jeraldov'mp'是作爲參數傳遞給onCompletion()方法的MediaPlayer對象。 – FoamyGuy 2013-08-07 14:10:07