函数列表 | 描述 |
错误事件回调 | |
警告事件回调 | |
进入房间成功与否的事件回调 | |
离开房间的事件回调 | |
切换角色的事件回调 | |
切换房间的结果回调 | |
请求跨房通话的结果回调 | |
结束跨房通话的结果回调 | |
更改跨房主播上行能力的结果回调 | |
有用户加入当前房间 | |
有用户离开当前房间 | |
某远端用户发布/取消了主路视频画面 | |
某远端用户发布/取消了辅路视频画面 | |
某远端用户发布/取消了自己的音频 | |
SDK 开始渲染自己本地或远端用户的首帧画面 | |
SDK 开始播放远端用户的首帧音频 | |
自己本地的首个视频帧已被发布出去 | |
自己本地的首个音频帧已被发布出去 | |
远端视频状态变化的事件回调 | |
远端音频状态变化的事件回调 | |
用户视频大小发生改变回调 | |
网络质量的实时统计回调 | |
音视频技术指标的实时统计回调 | |
网速测试的结果回调 | |
SDK 与云端的连接已经断开 | |
SDK 正在尝试重新连接到云端 | |
SDK 与云端的连接已经恢复 | |
摄像头准备就绪 | |
麦克风准备就绪 | |
当前音频路由发生变化(仅适用于移动设备) | |
音量大小的反馈回调 | |
本地设备的通断状态发生变化(仅适用于桌面系统) | |
当前麦克风的系统采集音量发生变化 | |
当前系统的播放音量发生变化 | |
系统声音采集是否被成功开启的事件回调(仅适用于桌面系统) | |
收到自定义消息的事件回调 | |
自定义消息丢失的事件回调 | |
收到 SEI 消息的回调 | |
开始向腾讯云直播 CDN 上发布音视频流的事件回调 | |
停止向腾讯云直播 CDN 上发布音视频流的事件回调 | |
开始向非腾讯云 CDN 上发布音视频流的事件回调 | |
停止向非腾讯云 CDN 上发布音视频流的事件回调 | |
设置云端混流的排版布局和转码参数的事件回调 | |
开始发布媒体流的事件回调 | |
更新媒体流的事件回调 | |
停止媒体流的事件回调 | |
RTMP/RTMPS 推流状态发生改变回调 | |
屏幕分享开启的事件回调 | |
屏幕分享暂停的事件回调 | |
屏幕分享恢复的事件回调 | |
屏幕分享停止的事件回调 | |
本地录制任务已经开始的事件回调 | |
本地录制任务正在进行中的进展事件回调 | |
本地录制分片的事件回调 | |
本地录制任务已经结束的事件回调 | |
有主播加入当前房间(已废弃) | |
有主播离开当前房间(已废弃) | |
音效播放已结束(已废弃) |
函数列表 | 描述 |
自定义视频渲染回调 |
函数列表 | 描述 |
SDK 内部 OpenGL 环境已经创建的通知 | |
用于对接第三方美颜组件的视频处理回调 | |
SDK 内部 OpenGL 环境被销毁的通知 |
函数列表 | 描述 |
本地采集并经过音频模块前处理后的音频数据回调 | |
本地采集并经过音频模块前处理、音效处理和混 BGM 后的音频数据回调 | |
混音前的每一路远程用户的音频数据 | |
将各路待播放音频混合之后并在最终提交系统播放之前的数据回调 | |
SDK 所有音频混合后的音频数据(包括采集到的和待播放的) | |
耳返的音频数据 |
函数列表 | 描述 |
本地 LOG 的打印回调 |
- (void)onError: | (TXLiteAVError)errCode |
errMsg: | (nullable NSString *)errMsg |
extInfo: | (nullable NSDictionary*)extInfo |
参数 | 描述 |
errCode | 错误码 |
errMsg | 错误信息 |
extInfo | 扩展信息字段,个别错误码可能会带额外的信息帮助定位问题 |
- (void)onWarning: | (TXLiteAVWarning)warningCode |
warningMsg: | (nullable NSString *)warningMsg |
extInfo: | (nullable NSDictionary*)extInfo |
参数 | 描述 |
extInfo | 扩展信息字段,个别警告码可能会带额外的信息帮助定位问题 |
warningCode | 警告码 |
warningMsg | 警告信息 |
- (void)onEnterRoom: | (NSInteger)result |
参数 | 描述 |
result | result > 0 时为进房耗时(ms),result < 0 时为进房错误码。 |
- (void)onExitRoom: | (NSInteger)reason |
参数 | 描述 |
reason | 离开房间原因,0:主动调用 exitRoom 退出房间;1:被服务器踢出当前房间;2:当前房间整个被解散。 |
- (void)onSwitchRole: | (TXLiteAVError)errCode |
errMsg: | (nullable NSString *)errMsg |
参数 | 描述 |
errCode | 错误码,ERR_NULL 代表切换成功,其他请参见错误码。 |
errMsg | 错误信息。 |
- (void)onSwitchRoom: | (TXLiteAVError)errCode |
errMsg: | (nullable NSString *)errMsg |
参数 | 描述 |
errCode | 错误码,ERR_NULL 代表切换成功,其他请参见错误码。 |
errMsg | 错误信息。 |
- (void)onConnectOtherRoom: | (NSString*)userId |
errCode: | (TXLiteAVError)errCode |
errMsg: | (nullable NSString *)errMsg |
参数 | 描述 |
errCode | 错误码,ERR_NULL 代表切换成功,其他请参见错误码。 |
errMsg | 错误信息。 |
userId | 要跨房通话的另一个房间中的主播的用户 ID。 |
- (void)onDisconnectOtherRoom: | (TXLiteAVError)errCode |
errMsg: | (nullable NSString *)errMsg |
- (void)onUpdateOtherRoomForwardMode: | (TXLiteAVError)errCode |
errMsg: | (nullable NSString *)errMsg |
- (void)onRemoteUserEnterRoom: | (NSString *)userId |
参数 | 描述 |
userId | 远端用户的用户标识。 |
- (void)onRemoteUserLeaveRoom: | (NSString *)userId |
reason: | (NSInteger)reason |
参数 | 描述 |
reason | 离开原因,0表示用户主动退出房间,1表示用户超时退出,2表示被踢出房间,3表示主播因切换到观众退出房间。 |
userId | 远端用户的用户标识。 |
- (void)onUserVideoAvailable: | (NSString *)userId |
available: | (BOOL)available |
参数 | 描述 |
available | 该用户是否发布(或取消发布)了主路视频画面,YES:发布;NO:取消发布。 |
userId | 远端用户的用户标识。 |
- (void)onUserSubStreamAvailable: | (NSString *)userId |
available: | (BOOL)available |
参数 | 描述 |
available | 该用户是否发布(或取消发布)了辅路视频画面,YES: 发布;NO:取消发布。 |
userId | 远端用户的用户标识。 |
- (void)onUserAudioAvailable: | (NSString *)userId |
available: | (BOOL)available |
参数 | 描述 |
available | 该用户是否发布(或取消发布)了自己的音频,YES: 发布;NO:取消发布。 |
userId | 远端用户的用户标识。 |
- (void)onFirstVideoFrame: | (NSString*)userId |
streamType: | |
width: | (int)width |
height: | (int)height |
参数 | 描述 |
height | 画面的高度。 |
streamType | 视频流类型:主路(Main)一般用于承载摄像头画面,辅路(Sub)一般用于承载屏幕分享画面。 |
userId | 本地或远端的用户标识,如果 userId 为空值代表自己本地的首帧画面已到来,userId 不为空则代表远端用户的首帧画面已到来。 |
width | 画面的宽度。 |
- (void)onFirstAudioFrame: | (NSString*)userId |
参数 | 描述 |
userId | 远端用户的用户标识。 |
- (void)onSendFirstLocalVideoFrame: |
参数 | 描述 |
streamType | 视频流类型:主路(Main)一般用于承载摄像头画面,辅路(Sub)一般用于承载屏幕分享画面。 |
- (void)onRemoteVideoStatusUpdated: | (NSString *)userId |
streamType: | |
streamStatus: | |
reason: | |
extrainfo: | (nullable NSDictionary *)extrainfo |
参数 | 描述 |
extrainfo | 额外信息。 |
reason | 视频状态改变的原因。 |
status | 视频状态:包括 Playing、Loading 和 Stopped 三种状态。 |
streamType | 视频流类型:主路(Main)一般用于承载摄像头画面,辅路(Sub)一般用于承载屏幕分享画面。 |
userId | 用户标识。 |
- (void)onRemoteAudioStatusUpdated: | (NSString *)userId |
streamStatus: | |
reason: | |
extrainfo: | (nullable NSDictionary *)extrainfo |
参数 | 描述 |
extrainfo | 额外信息。 |
reason | 音频状态改变的原因。 |
status | 音频状态:包括 Playing、Loading 和 Stopped 三种状态。 |
userId | 用户标识。 |
- (void)onUserVideoSizeChanged: | (NSString *)userId |
streamType: | |
newWidth: | (int)newWidth |
newHeight: | (int)newHeight |
参数 | 描述 |
newHeight | 视频流的高度(像素)。 |
newWidth | 视频流的宽度(像素)。 |
streamType | 视频流类型:主路(Main)一般用于承载摄像头画面,辅路(Sub)一般用于承载屏幕分享画面。 |
userId | 用户标识。 |
- (void)onNetworkQuality: | |
remoteQuality: |
参数 | 描述 |
localQuality | 上行网络质量。 |
remoteQuality | 下行网络质量,代表数据流历经“远端->云端->本端”这样一条完整的传输链路后,最终在本端统计到的数据质量。因此,这里的下行网络质量代表的是远端上行链路与本端下行链路共同影响的结果。 |
- (void)onStatistics: |
参数 | 描述 |
statistics |
- (void)onSpeedTestResult: |
参数 | 描述 |
result |
- (void)onAudioRouteChanged: | |
fromRoute: |
参数 | 描述 |
fromRoute | 变更前的音频路由。 |
route | 音频路由,即声音由哪里输出(扬声器、听筒)。 |
- (void)onUserVoiceVolume: | |
totalVolume: | (NSInteger)totalVolume |
波形图
或 音量槽
。参数 | 描述 |
totalVolume | 所有远端用户的总音量大小,取值范围 0 - 100。 |
userVolumes | 是一个数组,用于承载所有正在说话的用户的音量大小,取值范围 0 - 100。 |
- (void)onDevice: | (NSString *)deviceId |
type: | (TRTCMediaDeviceType)deviceType |
stateChanged: | (NSInteger)state |
参数 | 描述 |
deviceId | 设备 ID。 |
deviceType | 设备类型。 |
state | 通断状态,0:设备断开;1:设备连接。 |
- (void)onAudioDeviceCaptureVolumeChanged: | (NSInteger)volume |
muted: | (BOOL)muted |
禁用麦克风
按钮(图标是一个 话筒
叠加了一道代表禁用的斜线)来将麦克风静音。参数 | 描述 |
muted | 麦克风是否被用户禁用了:YES 被禁用,NO 被启用。 |
volume | 系统采集音量,取值范围 0 - 100,用户可以在系统的声音设置面板上进行拖拽调整。 |
- (void)onAudioDevicePlayoutVolumeChanged: | (NSInteger)volume |
muted: | (BOOL)muted |
参数 | 描述 |
muted | 系统是否被用户静音了:YES 被静音,NO 已恢复。 |
volume | 系统播放音量,取值范围 0 - 100,用户可以在系统的声音设置面板上进行拖拽调整。 |
- (void)onSystemAudioLoopbackError: | (TXLiteAVError)err |
参数 | 描述 |
err | ERR_NULL 表示成功,其余值表示失败。 |
- (void)onRecvCustomCmdMsgUserId: | (NSString *)userId |
cmdID: | (NSInteger)cmdID |
seq: | (UInt32)seq |
message: | (NSData *)message |
参数 | 描述 |
cmdID | 命令 ID。 |
message | 消息数据。 |
seq | 消息序号。 |
userId | 用户标识。 |
- (void)onMissCustomCmdMsgUserId: | (NSString *)userId |
cmdID: | (NSInteger)cmdID |
errCode: | (NSInteger)errCode |
missed: | (NSInteger)missed |
参数 | 描述 |
cmdID | 命令 ID。 |
errCode | 错误码。 |
missed | 丢失的消息数量。 |
userId | 用户标识。 |
- (void)onRecvSEIMsg: | (NSString *)userId |
message: | (NSData*)message |
参数 | 描述 |
message | 数据。 |
userId | 用户标识。 |
- (void)onStartPublishing: | (int)err |
errMsg: | (NSString*)errMsg |
参数 | 描述 |
err | 0表示成功,其余值表示失败。 |
errMsg | 具体错误原因。 |
- (void)onStopPublishing: | (int)err |
errMsg: | (NSString*)errMsg |
参数 | 描述 |
err | 0表示成功,其余值表示失败。 |
errMsg | 具体错误原因。 |
- (void)onStartPublishCDNStream: | (int)err |
errMsg: | (NSString *)errMsg |
参数 | 描述 |
err | 0表示成功,其余值表示失败。 |
errMsg | 具体错误原因。 |
- (void)onStopPublishCDNStream: | (int)err |
errMsg: | (NSString *)errMsg |
参数 | 描述 |
err | 0表示成功,其余值表示失败。 |
errMsg | 具体错误原因。 |
- (void)onSetMixTranscodingConfig: | (int)err |
errMsg: | (NSString*)errMsg |
参数 | 描述 |
err | 错误码:0表示成功,其余值表示失败。 |
errMsg | 具体的错误原因。 |
- (void)onStartPublishMediaStream: | (NSString*)taskId |
code: | (int)code |
message: | (NSString*)message |
extraInfo: | (nullable NSDictionary *)extraInfo |
参数 | 描述 |
code | 回调结果,0 表示成功,其余值表示失败。 |
extraInfo | 扩展信息字段,个别错误码可能会带额外的信息帮助定位问题。 |
message | 具体回调信息。 |
taskId | 当请求成功时,TRTC 后台会在回调中提供给您这项任务的 taskId,后续您可以通过该 taskId 结合 updatePublishMediaStream 和 stopPublishMediaStream 进行更新和停止。 |
- (void)onUpdatePublishMediaStream: | (NSString*)taskId |
code: | (int)code |
message: | (NSString*)message |
extraInfo: | (nullable NSDictionary *)extraInfo |
参数 | 描述 |
code | 回调结果,0 表示成功,其余值表示失败。 |
extraInfo | 扩展信息字段,个别错误码可能会带额外的信息帮助定位问题。 |
message | 具体回调信息。 |
taskId |
- (void)onStopPublishMediaStream: | (NSString*)taskId |
code: | (int)code |
message: | (NSString*)message |
extraInfo: | (nullable NSDictionary *)extraInfo |
参数 | 描述 |
code | 回调结果,0 表示成功,其余值表示失败。 |
extraInfo | 扩展信息字段,个别错误码可能会带额外的信息帮助定位问题。 |
message | 具体回调信息。 |
taskId |
- (void)onCdnStreamStateChanged: | (NSString*)cdnUrl |
status: | (int)status |
code: | (int)code |
msg: | (NSString*)msg |
extraInfo: | (nullable NSDictionary *)info |
参数 | 描述 |
cdnUrl | |
code | 推流结果,0 表示成功,其余值表示出错。 |
extraInfo | 扩展信息字段,个别错误码可能会带额外的信息帮助定位问题。 |
message | 具体推流信息。 |
status | 推流状态。 0:推流未开始或者已结束。在您调用 stopPublishMediaStream 时会返回该状态。 1:正在连接 TRTC 服务器和 CDN 服务器。若无法立刻成功,TRTC 后台服务会多次重试尝试推流,并返回该状态(5s回调一次)。如成功进行推流,则进入状态 2;如服务器出错或 60 秒内未成功推流,则进入状态 4。 2:CDN 推流正在进行。在成功推流后,会返回该状态。 3:TRTC 服务器和 CDN 服务器推流中断,正在恢复。当 CDN 出现异常,或推流短暂中断时,TRTC 后台服务会自动尝试恢复推流,并返回该状态(5s回调一次)。如成功恢复推流,则进入状态 2;如服务器出错或 60 秒内未成功恢复,则进入状态 4。 4:TRTC 服务器和 CDN 服务器推流中断,且恢复或连接超时。即此时推流失败,你可以再次调用 updatePublishMediaStream 尝试推流。 5:正在断开 TRTC 服务器和 CDN 服务器。在您调用 stopPublishMediaStream 时,TRTC 后台服务会依次同步状态 5 和状态 0。 |
- (void)onScreenCapturePaused: | (int)reason |
参数 | 描述 |
reason | 原因。 0:用户主动暂停。 1:注意此字段的含义在 MAC 和 Windows 平台有稍微差异。屏幕窗口不可见暂停(Mac)。表示设置屏幕分享参数导致的暂停(Windows)。 2:表示屏幕分享窗口被最小化导致的暂停(仅 Windows)。 3:表示屏幕分享窗口被隐藏导致的暂停(仅 Windows)。 |
- (void)onScreenCaptureResumed: | (int)reason |
参数 | 描述 |
reason | 恢复原因。 0:用户主动恢复。 1:注意此字段的含义在 MAC 和 Windows 平台有稍微差异。屏幕窗口恢复可见从而恢复分享(Mac)。屏幕分享参数设置完毕后自动恢复(Windows)。 2:表示屏幕分享窗口从最小化被恢复(仅 Windows)。 3:表示屏幕分享窗口从隐藏被恢复(仅 Windows)。 |
- (void)onScreenCaptureStoped: | (int)reason |
参数 | 描述 |
reason | 停止原因,0:用户主动停止;1:屏幕窗口关闭导致停止;2:表示屏幕分享的显示屏状态变更(如接口被拔出、投影模式变更等)。 |
- (void)onLocalRecordBegin: | (NSInteger)errCode |
storagePath: | (NSString *)storagePath |
参数 | 描述 |
errCode | 状态码。 0:录制任务启动成功。 -1:内部错误导致录制任务启动失败。 -2:文件后缀名有误(比如不支持的录制格式)。 -6:录制已经启动,需要先停止录制。 -7:录制文件已存在,需要先删除文件。 -8:录制目录无写入权限,请检查目录权限问题。 |
storagePath | 录制文件存储路径。 |
- (void)onLocalRecording: | (NSInteger)duration |
storagePath: | (NSString *)storagePath |
参数 | 描述 |
duration | 已经录制的累计时长,单位毫秒。 |
storagePath | 录制文件存储路径。 |
- (void)onLocalRecordFragment: | (NSString *)storagePath |
参数 | 描述 |
storagePath | 分片文件存储路径。 |
- (void)onLocalRecordComplete: | (NSInteger)errCode |
storagePath: | (NSString *)storagePath |
参数 | 描述 |
errCode | 状态码。 0:结束录制任务成功。 -1:录制失败。 -2:切换分辨率或横竖屏导致录制结束。 -3:录制时间太短,或未采集到任何视频或音频数据,请检查录制时长,或是否已开启音、视频采集。 |
storagePath | 录制文件存储路径。 |
- (void)onUserEnter: | (NSString *)userId |
- (void)onUserExit: | (NSString *)userId |
reason: | (NSInteger)reason |
- (void)onAudioEffectFinished: | (int) effectId |
code: | (int) code |
- (void) onRenderVideoFrame: | |
userId: | (NSString* __nullable)userId |
streamType: |
参数 | 描述 |
frame | 待渲染的视频帧信息。 |
streamType | 频流类型:主路(Main)一般用于承载摄像头画面,辅路(Sub)一般用于承载屏幕分享画面。 |
userId | 视频源的 userId,如果是本地视频回调(setLocalVideoRenderDelegate),该参数可以忽略。 |
- (uint32_t)onProcessVideoFrame: | |
dstFrame: |
uint32_t onProcessVideoFrame(TRTCVideoFrame * _Nonnull)srcFrame dstFrame:(TRTCVideoFrame * _Nonnull)dstFrame{self.frameID += 1;dstFrame.pixelBuffer = [[FURenderer shareRenderer] renderPixelBuffer:srcFrame.pixelBufferwithFrameId:self.frameIDitems:self.renderItemsitemCount:self.renderItems.count];return 0;}
uint32_t onProcessVideoFrame(TRTCVideoFrame * _Nonnull)srcFrame dstFrame:(TRTCVideoFrame * _Nonnull)dstFrame{thirdparty_process(srcFrame.textureId, srcFrame.width, srcFrame.height, dstFrame.textureId);return 0;}
参数 | 描述 |
dstFrame | 用于接收第三方美颜处理过的视频画面。 |
srcFrame | 用于承载 TRTC 采集到的摄像头画面。 |
- (void) onCapturedAudioFrame: |
采样率 × 时间帧长 × 声道数 × 采样点位宽
。 48000 × 0.02s × 1 × 16bit = 15360bit = 1920字节
。参数 | 描述 |
frame | PCM 格式的音频数据帧。 |
- (void) onLocalProcessedAudioFrame: |
采样率 × 时间帧长 × 声道数 × 采样点位宽
。 48000 × 0.02s × 1 × 16bit = 15360bit = 1920字节
。 TRTCAudioFrame.extraData
字段,达到传输信令的目的。由于音频帧头部的数据块不能太大,建议您写入 extraData
时,尽量将信令控制在几个字节的大小,如果超过 100 个字节,写入的数据不会被发送。 onRemoteUserAudioFrame
中的 TRTCAudioFrame.extraData
字段回调接收数据。参数 | 描述 |
frame | PCM 格式的音频数据帧。 |
- (void) onRemoteUserAudioFrame: | |
userId: | (NSString *)userId |
采样率 × 时间帧长 × 声道数 × 采样点位宽
。 48000 × 0.02s × 1 × 16bit = 15360bit = 1920字节
。参数 | 描述 |
frame | PCM 格式的音频数据帧。 |
userId | 用户标识。 |
- (void) onMixedPlayAudioFrame: |
采样率 × 时间帧长 × 声道数 × 采样点位宽
。 48000 × 0.02s × 1 × 16bit = 15360bit = 1920字节
。参数 | 描述 |
frame | PCM 格式的音频数据帧。 |
- (void) onMixedAllAudioFrame: |
采样率 × 时间帧长 × 声道数 × 采样点位宽
。 48000 × 0.02s × 1 × 16bit = 15360bit = 1920字节
。参数 | 描述 |
frame | PCM 格式的音频数据帧。 |
- (void) onVoiceEarMonitorAudioFrame: |
采样率 × 时间帧长 × 声道数 × 采样点位宽
。 48000 × 0.02s × 1 × 16bit = 15360bit = 1920字节
。参数 | 描述 |
frame | PCM 格式的音频数据帧。 |
-(void) onLog: | (nullable NSString*)log |
LogLevel: | |
WhichModule: | (nullable NSString*)module |
参数 | 描述 |
level | 日志等级请参见 TRTC_LOG_LEVEL。 |
log | 日志内容。 |
module | 保留字段,暂无具体意义,目前为固定值 TXLiteAVSDK。 |
本页内容是否解决了您的问题?