TRTCCloudListener enum

监听器类型枚举

Inheritance

Constructors

TRTCCloudListener()
const

Values

onError → const TRTCCloudListener

错误回调,表示 SDK 遇到了不可恢复的错误,必须监听。根据实际情况显示相应的 UI 提示

参数:

errCode 错误码

errMsg 错误信息


onWarning → const TRTCCloudListener

警告回调。此回调用于提示您一些不严重的问题,例如延迟或可恢复的解码失败

参数:

warningCode 警告码

warningMsg 警告信息


onEnterRoom → const TRTCCloudListener

进入房间的回调

调用 TRTCCloud 中的 enterRoom() API 进入房间后,SDK 会收到 onEnterRoom(result) 回调。

如果进入房间成功,result 将是一个正数(result > 0),表示进入房间所用的时间(毫秒)。

如果进入房间失败,result 将是一个负数(result < 0),表示进入房间失败的错误码。

参数:

如果 result 大于 0,则为进入房间所用的时间(毫秒);如果 result 小于 0,则为进入房间的错误码。


onExitRoom → const TRTCCloudListener

房间退出的回调

当在 TRTCCloud 中调用 exitRoom() API时,将执行与房间退出相关的逻辑,例如释放音频/视频设备和编解码器的资源。资源释放后,SDK将使用 onExitRoom() 回调通知您。

如果您需要再次调用 enterRoom() 或切换到另一个音频/视频SDK,请等待接收到 onExitRoom() 回调;否则,可能会发生如音频设备被占用等异常。

参数:

reason 退出房间的原因。0: 用户主动调用 exitRoom 退出房间;1: 用户被服务器踢出房间;2: 房间被解散。


onSwitchRole → const TRTCCloudListener

角色切换的回调

TRTCCloud 中调用 switchRole() API将在主播和观众角色之间切换,这将伴随着一次线路切换过程。SDK切换角色后,将返回 onSwitchRole() 事件回调。

参数:

errCode 错误代码。0 表示切换成功

errMsg 错误信息


onRemoteUserEnterRoom → const TRTCCloudListener

用户进入当前房间

为了性能考虑,此通知在两种不同的应用场景中的行为将会有所不同:

呼叫场景 (TRTCCloudDef.TRTC_APP_SCENE_VIDEOCALLTRTCCloudDef.TRTC_APP_SCENE_AUDIOCALL):在此场景中的用户没有不同的角色,每当有用户进入房间时,都会触发此通知。

直播场景 (TRTCCloudDef.TRTC_APP_SCENE_LIVETRTCCloudDef.TRTC_APP_SCENE_VOICE_CHATROOM):此场景不限制观众用户的数量。如果任何用户进入或退出房间都能触发回调,将会导致巨大的性能损失。因此,只有当主播而非观众用户进入房间时,才会触发此通知。

参数:

userId 用户ID


onRemoteUserLeaveRoom → const TRTCCloudListener

用户退出当前房间

类似于 onRemoteUserEnterRoom,这个通知在两种不同的应用场景下的行为会有所不同:

通话场景(TRTCCloudDef.TRTC_APP_SCENE_VIDEOCALLTRTCCloudDef.TRTC_APP_SCENE_AUDIOCALL):在这个场景中,用户没有不同的角色,当有用户退出房间时,这个通知会被触发。

直播场景(TRTCCloudDef.TRTC_APP_SCENE_LIVETRTCCloudDef.TRTC_APP_SCENE_VOICE_CHATROOM):只有当主播而非观众用户退出房间时,这个通知才会被触发。

参数:

userId 用户ID

reason 退出房间的原因。0:用户主动退出房间;1:用户因超时退出房间;2:用户被踢出房间。


onConnectOtherRoom → const TRTCCloudListener

请求跨房间通话(主播竞技)结果的回调

调用 TRTCCloud 中的 connectOtherRoom() API 将在两个不同房间的两个主播之间建立视频通话,即 "主播竞技" 功能。呼叫者将收到 onConnectOtherRoom() 回调,以查看跨房间通话是否成功;如果成功,两个房间的所有用户都将收到 onUserVideoAvailable 主播竞技回调。

参数:

userId 目标主播的 userId

errCode 错误码。ERR_NULL 表示成功切换。有关更多信息,请参见 错误码

errMsg 错误信息


onDisConnectOtherRoom → const TRTCCloudListener

