Android 2.3.3
Eclipse Version: 3.7.0
LogCat
emulator-5554
虛擬機,採用VideoView 播放視頻。
彈出錯誤提示:無法播放視頻。很抱歉,無法播放此視頻。
LogCat 報錯信息:
02-09 17:57:08.470: INFO/StagefrightPlayer(34): setDataSource('sdcard/video/taobao.avi')
02-09 17:57:08.501: ERROR/MediaPlayer(6606): error (1, -2147483648)
02-09 17:57:08.609: ERROR/MediaPlayer(6606): Error (1,-2147483648)
02-09 17:57:08.609: DEBUG/VideoView(6606): Error: 1,-2147483648
02-09 17:57:24.489: ERROR/MediaPlayer(6606): stop called in state 0
02-09 17:57:24.489: ERROR/MediaPlayer(6606): error (-38, 0)
02-09 17:57:24.600: WARN/MediaPlayer(6606): mediaplayer went away with unhandled events
發生錯誤原因分析:將視頻文件類型由AVI文件類型更改爲3GP文件類型,可以播放。但即使播放3GP類型文件,在找不到此文件時,也報錯。
因此,至少有兩種原因會引起此錯誤:
1、播放文件不存在;
2、硬件不支持此播放文件;
解決辦法:
在Activity中添加視頻錯誤監聽器,監聽視頻播放過程產生的錯誤,並作相應處理。
public OnErrorListener videoErrorListener = new OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
// 播放出錯處理
……
return true;
}
};
在播放部分設置此監聽器。
VideoView htcVideoView = (VideoView) findViewById(R.id.htcVideoView);
htcVideoView.setOnErrorListener(videoErrorListener);