tencent cloud

文档反馈

V2TXLivePusherObserver

最后更新时间:2024-10-25 16:52:53
    Copyright (c) 2021 Tencent. All rights reserved.
    
    Module: V2TXLivePusherObserver @ TXLiteAVSDK
    
    Function: 腾讯云直播推流的回调通知
    

    功能

    腾讯云直播的推流回调通知。

    介绍

    可以接收 V2TXLivePusher 推流器的一些推流通知,包括推流器连接状态、音视频首帧回调、统计数据、警告和错误信息等。
    
    V2TXLivePusherObserver

    V2TXLivePusherObserver

    函数列表
    描述
    直播推流器错误通知,推流器出现错误时,会回调该通知
    直播推流器警告通知
    首帧音频采集完成的回调通知
    首帧视频采集完成的回调通知
    麦克风采集音量值回调
    推流器连接状态回调通知
    直播推流器统计数据回调
    截图回调
    SDK 内部的 OpenGL 环境的创建通知
    本地采集并经过音频模块前处理、音效处理和混 BGM 后的音频数据回调
    自定义视频处理回调
    SDK 内部的 OpenGL 环境的销毁通知
    设置云端的混流转码参数的回调,对应于 setMixTranscodingConfig 接口
    当屏幕分享开始时,SDK 会通过此回调通知
    当屏幕分享停止时,SDK 会通过此回调通知
    录制任务开始的事件回调
    录制任务正在进行中的进展事件回调
    录制任务已经结束的事件回调
    调用 enableVoiceActivityDetection 开启人声检测之后,当主播开始或结束说话时,会收到这个回调通知。

    onError

    onError
    void onError
    (int code
    
    String msg
    
    Bundle extraInfo)

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

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

    onWarning

    onWarning
    void onWarning
    (int code
    
    String msg
    
    Bundle extraInfo)

    直播推流器警告通知

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

    onCaptureFirstAudioFrame

    onCaptureFirstAudioFrame

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

    onCaptureFirstVideoFrame

    onCaptureFirstVideoFrame

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

    onMicrophoneVolumeUpdate

    onMicrophoneVolumeUpdate
    void onMicrophoneVolumeUpdate
    (int volume)

    麦克风采集音量值回调

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

    onPushStatusUpdate

    onPushStatusUpdate
    void onPushStatusUpdate
    (V2TXLivePushStatus status
    
    String msg
    
    Bundle extraInfo)

    推流器连接状态回调通知

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

    onStatisticsUpdate

    onStatisticsUpdate
    void onStatisticsUpdate
    (V2TXLivePusherStatistics statistics)

    直播推流器统计数据回调

    参数
    描述
    statistics
    推流器统计数据 V2TXLivePusherStatistics

    onSnapshotComplete

    onSnapshotComplete
    void onSnapshotComplete
    (Bitmap image)

    截图回调

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

    onGLContextCreated

    onGLContextCreated

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

    onProcessAudioFrame

    onProcessAudioFrame
    void onProcessAudioFrame
    (V2TXLiveDef.V2TXLiveAudioFrame frame)

    本地采集并经过音频模块前处理、音效处理和混 BGM 后的音频数据回调

    当您设置完音频数据自定义回调之后,SDK 内部会把刚采集到并经过前处理、音效处理和混 BGM 之后的数据,在最终进行网络编码之前,以 PCM 格式的形式通过本接口回调给您。
    此接口回调出的音频时间帧长固定为 0.02s,格式为 PCM 格式。
    由时间帧长转化为字节帧长的公式为 采样率 × 时间帧长 × 声道数 × 采样点位宽
    以 SDK 默认的音频录制格式 48000 采样率、单声道、16采样点位宽为例,字节帧长为 48000 × 0.02s × 1 × 16bit = 15360bit = 1920字节
    参数
    描述
    frame
    PCM 格式的音频数据帧。
    注意
    1. 请不要在此回调函数中做任何耗时操作,由于 SDK 每隔 20ms 就要处理一帧音频数据,如果您的处理时间超过 20ms,就会导致声音异常。
    2. 此接口回调出的音频数据是可读写的,也就是说您可以在回调函数中同步修改音频数据,但请保证处理耗时。

    onProcessVideoFrame

    onProcessVideoFrame
    int onProcessVideoFrame
    (V2TXLiveVideoFrame srcFrame
    
    V2TXLiveVideoFrame dstFrame)

    自定义视频处理回调

    参数
    描述
    dstFrame
    用于承载处理过的视频画面。
    srcFrame
    用于承载未处理的视频画面。
    注意
    需要调用 enableCustomVideoProcess 开启自定义视频处理,才会收到这个回调通知。
    【情况一】美颜组件会产生新的纹理
    如果您使用的美颜组件会在处理图像的过程中产生一帧全新的纹理(用于承载处理后的图像),那请您在回调函数中将 dstFrame.textureId 设置为新纹理的 ID。
    `java
    @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();
    }
    `
    【情况二】美颜组件并不自身产生新纹理
    如果您使用的第三方美颜模块并不生成新的纹理,而是需要您设置给该模块一个输入纹理和一个输出纹理,则可以考虑如下方案:
    `java
    int onProcessVideoFrame(V2TXLiveVideoFrame srcFrame, V2TXLiveVideoFrame dstFrame) {
    thirdparty_process(srcFrame.texture.textureId, srcFrame.width, srcFrame.height, dstFrame.texture.textureId);
    return 0;
    }
    `

    onGLContextDestroyed

    onGLContextDestroyed

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

    onSetMixTranscodingConfig

    onSetMixTranscodingConfig
    void onSetMixTranscodingConfig
    (int code
    
    String msg)

    设置云端的混流转码参数的回调,对应于 {@link setMixTranscodingConfig} 接口

    参数
    描述
    code
    0表示成功,其余值表示失败。
    msg
    具体错误原因。

    onScreenCaptureStarted

    onScreenCaptureStarted

    当屏幕分享开始时,SDK 会通过此回调通知

    onScreenCaptureStopped

    onScreenCaptureStopped
    void onScreenCaptureStopped
    (int reason)

    当屏幕分享停止时,SDK 会通过此回调通知

    参数
    描述
    reason
    停止原因
    0:表示用户主动停止。
    1:iOS 表示录屏被系统中断;Mac、Windows 表示屏幕分享窗口被关闭。
    2:Windows 表示屏幕分享的显示屏状态变更(如接口被拔出、投影模式变更等);其他平台不抛出。

    onLocalRecordBegin

    onLocalRecordBegin
    void onLocalRecordBegin
    (int code
    
    String storagePath)

    录制任务开始的事件回调

    参数
    描述
    code
    状态码。
    0:录制任务启动成功。
    -1:内部错误导致录制任务启动失败。
    -2:文件后缀名有误(比如不支持的录制格式)。
    -6:录制已经启动,需要先停止录制。
    -7:录制文件已存在,需要先删除文件。
    -8:录制目录无写入权限,请检查目录权限问题。
    storagePath
    录制的文件地址。

    onLocalRecording

    onLocalRecording
    void onLocalRecording
    (long durationMs
    
    String storagePath)

    录制任务正在进行中的进展事件回调

    参数
    描述
    durationMs
    录制时长。
    storagePath
    录制的文件地址。

    onLocalRecordComplete

    onLocalRecordComplete
    void onLocalRecordComplete
    (int code
    
    String storagePath)

    录制任务已经结束的事件回调

    参数
    描述
    code
    状态码。
    0:结束录制任务成功。
    -1:录制失败。
    -2:切换分辨率或横竖屏导致录制结束。
    -3:录制时间太短,或未采集到任何视频或音频数据,请检查录制时长,或是否已开启音、视频采集。
    storagePath
    录制的文件地址。

    onVoiceActivityDetectionUpdate

    onVoiceActivityDetectionUpdate
    void onVoiceActivityDetectionUpdate
    (boolean active)

    调用 {@link enableVoiceActivityDetection} 开启人声检测之后,当主播开始或结束说话时,会收到这个回调通知。

    参数
    描述
    active
    人声开始或停止。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持