public abstract class EditorCallBack
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
boolean |
mNeedPacketCallback
v3.32.0 新增
是否需要回调合成包数据
|
int |
mNeedRenderCallback
纹理回调开关设置 可以使用"|"符号来开启多个回调,如:RENDER_CALLBACK_CUSTOM | RENDER_CALLBACK_TEXTURE,代表同时开启两个回调
|
static int |
RENDER_CALLBACK_CUSTOM
使用sdk渲染前的纹理回调
|
static int |
RENDER_CALLBACK_NONE
不使用任何回调
|
static int |
RENDER_CALLBACK_TEXTURE
使用sdk渲染后的纹理回调
|
Constructor and Description |
---|
EditorCallBack() |
Modifier and Type | Method and Description |
---|---|
abstract int |
onCustomRender(int srcTextureID,
int width,
int height,
long frameTime)
没有经过sdk渲染引擎渲染的视频纹理id回调
|
abstract void |
onDataReady()
播放数据准备完成回调
|
abstract void |
onEnd(int state)
结束回调
|
abstract void |
onError(int rv)
错误回调
|
void |
onPacketSeek(long offset,
int whence)
v3.32.0 新增
合成包seek回调
|
abstract void |
onPlayProgress(long currentPlayTime,
long currentStreamPlayTime)
播放进度回调,回调播放时间戳,假如10s的视频,慢放变成15s,则播放到15s时,currentPlayTime=15s, currentStreamPlayTime=10s
|
void |
onPlayStateChanged(boolean isPlaying)
v3.33.0 新增
播放状态回调(播放模式)
|
void |
onRenderDestroy()
渲染环境销毁回调,在渲染线程中回调
|
void |
onRenderSetup()
渲染环境初始化回调,在渲染线程中回调
|
abstract int |
onTextureRender(int srcTextureID,
int width,
int height,
long frameTime)
经过sdk渲染引擎渲染的视频纹理id回调
|
void |
onWritePacket(java.nio.ByteBuffer buffer,
int bufferSize)
v3.32.0 新增
合成包数据回调
|
public static final int RENDER_CALLBACK_NONE
public static final int RENDER_CALLBACK_CUSTOM
public static final int RENDER_CALLBACK_TEXTURE
public int mNeedRenderCallback
public boolean mNeedPacketCallback
public abstract void onEnd(int state)
state
- 播放还是导出视频,0播放 1导出public abstract void onError(int rv)
rv
- 回调错误码
VideoPool:(该模块错误码在onError中)
状态错误 AliyunErrorCode.ALIVC_FRAMEWORK_MEDIA_POOL_WRONG_STATE
DEMUXER重复创建 AliyunErrorCode.ALIVC_FRAMEWORK_DEMUXER_INIT_MULTI_TIMES
DEMUXER打开失败 AliyunErrorCode.ALIVC_FRAMEWORK_DEMUXER_OPEN_FILE_FAILED
DEMUXER获取流信息失败 AliyunErrorCode.ALIVC_FRAMEWORK_DEMUXER_FIND_STREAM_INFO_FAILED
解码器创建失败 AliyunErrorCode.ALIVC_FRAMEWORK_VIDEO_DECODER_CREATE_DECODER_FAILED
解码器状态错误 AliyunErrorCode.ALIVC_FRAMEWORK_VIDEO_DECODER_ERROR_STATE
解码器输入错误 AliyunErrorCode.ALIVC_FRAMEWORK_VIDEO_DECODER_ERROR_INPUT
解码器参数SPSPPS为空 AliyunErrorCode.ALIVC_FRAMEWORK_VIDEO_DECODER_SPS_PPS_NULL
解码H264参数创建失败 AliyunErrorCode.ALIVC_FRAMEWORK_VIDEO_DECODER_CREATE_H264_PARAM_SET_FAILED
解码HEVC参数创建失败 AliyunErrorCode.ALIVC_FRAMEWORK_VIDEO_DECODER_CREATE_HEVC_PARAM_SET_FAILED
解码内存缓存满了 AliyunErrorCode.ALIVC_FRAMEWORK_MEDIA_POOL_CACHE_DATA_SIZE_OVERFLOW
AudioPool:(该模块错误码在onError中)
状态错误 AliyunErrorCode.ALIVC_FRAMEWORK_MEDIA_POOL_WRONG_STATE
DEMUXER重复创建 AliyunErrorCode.ALIVC_FRAMEWORK_DEMUXER_INIT_MULTI_TIMES
DEMUXER打开失败 AliyunErrorCode.ALIVC_FRAMEWORK_DEMUXER_OPEN_FILE_FAILED
DEMUXER获取流信息失败 AliyunErrorCode.ALIVC_FRAMEWORK_DEMUXER_FIND_STREAM_INFO_FAILED
解码器创建失败 AliyunErrorCode.ALIVC_FRAMEWORK_AUDIO_DECODER_CREATE_DECODER_FAILED
解码器状态错误 AliyunErrorCode.ALIVC_FRAMEWORK_AUDIO_DECODER_ERROR_STATE
解码器输入错误 AliyunErrorCode.ALIVC_FRAMEWORK_AUDIO_DECODER_ERROR_INPUT
public void onRenderSetup()
public void onRenderDestroy()
public abstract int onCustomRender(int srcTextureID, int width, int height, long frameTime)
srcTextureID
- 原纹理IDwidth
- 纹理宽height
- 纹理高frameTime
- 帧相对于时间轴的渲染时间(单位: 微秒)public abstract int onTextureRender(int srcTextureID, int width, int height, long frameTime)
srcTextureID
- 原纹理IDwidth
- 纹理宽height
- 纹理高frameTime
- 帧相对于时间轴的渲染时间(单位: 微秒)public abstract void onPlayProgress(long currentPlayTime, long currentStreamPlayTime)
currentPlayTime
- 绝播放时间currentStreamPlayTime
- 当前流的播放时间public abstract void onDataReady()
public void onPlayStateChanged(boolean isPlaying)
isPlaying
- 是否在播放public void onWritePacket(java.nio.ByteBuffer buffer, int bufferSize)
buffer
- 数据bufferSize
- 数据大小public void onPacketSeek(long offset, int whence)
offset
- 偏移whence
- 偏移模式