结束跨房间通话(主播竞技)结果的回调


onSwitchRoom → const TRTCCloudListener

房间切换结果(switchRoom)的回调

参数:

errCode 错误码

errMsg 错误信息


onUserVideoAvailable → const TRTCCloudListener

远程用户是否有可播放的主图像(通常用于摄像头)

当收到 onUserVideoAvailable(userId, true) 通知时,表示指定图像通道的可用视频数据帧已经到达。此时,需要调用 TRTCCloud.startRemoteView() API 来加载远程用户的图像。然后,将收到渲染第一视频帧的回调,即 onFirstVideoFrame(userid)

当收到 onUserVideoAvailable(userId, false) 通知时,表示远程图像的指定通道已被禁用,可能是因为用户调用了 TRTCCloud.muteLocalVideo()TRTCCloud.stopLocalPreview()

参数:

userId 用户ID

available 图像是否启用


onUserSubStreamAvailable → const TRTCCloudListener

远程用户是否有可播放的辅流图像(通常用于屏幕共享)

参数:

userId 用户ID

available 是否启用屏幕共享


onUserAudioAvailable → const TRTCCloudListener

远程用户是否有可播放的音频数据

参数:

userId 用户ID

available 音频是否启用


onFirstVideoFrame → const TRTCCloudListener

开始渲染本地或远程用户的第一帧

如果 userIdnull,则表示开始渲染捕获的本地摄像头图像,需要先通过调用 startLocalPreview 来触发。如果 userId 不是 null,则表示开始渲染远程用户的第一帧视频,需要先通过调用 startRemoteView 来触发。

只有在调用 TRTCCloud.startLocalPreview()TRTCCloud.startRemoteView() 之后,此回调才会被触发。

参数:

userId 本地或远程用户的ID。userId == null 表示本地用户的ID,而 userId != null 表示远程用户的ID。

streamType 视频流类型:摄像头或屏幕共享。

width 图像宽度

height 图像高度


onFirstAudioFrame → const TRTCCloudListener

开始播放远程用户的第一帧音频(当前不支持本地音频的通知)

参数:

userId 远程用户ID


onSendFirstLocalVideoFrame → const TRTCCloudListener

已发送第一帧本地视频帧数据

在成功调用 TRTCCloud.enterRoom()TRTCCloud.startLocalPreview() 之后,SDK将开始捕获摄像头并编码捕获的图像。在SDK成功将第一帧视频帧数据发送到云端后,将返回此回调事件。

参数:

streamType 视频流类型:大图像,小图像,或子流图像(屏幕共享)


onSendFirstLocalAudioFrame → const TRTCCloudListener

已发送第一帧本地音频帧数据

在成功调用 TRTCCloud.enterRoom()TRTCCloud.startLocalAudio() 之后,SDK将开始捕获麦克风并编码捕获的音频。在SDK成功将第一帧音频帧数据发送到云端后,将返回此回调事件。


onNetworkQuality → const TRTCCloudListener

网络质量:此回调每2秒触发一次,用于收集当前网络上行和下行质量的统计信息

userId 是本地用户ID,表示当前本地视频质量

参数:

localQuality 上行网络质量

remoteQuality 下行网络质量


onStatistics → const TRTCCloudListener

技术指标统计的回调

如果你熟悉音频/视频术语,你可以使用此回调获取SDK的所有技术指标。如果你是第一次开发音频/视频项目,你只需要关注 onNetworkQuality 回调。

注意:此回调每2秒触发一次

参数:

statics 状态数据


onConnectionLost → const TRTCCloudListener

SDK与服务器之间的连接已关闭


onTryToReconnect → const TRTCCloudListener

SDK试图重新连接到服务器


onConnectionRecovery → const TRTCCloudListener

SDK与服务器之间的连接已恢复


onSpeedTest → const TRTCCloudListener

服务器速度测试的回调。SDK会测试多个服务器IP的速度,每个IP的测试结果都会通过此回调通知返回

参数:

currentResult 当前速度测试结果

finishedCount 已进行速度测试的服务器数量

totalCount 需要进行速度测试的服务器总数


onCameraDidReady → const TRTCCloudListener

相机已就绪


onMicDidReady → const TRTCCloudListener

麦克风已就绪


onUserVoiceVolume → const TRTCCloudListener

音量的回调,包括每个userId的音量和总的远程音量

