TRTCCloudListener enum
监听器类型枚举
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_VIDEOCALL 或 TRTCCloudDef.TRTC_APP_SCENE_AUDIOCALL):在此场景中的用户没有不同的角色,每当有用户进入房间时,都会触发此通知。
直播场景 (TRTCCloudDef.TRTC_APP_SCENE_LIVE 或 TRTCCloudDef.TRTC_APP_SCENE_VOICE_CHATROOM):此场景不限制观众用户的数量。如果任何用户进入或退出房间都能触发回调,将会导致巨大的性能损失。因此,只有当主播而非观众用户进入房间时,才会触发此通知。
参数:
userId
用户ID
- onRemoteUserLeaveRoom → const TRTCCloudListener
-
用户退出当前房间
类似于
onRemoteUserEnterRoom
,这个通知在两种不同的应用场景下的行为会有所不同:通话场景(TRTCCloudDef.TRTC_APP_SCENE_VIDEOCALL 或 TRTCCloudDef.TRTC_APP_SCENE_AUDIOCALL):在这个场景中,用户没有不同的角色,当有用户退出房间时,这个通知会被触发。
直播场景(TRTCCloudDef.TRTC_APP_SCENE_LIVE 或 TRTCCloudDef.TRTC_APP_SCENE_VOICE_CHATROOM):只有当主播而非观众用户退出房间时,这个通知才会被触发。
参数:
userId
用户IDreason
退出房间的原因。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
用户IDavailable
图像是否启用
- onUserSubStreamAvailable → const TRTCCloudListener
-
远程用户是否有可播放的辅流图像(通常用于屏幕共享)
参数:
userId
用户IDavailable
是否启用屏幕共享
- onUserAudioAvailable → const TRTCCloudListener
-
远程用户是否有可播放的音频数据
参数:
userId
用户IDavailable
音频是否启用
- onFirstVideoFrame → const TRTCCloudListener
-
开始渲染本地或远程用户的第一帧
如果
userId
是null
,则表示开始渲染捕获的本地摄像头图像,需要先通过调用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
需要进行速度测试的服务器总数
- onSpeedTestResult → const TRTCCloudListener
-
网速测试的结果回调。
该统计回调由 startSpeedTest: 触发。
参数:
result
网速测试结果,包括丢包、往返延迟、上下行的带宽速率,详情请参见 TRTCSpeedTestResult。
- onCameraDidReady → const TRTCCloudListener
-
相机已就绪
- onMicDidReady → const TRTCCloudListener
-
麦克风已就绪
- onUserVoiceVolume → const TRTCCloudListener
-
音量的回调,包括每个
userId
的音量和总的远程音量TRTCCloud 中的
enableAudioVolumeEvaluation
API可以用来启用此回调或设置其触发间隔。需要注意的是,调用 TRTCCloud.enableAudioVolumeEvaluation 启用音量回调后,无论频道中是否有用户在说话,都会在设置的时间间隔内调用回调。如果没有人在说话,userVolumes
将为空,totalVolume
将为0
。注意:如果
userId
是本地用户ID,表示本地用户的音量。userVolumes
只包括正在说话的用户的音量信息(即,音量不为0)。参数:
userVolumes
房间中所有正在说话的成员的音量。值范围:0
–100
。totalVolume
所有远程成员的总音量。值范围:0
–100
。
- onRecvCustomCmdMsg → const TRTCCloudListener
-
接收自定义消息的回调
当房间中的用户使用 TRTCCloud.sendCustomCmdMsg 发送自定义消息时,房间中的其他用户可以通过
onRecvCustomCmdMsg
API接收到消息。参数:
userId
用户IDcmdID
命令IDseq
消息序列号message
消息数据
- onMissCustomCmdMsg → const TRTCCloudListener
-
自定义消息丢失的回调
TRTC使用UDP通道;因此,即使设置了可靠传输,也不能保证不会丢失任何消息;相反,它只能将消息丢失率降低到非常小的值,并满足一般的可靠性要求。在发送者设置了可靠传输后,SDK将使用此回调来通知在指定的过去时间段(通常为5s)内在传输过程中丢失的自定义消息的数量。
注意:
只有在发送者设置了可靠传输时,接收者才能接收到消息丢失的回调。
参数:
userId
用户IDcmdID
数据流IDerrCode
错误码。当前版本的值为-1
missed
丢失的消息数量
- onRecvSEIMsg → const TRTCCloudListener
-
接收SEI消息的回调
当房间中的用户使用 TRTCCloud.sendSEIMsg 发送数据时,房间中的其他用户可以通过
onRecvSEIMsg
API接收到数据。参数:
userId
用户IDmessage
数据
- 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
设备IDtype
设备类型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.
- onAudioRouteChanged → const TRTCCloudListener
-
当前音频路由发生变化(仅适用于移动设备)
所谓“音频路由”,是指声音是从手机的扬声器还是从听筒中播放出来,音频路由变化也就是声音的播放位置发生了变化。 当音频路由为听筒时,声音比较小,只有将耳朵凑近才能听清楚,隐私性较好,适合用于接听电话。 当音频路由为扬声器时,声音比较大,不用将手机贴脸也能听清,因此可以实现“免提”的功能。 当音频路由为有线耳机。 当音频路由为蓝牙耳机。 当音频路由为USB专业声卡设备。
参数:
route
: 音频路由,即声音由哪里输出(扬声器、听筒)。fromRoute
: 变更前的音频路由。
Properties
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.