-
Notifications
You must be signed in to change notification settings - Fork 53
edit_error&info_listener
zanxiaofei edited this page Dec 7, 2017
·
4 revisions
KSYEditKit类中提供以下两种回调接口
- OnInfoListener 包含编辑和合成过程中状态变更事件回调,状态码为正数
- OnErrorListener 包含编辑和合成过程中错误事件回调,状态码为负数
名称 | 数值 | 含义 | msgs |
---|---|---|---|
SHORTVIDEO_EDIT_PREPARED | 1 | 编辑视频预览准备ok | N/A |
SHORTVIDEO_EDIT_PREVIEW_PLAYER_INFO | 6 | 预览播放状态信息 | 具体的播放信息 |
1.3.x版本后提供预览视频本身播放相关消息状态码,同样使用OnInfoListener返回,info状态码定义来自[播放消息定义][https://github.com/ksvc/KSYMediaPlayer_Android/wiki/KsyMediaPlayerConstants]
变量名 | 数值 | 含义 |
---|---|---|
MEDIA_INFO_UNKNOWN | 1 | 未指定的播放器信息 |
MEDIA_INFO_VIDEO_RENDERING_START | 3 | 视频开始渲染 |
MEDIA_INFO_VIDEO_TRACK_LAGGING | 700 | 视频复杂,解码器效率不足 |
MEDIA_INFO_BUFFERING_START | 701 | 播放器开始缓存数据 |
MEDIA_INFO_BUFFERING_END | 702 | 播放器缓存完毕 |
MEDIA_INFO_BAD_INTERLEAVING | 800 | 视频封装有误 |
MEDIA_INFO_NOT_SEEKABLE | 801 | 此视频不能seek |
MEDIA_INFO_METADATA_UPDATE | 802 | 已获得新的元数据 |
MEDIA_INFO_UNSUPPORTED_SUBTITLE | 901 | 不支持此字幕 |
MEDIA_INFO_SUBTITLE_TIMED_OUT | 902 | 读取字幕超时 |
MEDIA_INFO_VIDEO_ROTATION_CHANGED | 10001 | 视频方向改变 |
MEDIA_INFO_AUDIO_RENDERING_START | 10002 | 音频开始播放 |
MEDIA_INFO_SUGGEST_RELOAD | 40020 | 建议reload |
MEDIA_INFO_HARDWARE_DECODE | 41000 | 播放器使用硬解播放视频 |
MEDIA_INFO_SOFTWARE_DECODE | 41001 | 播放器使用软解播放视频 |
MEDIA_INFO_RELOADED | 50001 | reload成功 |
示例代码
mEditKit.setOnInfoListener(mOnInfoListener);
private KSYEditKit.OnInfoListener mOnInfoListener = new KSYEditKit.OnInfoListener() {
@Override
public Object onInfo(int type, String... msgs) {
Log.e(TAG, "on info:" + type);
switch (type) {
case ShortVideoConstants.SHORTVIDEO_EDIT_PREPARED:
mEditPreviewDuration = mEditKit.getEditDuration();
mPreviewLength = mEditPreviewDuration;
initSeekBar();
initThumbnailAdapter();
// 启动预览后,开始片段编辑UI初始化
mSectionView.init(mEditPreviewDuration, mEditKit);
startPreviewTimerTask();
break;
......
}
return null;
}
1.3.x版本以后提供预览视频本身播放相关错误状态码,同样使用OnErrorListener的SHORTVIDEO_EDIT_PREVIEW_PLAYER_ERROR(-4)返回,error状态码定义来自[播放消息定义]
变量名 | 数值 | 含义 |
---|---|---|
MEDIA_ERROR_UNKNOWN | 1 | 未知的播放器错误 |
MEDIA_ERROR_SERVER_DIED | 100 | 多媒体服务器出错 |
MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK | 200 | 流媒体封装格式并不支持渐进播放 |
MEDIA_ERROR_IO | -1004 | 文件或网络相关操作错误 |
MEDIA_ERROR_MALFORMED | -1007 | 码流实际编码标准与文件描述不一致 |
MEDIA_ERROR_UNSUPPORTED | -1010 | 播放器不支持相应编码格式 |
MEDIA_ERROR_TIMED_OUT | -110 | 操作超时 |
MEDIA_ERROR_UNSUPPORT_PROTOCOL | -10001 | 不支持的流媒体协议 |
MEDIA_ERROR_DNS_PARSE_FAILED | -10002 | DNS解析失败 |
MEDIA_ERROR_CREATE_SOCKET_FAILED | -10003 | 创建socket失败 |
MEDIA_ERROR_CONNECT_SERVER_FAILED | -10004 | 连接服务器失败 |
MEDIA_ERROR_BAD_REQUEST | -10005 | http请求返回400 |
MEDIA_ERROR_UNAUTHORIZED_CLIENT | -10006 | http请求返回401 |
MEDIA_ERROR_ACCESSS_FORBIDDEN | -10007 | http请求返回403 |
MEDIA_ERROR_TARGET_NOT_FOUND | -10008 | http请求返回404 |
MEDIA_ERROR_OTHER_ERROR_CODE | -10009 | http请求返回4xx |
MEDIA_ERROR_SERVER_EXCEPTION | -10010 | http请求返回5xx |
MEDIA_ERROR_INVALID_DATA | -10011 | 无效的媒体数据 |
MEDIA_ERROR_UNSUPPORT_VIDEO_CODEC | -10012 | 不支持的视频编码类型 |
MEDIA_ERROR_UNSUPPORT_AUDIO_CODEC | -10013 | 不支持的音频编码类型 |
MEDIA_ERROR_VIDEO_DECODE_FAILED | -10016 | 视频解码失败 |
MEDIA_ERROR_AUDIO_DECODE_FAILED | -10017 | 音频解码失败 |
MEDIA_ERROR_3XX_OVERFLOW | -10018 | 多次3xx跳转 |
MEDAI_ERROR_INVALID_URL | -10019 | 无效的URL,只在播放多URL视频时出现 |
示例代码
mEditKit.setOnErrorListener(mOnErrorListener);
private KSYEditKit.OnErrorListener mOnErrorListener = new KSYEditKit.OnErrorListener() {
@Override
public void onError(int type, long msg) {
switch (type) {
......
default:
Log.d(TAG, "KSYEditKit error:" + type + "_" + msg);
break;
}
}
};