TRTCCloud 中的enableAudioVolumeEvaluation API可以用来启用此回调或设置其触发间隔。需要注意的是,调用 TRTCCloud.enableAudioVolumeEvaluation 启用音量回调后,无论频道中是否有用户在说话,都会在设置的时间间隔内调用回调。如果没有人在说话,userVolumes将为空,totalVolume将为0

注意:如果userId是本地用户ID,表示本地用户的音量。userVolumes只包括正在说话的用户的音量信息(即,音量不为0)。

参数:

userVolumes 房间中所有正在说话的成员的音量。值范围:0100

totalVolume 所有远程成员的总音量。值范围:0100


onRecvCustomCmdMsg → const TRTCCloudListener

接收自定义消息的回调

当房间中的用户使用 TRTCCloud.sendCustomCmdMsg 发送自定义消息时,房间中的其他用户可以通过onRecvCustomCmdMsg API接收到消息。

参数:

userId 用户ID

cmdID 命令ID

seq 消息序列号

message 消息数据


onMissCustomCmdMsg → const TRTCCloudListener

自定义消息丢失的回调

TRTC使用UDP通道;因此,即使设置了可靠传输,也不能保证不会丢失任何消息;相反,它只能将消息丢失率降低到非常小的值,并满足一般的可靠性要求。在发送者设置了可靠传输后,SDK将使用此回调来通知在指定的过去时间段(通常为5s)内在传输过程中丢失的自定义消息的数量。

注意:

只有在发送者设置了可靠传输时,接收者才能接收到消息丢失的回调。

参数:

userId 用户ID

cmdID 数据流ID

errCode 错误码。当前版本的值为-1

missed 丢失的消息数量


onRecvSEIMsg → const TRTCCloudListener

接收SEI消息的回调

当房间中的用户使用 TRTCCloud.sendSEIMsg 发送数据时,房间中的其他用户可以通过onRecvSEIMsg API接收到数据。

参数:

userId 用户ID

message 数据


onStartPublishing → const TRTCCloudListener

开始推送到腾讯云CSS CDN的回调,对应于 TRTCCloud 中的startPublishing() API

参数:

errCode 0:成功;其他值:失败

errMsg 错误的具体原因


onStopPublishing → const TRTCCloudListener

停止推送到腾讯云CSS CDN的回调,对应于TRTCCloud中的stopPublishing() API

参数:

errCode 0: 成功; 其他值: 失败

errMsg 错误的具体原因


onStartPublishCDNStream → const TRTCCloudListener

开始中继推送到CDN完成的回调

此回调对应于TRTCCloud中的startPublishCDNStream() API

注意: 如果Start回调成功,中继推送请求已成功发送到腾讯云。如果目标CDN异常,中继推送可能会失败。

参数:

errCode 0: 成功; 其他值: 失败

errMsg 错误的具体原因


onStopPublishCDNStream → const TRTCCloudListener

停止中继推送到CDN完成的回调

此回调对应于TRTCCloud中的stopPublishCDNStream() API

参数:

errCode 0: 成功; 其他值: 失败

errMsg 错误的具体原因


onSetMixTranscodingConfig → const TRTCCloudListener

设置云端混流参数的回调,对应于TRTCCloud中的setMixTranscodingConfig() API

参数:

errCode 0: 成功; 其他值: 失败

errMsg 错误的具体原因


onMusicObserverStart → const TRTCCloudListener

背景音乐播放开始


onMusicObserverPlayProgress → const TRTCCloudListener

背景音乐播放进度


onMusicObserverComplete → const TRTCCloudListener

背景音乐播放结束


onSnapshotComplete → const TRTCCloudListener

屏幕截图完成的回调

参数:

errCode 0: 成功; 其他值: 失败


onScreenCaptureStarted → const TRTCCloudListener

当屏幕共享开始时,SDK将返回此回调


onScreenCapturePaused → const TRTCCloudListener

当屏幕共享暂停时,SDK将返回此回调

参数:

reason 原因. 0: 用户主动暂停; 1: 屏幕共享因屏幕窗口不可见而暂停

注意: 回调的值仅对iOS有效


onScreenCaptureResumed → const TRTCCloudListener

当屏幕共享恢复时,SDK将返回此回调

参数:

reason 恢复的原因. 0: 用户主动恢复; 1: 屏幕共享因屏幕窗口可见而恢复

