Android 使用 MediaPlayer 播放音视频时, 可以通过 setOnErrorListener 设置一个 listener 给 MediaPlayer, 当播放过程中出现错误时, 该 listener 可以收到通知.
MediaPlayer.OnErrorListener 是接口类, 只有一个方法.
abstract boolean onError(MediaPlayer mp, int what, int extra)
可以通过 what 和 extra 知道发生了什么错误, 常见的 what 整理如下.
MEDIA_ERROR_UNKNOWN(1), 未指定的错误
MEDIA_ERROR_SERVER_DIED(100),media server died, 需要释放当前 media player, 创建一个新的 mediaplayer
常见的 extra 整理如下:
MEDIA_ERROR_IO(-1004),io 错误, 文件或者网络相关错误
MEDIA_ERROR_MALFORMED(-1007), 音视频格式错误, demux 或解码错误
MEDIA_ERROR_UNSUPPORTED(-1010), 不支持的音视频格式
MEDIA_ERROR_TIMED_OUT(-110), 操作超时, 通常是超过了 3-5 秒
MEDIA_ERROR_SYSTEM( -2147483648), 系统底层错误
来源: http://www.bubuko.com/infodetail-3055771.html