tencent cloud

直播 SDK

动态与公告
TUILiveKit 产品动态
云直播推拉流 SDK 产品动态
新手指引
产品简介
产品概述
产品优势
性能数据
基本概念
购买指南
TRTC Live 价格总览
Live 视频直播计费说明
开通服务(TUILiveKit)
Demo 体验
Demo 体验指引
跑通 Demo(TUILiveKit)
接入指南
视频直播
准备工作
主播开播
观众观看
直播列表
语聊房
准备工作
主播开播
观众观看
直播列表
推流助手
推流助手(Electron 桌面应用)
推流助手(Web 桌面浏览器)
直播监播
监播页面(Web 桌面浏览器 React 版)
监播页面(Web 桌面浏览器 Vue 版)
UI 自定义
直播视频组件
视频源编辑组件
观众列表组件
聊天弹幕组件
媒体源配置面板
连麦管理面板
直播送礼组件
无 UI 集成
搭建视频直播
搭建语聊房
功能指南
关注主播(TUILiveKit)
至臻画质(TUILiveKit)
输入媒体流进房(TUILiveKit)
礼物系统(TUILiveKit)
客户端 API
Android
iOS
Web
服务端 API(TUILiveKit)
账号系统
REST API
第三方回调
错误码(TUILiveKit)
常见问题
平台编译
用户鉴权
云直播推拉流 SDK
产品简介
购买指南
Demo 体验
免费测试
SDK 下载
License 管理
高级功能
客户端 API
常见问题
无 UI 集成方案
API 文档
OSS information
OSS Attribution Notice

V2TXLivePusherObserver

聚焦模式
字号
最后更新时间: 2026-03-27 17:23:04
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。
@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;
}

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
人声开始或停止。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