LiteAVSDK
腾讯云音视频 SDK ,服务于数万家企业客户的高可用组件,致力于最大限度地节省您的研发成本。
V2TXLivePusherObserver

详细描述

腾讯云直播推流的回调通知。
V2TXLivePusher 的一些回调事件,包括推流器状态,推流音量,统计信息,警告以及错误信息。


结构体说明

◆ com::tencent::live2::V2TXLivePusherObserver

class com::tencent::live2::V2TXLivePusherObserver

Public 成员函数

void onError (int code, String msg, Bundle extraInfo)
 
void onWarning (int code, String msg, Bundle extraInfo)
 
void onCaptureFirstAudioFrame ()
 
void onCaptureFirstVideoFrame ()
 
void onMicrophoneVolumeUpdate (int volume)
 
void onPushStatusUpdate (V2TXLivePushStatus status, String msg, Bundle extraInfo)
 
void onStatisticsUpdate (V2TXLivePusherStatistics statistics)
 
void onSnapshotComplete (Bitmap image)
 
void onGLContextCreated ()
 
int onProcessVideoFrame (V2TXLiveVideoFrame srcFrame, V2TXLiveVideoFrame dstFrame)
 
void onGLContextDestroyed ()
 
void onSetMixTranscodingConfig (int code, String msg)
 

成员函数说明

◆ onCaptureFirstAudioFrame()

void onCaptureFirstAudioFrame ( )
inline

首帧音频采集完成的回调通知

◆ onCaptureFirstVideoFrame()

void onCaptureFirstVideoFrame ( )
inline

首帧视频采集完成的回调通知

◆ onError()

void onError ( int  code,
String  msg,
Bundle  extraInfo 
)
inline

直播推流器错误通知,推流器出现错误时,会回调该通知

参数
code错误码 V2TXLiveCode
msg错误信息
extraInfo扩展信息

◆ onGLContextCreated()

void onGLContextCreated ( )
inline

SDK 内部的 OpenGL 环境的创建通知

◆ onGLContextDestroyed()

void onGLContextDestroyed ( )
inline

SDK 内部的 OpenGL 环境的销毁通知

◆ onMicrophoneVolumeUpdate()

void onMicrophoneVolumeUpdate ( int  volume)
inline

麦克风采集音量值回调

参数
volume音量大小
注意
调用 V2TXLivePusher#enableVolumeEvaluation(int) 开启采集音量大小提示之后,会收到这个回调通知。

◆ onProcessVideoFrame()

int onProcessVideoFrame ( V2TXLiveVideoFrame  srcFrame,
V2TXLiveVideoFrame  dstFrame 
)
inline

自定义视频处理回调

注意
需要调用 V2TXLivePusher#enableCustomVideoProcess(boolean, V2TXLiveDef.V2TXLivePixelFormat, V2TXLiveDef.V2TXLiveBufferType) 开启自定义视频处理,才会收到这个回调通知。

【情况一】美颜组件会产生新的纹理 如果您使用的美颜组件会在处理图像的过程中产生一帧全新的纹理(用于承载处理后的图像),那请您在回调函数中将 dstFrame.textureId 设置为新纹理的 ID。

    @Override
    public void onGLContextCreated() {
        mFURenderer.onSurfaceCreated();
        mFURenderer.setUseTexAsync(true);
    }
    @Override
    public int onProcessVideoFrame(V2TXLiveVideoFrame srcFrame, V2TXLiveVideoFrame dstFrame) {
        dstFrame.texture.textureId = mFURenderer.onDrawFrameSingleInput(
                            srcFrame.texture.textureId, srcFrame.width, srcFrame.height);
        return 0;
    }
    @Override
    public void onGLContextDestroyed() {
        mFURenderer.onSurfaceDestroyed();
    }

【情况二】美颜组件并不自身产生新纹理 如果您使用的第三方美颜模块并不生成新的纹理,而是需要您设置给该模块一个输入纹理和一个输出纹理,则可以考虑如下方案:

int onProcessVideoFrame(V2TXLiveVideoFrame srcFrame, V2TXLiveVideoFrame dstFrame) {
    thirdparty_process(srcFrame.texture.textureId, srcFrame.width, srcFrame.height, dstFrame.texture.textureId);
    return 0;
}
参数
srcFrame用于承载未处理的视频画面
dstFrame用于承载处理过的视频画面

◆ onPushStatusUpdate()

void onPushStatusUpdate ( V2TXLivePushStatus  status,
String  msg,
Bundle  extraInfo 
)
inline

推流器连接状态回调通知

参数
status推流器连接状态 V2TXLivePushStatus
msg连接状态信息
extraInfo扩展信息

◆ onSetMixTranscodingConfig()

void onSetMixTranscodingConfig ( int  code,
String  msg 
)
inline

设置云端的混流转码参数的回调,对应于 V2TXLivePusher#setMixTranscodingConfig(V2TXLiveDef.V2TXLiveTranscodingConfig) 接口

参数
code0表示成功,其余值表示失败
msg具体错误原因

◆ onSnapshotComplete()

void onSnapshotComplete ( Bitmap  image)
inline

截图回调

参数
image已截取的视频画面
注意
调用 V2TXLivePusher#snapshot() 截图之后,会收到这个回调通知

◆ onStatisticsUpdate()

void onStatisticsUpdate ( V2TXLivePusherStatistics  statistics)
inline

直播推流器统计数据回调

参数
statistics推流器统计数据 V2TXLivePusherStatistics

◆ onWarning()

void onWarning ( int  code,
String  msg,
Bundle  extraInfo 
)
inline

直播推流器警告通知

参数
code警告码 V2TXLiveCode
msg警告信息
extraInfo扩展信息