Android 2.3.3 Eclipse Version: 3.7.0 LogCat emulator-5554
emulator-5554虚拟机,采用VideoView 播放AVI文件类型的视频。
弹出错误提示:无法播放视频。很抱歉,无法播放此视频。
LogCat 报错信息:
02-10 10:25:06.470: INFO/StagefrightPlayer(34): setDataSource('sdcard/video/nokia.avi') 02-10 10:25:06.501: ERROR/MediaPlayer(6606): error (1, -2147483648) 02-10 10:25:06.609: ERROR/MediaPlayer(6606): Error (1,-2147483648) 02-10 10:25:06.609: DEBUG/VideoView(6606): Error: 1,-2147483648 02-10 10:25:12.489: ERROR/MediaPlayer(6606): stop called in state 0 02-10 10:25:12.489: ERROR/MediaPlayer(6606): error (-38, 0) 02-10 10:25:12.600: WARN/MediaPlayer(6606): mediaplayer went away with unhandled events
发生错误原因分析:将视频文件类型由AVI文件类型更改为3GP文件类型,可以播放。但即使播放3GP类型文件,在找不到此文件时,也报错。
因此,至少有两种原因会引起此错误:
1、播放文件不存在;
2、硬件不支持此播放文件;
解决办法:
在Activity中添加错误监听器OnErrorListener,监听视频播放过程产生的错误,并作相应处理。
public OnErrorListener videoErrorListener = new OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { // 对播放出错进行处理 …… return true; } };
在播放VideoView 设置此错误监听器。
VideoView nokiaVideoView = (VideoView) findViewById(R.id.nokiaVideoView); nokiaVideoView.setOnErrorListener(videoErrorListener);