注意: 回调的值仅对iOS有效


onScreenCaptureStoped → const TRTCCloudListener

当屏幕共享停止时,SDK将返回此回调

参数:

reason 停止的原因. 0: 用户主动停止; 1: 屏幕共享因共享窗口被关闭而停止


onLocalRecordBegin → const TRTCCloudListener

当本地录制任务已经开始时,SDK会通过这个回调通知

参数:

errCode -0: 录制任务成功开始。 -1: 内部错误导致录制任务无法开始。 -2: 文件后缀名不正确(例如不支持的录制格式)。 -6: 录制已经开始,需要先停止。 -7: 录制文件已经存在,需要先删除文件。 -8: 录制目录没有写权限。请检查目录权限。

storagePath 录制文件存储路径。


onLocalRecording → const TRTCCloudListener

当本地录制任务正在进行时,SDK会定期通过这个回调通知你

你可以在开始本地录制时设置这个事件回调的抛出间隔。

参数:

duration 录制的累计时长,单位为毫秒。

storagePath 录制文件存储路径。


onLocalRecordFragment → const TRTCCloudListener

当你启用分段录制时,SDK会在每次完成一个片段时通过这个回调通知你。

参数:

storagePath 片段文件存储路径。


onLocalRecordComplete → const TRTCCloudListener

当本地录制任务已经结束时,SDK会通过这个回调通知你

参数:

errCode: -0: 录制任务成功结束。 -1: 录制失败。 -2: 切换分辨率或横竖屏导致录制结束。 -3: 录制时间过短,或者没有采集到视频或音频数据。请检查录制时间,或者是否已经打开音视频采集。

storagePath 录制文件存储路径。


onDeviceChange → const TRTCCloudListener

本地设备连接和断开的回调

注意:此回调仅支持Windows和macOS平台

参数:

deviceId 设备ID

type 设备类型

state 事件类型


onTestMicVolume → const TRTCCloudListener

麦克风测试音量的回调

麦克风测试API TXDeviceManager.startMicDeviceTest 将触发此回调

注意:此回调仅支持Windows和macOS平台

参数:

volume 音量值在0到100之间


onTestSpeakerVolume → const TRTCCloudListener

扬声器测试音量的回调

扬声器测试API TXDeviceManager.startSpeakerDeviceTest 将触发此回调

注意:此回调仅支持Windows和macOS平台

参数:

volume 音量值在0到100之间


onStartPublishMediaStream → const TRTCCloudListener

开始发布的回调

code: 0 : 成功; 其他值: 失败.

extraInfo: 额外信息. 对于一些错误代码,可能有额外的信息帮助你解决问题.

message: 回调信息.

taskId: 如果请求成功,任务ID将通过回调返回. 你需要在调用 TRTCCloud.updatePublishMediaStream 修改发布参数或 TRTCCloud.stopPublishMediaStream 停止发布时提供这个任务ID.


onUpdatePublishMediaStream → const TRTCCloudListener

修改发布参数的回调

code: 0 : 成功; 其他值: 失败.

extraInfo: 额外信息. 对于一些错误代码,可能有额外的信息帮助你解决问题.

message: 回调信息.

taskId: 如果请求成功,任务ID将通过回调返回. 你需要在调用 TRTCCloud.updatePublishMediaStream 修改发布参数或 TRTCCloud.stopPublishMediaStream 停止发布时提供这个任务ID.


onStopPublishMediaStream → const TRTCCloudListener

停止发布的回调

code: 0 : 成功; 其他值: 失败.

extraInfo: 额外信息. 对于一些错误代码,可能有额外的信息帮助你解决问题.

message: 回调信息.

taskId: 如果请求成功,任务ID将通过回调返回. 你需要在调用 TRTCCloud.updatePublishMediaStream 修改发布参数或 TRTCCloud.stopPublishMediaStream 停止发布时提供这个任务ID.


Properties

hashCode int
The hash code for this object.
no setterinherited
index int
A numeric identifier for the enumerated value.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

values → const List<TRTCCloudListener>
A constant List of the values in this enum, in order of their declaration.
[onError, onWarning, onEnterRoom, onExitRoom, onSwitchRole, onRemoteUserEnterRoom, onRemoteUserLeaveRoom, onConnectOtherRoom, onDisConnectOtherRoom, onSwitchRoom, onUserVideoAvailable, onUserSubStream…