前言
现在媒体播放使用很多项目都使用bilibili开源的IjkPlayer,当然也用系统自带的MediaPlayer,都有回调onError()和onInfo(),因此这里整理一下常见的INFO码。
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
}
@Override
public boolean onInfo(MediaPlayer mp, int whatInfo, int extra) {
}
正文
下面简单的介绍一下onInfo()回调的INFO码,一般扩展的都在MediaPlayer的基础上扩展。
MediaPlayer的常见INFO码
//使用查看方式 MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START
// 未知信息
int MEDIA_INFO_UNKNOWN = 1;
// 播放下一条
int MEDIA_INFO_STARTED_AS_NEXT = 2;
// 视频开始
int MEDIA_INFO_VIDEO_RENDERING_START = 3;
// 缓冲开始
int MEDIA_INFO_BUFFERING_START = 701;
// 缓冲结束
int MEDIA_INFO_BUFFERING_END = 702;
// 网络宽带,网速方面
int MEDIA_INFO_NETWORK_BANDWIDTH = 703;
// 音视频数据错误
int MEDIA_INFO_BAD_INTERLEAVING = 800;
// 不支持seek+/-
int MEDIA_INFO_NOT_SEEKABLE = 801;
// 音频不支持
MEDIA_INFO_AUDIO_NOT_PLAYING = 804;
// 视频不支持
MEDIA_INFO_VIDEO_NOT_PLAYING = 805;
// 不支持字幕
MEDIA_INFO_UNSUPPORTED_SUBTITLE = 901;
// 字幕超时
MEDIA_INFO_SUBTITLE_TIMED_OUT = 902;
IjkPlayer的常见INFO码
//使用查看方式(部分跟上面的MediaPlayer一样的,具体看上面) tv.danmaku.ijk.media.player.IMediaPlayer.MEDIA_INFO_VIDEO_DECODED_START:
// 字幕超时
int MEDIA_INFO_SUBTITLE_TIMED_OUT = 902;
// /视频方向改变,也是视频信息开始准备的开始
int MEDIA_INFO_VIDEO_ROTATION_CHANGED = 10001;
// 音频准备开始
int MEDIA_INFO_AUDIO_RENDERING_START = 10002;
// 音频解码开始
int MEDIA_INFO_AUDIO_DECODED_START = 10003;
// 视频解码开始
int MEDIA_INFO_VIDEO_DECODED_START = 10004;
//10008和10009跟开始播放前seek的打印(10009 见得多)
int MEDIA_INFO_VIDEO_SEEK_RENDERING_START = 10008;
int MEDIA_INFO_AUDIO_SEEK_RENDERING_START = 10009;
