1. 程式人生 > >Android 關於videoview 彈窗 “抱歉,無法播放此視訊”

Android 關於videoview 彈窗 “抱歉,無法播放此視訊”

Android 呼叫videoview播放視訊時有時會彈出這個“抱歉無法播放此視訊”的彈窗,這時播放就會停止,然後一直等待使用者手動點選確定。

有時候需要阻止這個彈窗或者給videoview一個機會,讓它再來幾次,或者再長時間迴圈播放時不讓videoview因為一些莫名的原因停止播放,這是就需要做一些處理:

private VideoView topVideoView;

private MediaPlayer mMediaPlayer;

private int errorTime = 1;

topVideoView = (VideoView) findViewById(R.id.video);

topVideoView.setVideoURI(Uri.parse("android.resource://com.example.myapp/" + R.raw.testvideo));

topVideoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
mMediaPlayer = mp;
mp.start();
mp.setLooping(true);
if (logOn) {
Log.e(TAG, "topVideoView.setOnPreparedListener -mp.start()");
}
}
});
topVideoView.setOnErrorListener(new OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
// TODO Auto-generated method stub
if (errorTime < 6) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
startTest();
}
}, 2000);
errorTime++;
return true;
}
return false;
}
});

這樣就給videoview幾次機會再出現錯誤的時候不彈窗,重複載入errorTime次,如果還失敗的話,再彈出彈窗。