ByteRTCRoomDelegate class
- Inheritance
-
- Object
- NativeClass
- NativeObserverClass
- ByteRTCRoomDelegate
- Implementers
Properties
-
$instance
↔ dynamic
-
getter/setter pairinherited
-
$resource
→ NativeResource
-
no setterinherited
-
hashCode
→ int
-
The hash code for this object.
no setterinherited
-
ready
→ Future<void>
-
Whether the instance is initialized
no setterinherited
-
runtimeType
→ Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
destroy()
→ void
-
inherited
-
emit(String name, List args)
→ dynamic
-
inherited
-
nativeCall<T>(String method, [List? args, NativeMethodMeta? meta])
→ Future<T>
-
Call instance method
inherited
-
noSuchMethod(Invocation invocation)
→ dynamic
-
Invoked when a nonexistent method or property is accessed.
inherited
-
onPublishPrivilegeTokenWillExpire(ByteRTCRoom rtcRoom)
→ FutureOr<void>
-
@detail callback
@author qipengxiang
@brief Token 发布权限过期前 30 秒将触发该回调。
收到该回调后,你需调用 updateToken:{@link #ByteRTCRTSRoom#updateToken} 更新 Token 发布权限。
@param rtcRoom ByteRTCRoom 实例
@note Token 发布权限过期后:
- 已发布流或尝试发布流时,本端会收到 rtcRoom:onVideoPublishStateChanged:info:state:reason:{@link #ByteRTCRoomDelegate#rtcRoom:onVideoPublishStateChanged:info:state:reason}、rtcRoom:onAudioPublishStateChanged:info:state:reason:{@link #ByteRTCRoomDelegate#rtcRoom:onAudioPublishStateChanged:info:state:reason}回调,提示kPublishStateChangeReasonNoPublishPermission,没有发布权限。
- 发布中的流将停止发布。远端用户会收到 rtcRoom:onUserPublishStreamVideo:info:isPublish:{@link #ByteRTCRoomDelegate#rtcRoom:onUserPublishStreamVideo:info:isPublish}、rtcRoom:onUserPublishStreamAudio:info:isPublish:{@link #ByteRTCRoomDelegate#rtcRoom:onUserPublishStreamAudio:info:isPublish} 回调,提示该流已停止发布。
@order 3
-
onSubscribePrivilegeTokenWillExpire(ByteRTCRoom rtcRoom)
→ FutureOr<void>
-
@detail callback
@author qipengxiang
@brief Token 订阅权限过期前 30 秒将触发该回调。
收到该回调后,你需调用 updateToken:{@link #ByteRTCRTSRoom#updateToken} 更新 Token 订阅权限有效期。
@param rtcRoom ByteRTCRoom 实例
@note 若收到该回调后未及时更新 Token,Token 订阅权限过期后,尝试新订阅流会失败,已订阅的流会取消订阅,并且会收到 rtcRoom:onVideoSubscribeStateChanged:info:state:reason:{@link #ByteRTCRoomDelegate#rtcRoom:onVideoSubscribeStateChanged:info:state:reason}、rtcRoom:onAudioSubscribeStateChanged:info:state:reason:{@link #ByteRTCRoomDelegate#rtcRoom:onAudioSubscribeStateChanged:info:state:reason} 回调,提示错误码为 -1003 没有订阅权限。
-
onTokenWillExpire(ByteRTCRoom rtcRoom)
→ FutureOr<void>
-
@detail callback
@author shenpengliang
@brief 当 SDK 检测到 Token 的进房权限将在 30 秒内过期时,触发该回调。
收到该回调后,你需调用 updateToken:{@link #ByteRTCRTSRoom#updateToken} 更新 Token 进房权限。
@param rtcRoom
ByteRTCRoom 实例
@note 若 Token 进房权限过期且未及时更新:
- 用户此时尝试进房会收到 rtcRoom:onRoomStateChanged:withUid:state:extraInfo:{@link #ByteRTCRoomDelegate#rtcRoom:onRoomStateChanged:withUid:state:extraInfo} 回调,提示错误码为 -1000 Token 无效;
- 用户已在房间内则会被移出房间,本地用户会收到 rtcRoom:onRoomStateChanged:withUid:state:extraInfo:{@link #ByteRTCRoomDelegate#rtcRoom:onRoomStateChanged:withUid:state:extraInfo} 回调,提示错误码为 -1009 Token 过期,同时远端用户会收到 rtcRoom:onUserLeave:reason:{@link #ByteRTCRoomDelegate#rtcRoom:onUserLeave:reason} 回调,提示原因为 1 Token 进房权限过期。
-
registerEvent(String name, dynamic method)
→ void
-
inherited
-
rtcRoom$onAudioPublishStateChanged$info$state$reason(ByteRTCRoom rtcRoom, NSString streamId, ByteRTCStreamInfo info, ByteRTCPublishState state, ByteRTCPublishStateChangeReason reason)
→ FutureOr<void>
-
@detail callback
@region 房间管理
@author xuyiling.x10
@brief 音频发布状态改变回调。
@param rtcRoom ByteRTCRoom 实例。
@param streamId 流 ID。
@param info 流信息。
@param state 发布状态码,参看 ByteRTCPublishState{@link #ByteRTCPublishState}。
@param reason 本端音频流发布状态改变的具体原因,参看 ByteRTCPublishStateChangeReason{@link #ByteRTCPublishStateChangeReason}。
@order 0
-
rtcRoom$onAudioStreamBanned$isBanned(ByteRTCRoom rtcRoom, NSString uid, BOOL banned)
→ FutureOr<void>
-
@detail callback
@author qipengxiang
@brief 通过调用服务端 BanUserStream/UnbanUserStream 方法禁用/解禁指定房间内指定用户音频流的发送时,触发此回调。
@param rtcRoom
ByteRTCRoom 实例
@param uid 被禁用/解禁的音频流用户 ID
@param banned 音频流发送状态
- true: 音频流发送被禁用
- false: 音频流发送被解禁
@note
- 房间内指定用户被禁止/解禁音频流发送时,房间内所有用户都会收到该回调。
- 若被封禁用户断网或退房后再进房,则依然是封禁状态,且房间内所有人会再次收到该回调。
- 指定用户被封禁后,房间内其他用户退房后再进房,会再次收到该回调。
- 在控制台开启音频选路后,只有被封禁/解禁用户会收到该回调。
- 同一房间解散后再次创建,房间内状态清空。
-
rtcRoom$onAudioSubscribeStateChanged$info$state$reason(ByteRTCRoom rtcRoom, NSString streamId, ByteRTCStreamInfo info, ByteRTCSubscribeState state, ByteRTCSubscribeStateChangeReason reason)
→ FutureOr<void>
-
@detail callback
@region 房间管理
@author xuyiling.x10
@brief 音频订阅状态发生改变回调。
@param rtcRoom ByteRTCRoom 实例。
@param streamId 流 ID。
@param info 流信息。
@param state 订阅状态码,参看 ByteRTCSubscribeState{@link #ByteRTCSubscribeState}。
@param reason 音频订阅状态改变的具体原因,参看 ByteRTCSubscribeStateChangeReason{@link #ByteRTCSubscribeStateChangeReason}。
@order 0
-
rtcRoom$onAVSyncEvent$userId$eventCode(ByteRTCRoom rtcRoom, NSString roomId, NSString userId, ByteRTCAVSyncEvent eventCode)
→ FutureOr<void>
-
@detail callback
@valid since 3.60.
@author xuyiling.x10
@brief 发布端调用 setMultiDeviceAVSync:{@link #ByteRTCRoom#setMultiDeviceAVSync} 后音视频同步状态发生错误时,会收到此回调。
@param rtcRoom ByteRTCRoom 对象
@param roomId 房间 ID。
@param userId 用户 ID。
@param eventCode 音视频同步状态错误,参看 ByteRTCAVSyncEvent{@link #ByteRTCAVSyncEvent}。
@order 1
-
rtcRoom$onAVSyncStateChange(ByteRTCRoom rtcRoom, ByteRTCAVSyncState state)
→ FutureOr<void>
-
@detail callback
@author wangzhanqiang
@brief 发布端调用 setMultiDeviceAVSync:{@link #ByteRTCRoom#setMultiDeviceAVSync} 后音视频同步状态发生改变时,会收到此回调。
@param rtcRoom ByteRTCRoom 实例。
@param state 音视频同步状态,参看 ByteRTCAVSyncState{@link #ByteRTCAVSyncState}。
-
rtcRoom$onForwardStreamEvent(ByteRTCRoom rtcRoom, NSArray<ByteRTCForwardStreamEventInfo> infos)
→ FutureOr<void>
-
@detail callback
@author shenpengliang
@brief 跨房间媒体流转发事件回调
@param rtcRoom ByteRTCRoom 对象
@param infos 跨房间媒体流转发目标房间事件数组,详见 ByteRTCForwardStreamEventInfo{@link #ByteRTCForwardStreamEventInfo}
-
rtcRoom$onForwardStreamStateChanged(ByteRTCRoom rtcRoom, NSArray<ByteRTCForwardStreamStateInfo> infos)
→ FutureOr<void>
-
@detail callback
@author shenpengliang
@brief 跨房间媒体流转发状态和错误回调
@param rtcRoom ByteRTCRoom 对象
@param infos 跨房间媒体流转发目标房间信息数组,详见 ByteRTCForwardStreamStateInfo{@link #ByteRTCForwardStreamStateInfo}
-
rtcRoom$onLeaveRoom(ByteRTCRoom rtcRoom, ByteRTCRoomStats stats)
→ FutureOr<void>
-
@detail callback
@region 多房间
@author shenpengliang
@brief 离开房间成功回调。
用户调用 leaveRoom{@link #ByteRTCRoom#leaveRoom} 方法后,SDK 会停止所有的发布订阅流,并释放所有通话相关的音视频资源。SDK 完成所有的资源释放后通过此回调通知用户。
@param rtcRoom ByteRTCRoom 对象。
@param stats 保留参数,目前为空。
@note
- 用户调用 leaveRoom{@link #ByteRTCRoom#leaveRoom} 方法离开房间后,如果立即调用 destroy{@link #ByteRTCRoom#destroy} 销毁房间实例或 destroyRTCEngine{@link #ByteRTCEngine#destroyRTCEngine} 方法销毁 RTC 引擎,则将无法收到此回调事件。
- 离开房间结束通话后,如果 App 需要使用系统音视频设备,则建议在收到此回调后再初始化音视频设备,否则可能由于 SDK 占用了导致 App 初始化音视频设备失败。
@order 2
-
rtcRoom$onLocalStreamStats$info$stats(ByteRTCRoom rtcRoom, NSString streamId, ByteRTCStreamInfo info, ByteRTCLocalStreamStats stats)
→ FutureOr<void>
-
@detail callback
@author yejing
@brief 本地流数据统计以及网络质量回调。
本地用户发布流成功后,SDK 会周期性(2s)的通过此回调事件通知用户发布的流在此次统计周期内的质量统计信息。
统计信息通过 ByteRTCLocalStreamStats{@link #ByteRTCLocalStreamStats} 类型的回调参数传递给用户,其中包括发送音视频比特率、发送帧率、编码帧率,网络质量等。
@param rtcRoom ByteRTCRoom 对象。
@param streamId 流 ID。
@param info 流信息。
@param stats 当前房间本地流数据统计。详见:ByteRTCLocalStreamStats{@link #ByteRTCLocalStreamStats}
-
rtcRoom$onNetworkQuality$remoteQualities(ByteRTCRoom rtcRoom, ByteRTCNetworkQualityStats localQuality, NSArray<ByteRTCNetworkQualityStats> remoteQualities)
→ FutureOr<void>
-
@detail callback
@author chengchao.cc951119
@brief 加入房间并发布或订阅流后, 以每 2 秒一次的频率,报告本地用户和已订阅的远端用户的上下行网络质量信息。
@param rtcRoom ByteRTCRoom 对象
@param localQuality 本端网络质量,详见 ByteRTCNetworkQualityStats{@link #ByteRTCNetworkQualityStats}。
@param remoteQualities 已订阅用户的网络质量,详见 ByteRTCNetworkQualityStats{@link #ByteRTCNetworkQualityStats}。
@note 更多通话中的监测接口,详见通话中质量监测。
-
rtcRoom$onRemoteStreamStats$info$stats(ByteRTCRoom rtcRoom, NSString streamId, ByteRTCStreamInfo info, ByteRTCRemoteStreamStats stats)
→ FutureOr<void>
-
@detail callback
@author yejing
@brief 本地订阅的远端音/视频流数据统计以及网络质量回调。
本地用户订阅流成功后,SDK 会周期性(2s)的通过此回调事件通知用户订阅的流在此次统计周期内的质量统计信息,包括:发送音视频比特率、发送帧率、编码帧率,网络质量等。
@param rtcRoom ByteRTCRoom 对象。
@param streamId 流 ID。
@param info 流信息。
@param stats 当前房间本地流数据统计。 详见:ByteRTCRemoteStreamStats{@link #ByteRTCRemoteStreamStats}
-
rtcRoom$onRoomBinaryMessageReceived$message(ByteRTCRoom rtcRoom, NSString uid, NSData message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief > 该接口将于 3.64 onRoomBinaryMessageReceived:uid:message:{@link #ByteRTCRoomDelegate#rtcRoom:onRoomBinaryMessageReceived:uid:message} 代替。
@brief 收到房间内广播二进制消息的回调。
房间内其他用户调用 sendRoomBinaryMessage:{@link #ByteRTCRoom#sendRoomBinaryMessage} 发送的广播二进制消息时,收到此回调。
@param rtcRoom ByteRTCRoom 对象
@param uid 消息发送者 ID 。
@param message 收到的二进制消息内容。
-
rtcRoom$onRoomBinaryMessageReceived$uid$message(ByteRTCRoom rtcRoom, NSInteger msgid, NSString uid, NSData message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 收到房间内广播二进制消息的回调。
房间内其他用户调用 sendRoomBinaryMessage:{@link #ByteRTCRoom#sendRoomBinaryMessage} 发送的广播二进制消息时,收到此回调。
@param rtcRoom ByteRTCRoom 对象
@param msgid 消息编号。
@param uid 消息发送者 ID 。
@param message 收到的二进制消息内容。
-
rtcRoom$onRoomEvent$uid$state$info(ByteRTCRoom rtcRoom, NSString roomId, NSString uid, ByteRTCRoomEvent state, ByteRTCRoomEventInfo info)
→ FutureOr<void>
-
@hidden
@detail callback
@region 多房间
@valid since 3.60.
@author taoshasha
@brief 房间事件回调。
@param rtcRoom ByteRTCRoom 对象。
@param roomId 房间 ID。
@param uid 用户 ID。
@param state 房间事件状态。详见 ByteRTCRoomEvent{@link #ByteRTCRoomEvent}。
@param info 房间封禁时,包含封禁时间。详见 ByteRTCRoomEventInfo{@link #ByteRTCRoomEventInfo}。
@order 0
-
@valid since 3.52.
@detail callback
@author lichangfeng.rtc
@brief 接收到房间附加信息的回调。
房间内其他用户调用 setRoomExtraInfo:value:{@link #ByteRTCRoom#setRoomExtraInfo:value} 设置房间附加信息,收到此回调。
另外用户加入房间成功后会收到这个房间全量附加信息
@param rtcRoom ByteRTCRoom 对象。
@param key 附加信息的键值
@param value 附加信息的内容
@param lastUpdateUserId 最后更新这条附加信息的用户编号
@param lastUpdateTimeMs 最后更新这条附加信息的 Unix 时间,时间精度是毫秒
-
rtcRoom$onRoomMessageReceived$message(ByteRTCRoom rtcRoom, NSString uid, NSString message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief > 该接口将于 3.64 onRoomMessageReceived:uid:message:{@link #ByteRTCRoomDelegate#rtcRoom:onRoomMessageReceived:uid:message} 代替。
@brief 收到房间中调用 sendRoomMessage:{@link #ByteRTCRoom#sendRoomMessage} 发送的广播文本消息时,收到此回调。
@param rtcRoom ByteRTCRoom 对象
@param uid 消息发送者 ID 。
@param message 收到的文本消息内容。
-
rtcRoom$onRoomMessageReceived$uid$message(ByteRTCRoom rtcRoom, NSInteger msgid, NSString uid, NSString message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 收到房间中调用 sendRoomMessage:{@link #ByteRTCRoom#sendRoomMessage} 发送的广播文本消息时,收到此回调。
@param rtcRoom ByteRTCRoom 对象
@param msgid 消息编号。
@param uid 消息发送者 ID 。
@param message 收到的文本消息内容。
-
rtcRoom$onRoomMessageSendResult$error(ByteRTCRoom rtcRoom, NSInteger msgid, ByteRTCRoomMessageSendResult error)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 调用 sendRoomMessage:{@link #ByteRTCRoom#sendRoomMessage} 或 sendRoomBinaryMessage:{@link #ByteRTCRoom#sendRoomBinaryMessage} 向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。
@param rtcRoom ByteRTCRoom 对象。
@param msgid 本条消息的 ID。
@param error 消息发送结果,详见 ByteRTCRoomMessageSendResult{@link #ByteRTCRoomMessageSendResult}
-
@detail callback
@region 多房间
@author shenpengliang
@brief 房间状态改变回调,加入房间、异常退出房间、发生房间相关的警告或错误时会收到此回调。
@param rtcRoom ByteRTCAudioRoom 实例
@param roomId 房间 ID。
@param uid 用户 ID。
@param state 房间状态码。
- 0: 加入房间成功。
- !0: 加入房间失败、异常退房、发生房间相关的警告或错误。具体原因参看 ByteRTCErrorCode{@link #ByteRTCErrorCode} 及 ByteRTCWarningCode{@link #ByteRTCWarningCode}。
@param extraInfo 额外信息,如 {"elapsed":1187,"join_type":0}。
join_type表示加入房间的类型,0为首次进房,1为重连进房。
elapsed表示加入房间耗时,即本地用户从调用 joinRoom:userInfo:userVisibility:roomConfig:{@link #ByteRTCRoom#joinRoom:userInfo:userVisibility:roomConfig} 到加入房间成功所经历的时间间隔,单位为 ms。
@order 0
-
rtcRoom$onRoomStateChangedWithReason$withUid$state$reason(ByteRTCRoom rtcRoom, NSString roomId, NSString uid, ByteRTCRoomState state, ByteRTCRoomStateChangeReason reason)
→ FutureOr<void>
-
@hidden
@detail callback
@author shenpengliang
@brief 房间状态改变回调,加入房间、异常退出房间、发生房间相关的警告或错误时会收到此回调。
@param rtcRoom ByteRTCAudioRoom 实例
@param roomId 房间 ID。
@param uid 用户 ID。
@param state 房间状态码。
- 0: 加入房间成功。
- 1: 加入房间失败、异常退房、发生房间相关的警告或错误。
- 2: 离开房间。
@param reason 房间状态发生变化的原因。参看 ByteRTCRoomStateChangeReason{@link #ByteRTCRoomStateChangeReason}。
-
rtcRoom$onRoomStats(ByteRTCRoom rtcRoom, ByteRTCRoomStats stats)
→ FutureOr<void>
-
@detail callback
@region 多房间
@author yejing
@brief 房间内通话统计信息回调。
用户进房开始通话后,每 2s 收到一次本回调。
@param rtcRoom ByteRTCRoom 对象。
@param stats 当前 ByteRTCRoom 统计数据,详见:ByteRTCRoomStats{@link #ByteRTCRoomStats}
-
@valid since 3.54
@detail callback
@brief 接收同一房间内,其他用户调用 setStreamExtraInfo:{@link #ByteRTCRoom#setStreamExtraInfo} 设置的流附加信息的回调。
@param rtcRoom
ByteRTCRoom 实例
@param streamId 流附加信息的流 ID
@param streamInfo 流附加信息的流信息
@param extraInfo 流附加信息
-
rtcRoom$onRoomWarning(ByteRTCRoom rtcRoom, ByteRTCWarningCode warningCode)
→ FutureOr<void>
-
@hidden
@deprecated since 3.41 and will be deleted in 3.51, use rtcRoom:onRoomStateChanged:withUid:state:extraInfo:{@link #ByteRTCRoomDelegate#rtcRoom:onRoomStateChanged:withUid:state:extraInfo} and rtcRoom:onStreamStateChanged:withUid:state:extraInfo:{@link #ByteRTCRoomDelegate#rtcRoom:onStreamStateChanged:withUid:state:extraInfo} instead.
@detail callback
@author shenpengliang
@brief 发生警告回调。
SDK 运行时出现了警告。SDK 通常会自动恢复,警告信息可以忽略。
@param rtcRoom ByteRTCRoom 对象。
@param warningCode 警告码,详见枚举类型 ByteRTCWarningCode{@link #ByteRTCWarningCode} 。
-
@valid since 3.52.
@detail callback
@author lichangfeng.rtc
@brief 调用 setRoomExtraInfo:value:{@link #ByteRTCRoom#setRoomExtraInfo:value} 结果回调。
@param rtcRoom ByteRTCRoom 对象。
@param taskId 本次调用的任务编号。
@param result 设置房间附加信息结果,详见 ByteRTCSetRoomExtraInfoResult{@link #ByteRTCSetRoomExtraInfoResult}
-
rtcRoom$onStreamAdd(ByteRTCRoom rtcRoom, id<ByteRTCStream> stream)
→ FutureOr<void>
-
@deprecated since 3.36 and will be deleted in 3.51, use rtcRoom:onUserPublishStreamVideo:info:isPublish:{@link #ByteRTCRoomDelegate#rtcRoom:onUserPublishStreamVideo:info:isPublish}instead.
@detail callback
@author shenpengliang
@brief 以下情况会触发此回调:
- 房间内的用户发布新的音视频流时,房间内的其他用户会收到此回调通知。
- 房间内的用户原音视频流被移出后,又重新发布音视频流时,房间内的其他用户会收到此回调通知。
- 用户刚加入房间时,会收到此回调,包含房间中所有已发布的流。
@param rtcRoom ByteRTCRoom 对象。
@param stream 流属性,参看 ByteRTCStream{@link #ByteRTCStream} 。
-
rtcRoom$onStreamPublishSuccess$isScreen(ByteRTCRoom rtcRoom, NSString userId, BOOL isScreen)
→ FutureOr<void>
-
@hidden for internal use only
@detail callback
@region 多房间
@author shenpengliang
@brief 当发布流成功的时候回调该事件
@param rtcRoom ByteRTCRoom 对象。
@param userId 用户 ID
@param isScreen 该流是否是屏幕流
-
rtcRoom$onStreamRemove$stream$reason(ByteRTCRoom rtcRoom, NSString uid, id<ByteRTCStream> stream, ByteRTCStreamRemoveReason reason)
→ FutureOr<void>
-
@hidden
@deprecated since 3.36 and will be deleted in 3.51, use rtcRoom:onUserUnpublishStream:type:reason: instead.
@detail callback
@author shenpengliang
@brief 房间内的远端用户停止发布音视频流时,本地用户会收到此回调通知。
@param rtcRoom ByteRTCRoom 对象
@param uid 远端流来源的用户 ID 。
@param stream 流的属性,参看 ByteRTCStream{@link #ByteRTCStream}。
@param reason 远端流移除的原因,参看 ByteRTCStreamRemoveReason{@link #ByteRTCStreamRemoveReason} 。
-
@deprecated since 3.60, refer to Upgrade Guide for more.
@detail callback
@author shenpengliang
@brief 流状态改变回调,发生流相关的警告或错误时会收到此回调。
@param rtcRoom
ByteRTCRoom 实例
@param roomId 房间 ID。
@param uid 用户 ID。
@param state 流状态码,参看 ByteRTCErrorCode{@link #ByteRTCErrorCode} 及 ByteRTCWarningCode{@link #ByteRTCWarningCode}。
@param extraInfo 附加信息,目前为空。
-
rtcRoom$onSubtitleMessageReceived(ByteRTCRoom rtcRoom, NSArray<ByteRTCSubtitleMessage> subtitles)
→ FutureOr<void>
-
@detail callback
@author qiaoxingwang
@brief 字幕相关内容回调。
当用户调用 startSubtitle:{@link #ByteRTCRoom#startSubtitle} 后会收到此回调,通知字幕的相关信息。
@param rtcRoom ByteRTCRoom 实例。
@param subtitles 字幕消息内容。参看 ByteRTCSubtitleMessage{@link #ByteRTCSubtitleMessage}。
-
rtcRoom$onSubtitleStateChanged$errorCode$errorMessage(ByteRTCRoom rtcRoom, ByteRTCSubtitleState state, ByteRTCSubtitleErrorCode errorCode, NSString errorMessage)
→ FutureOr<void>
-
@detail callback
@author qiaoxingwang
@brief 字幕状态发生改变回调。
当用户调用 startSubtitle:{@link #ByteRTCRoom#startSubtitle} 和 stopSubtitle{@link #ByteRTCRoom#stopSubtitle} 使字幕状态发生改变或出现错误时,触发该回调。
@param rtcRoom ByteRTCRoom 实例。
@param state 字幕状态。参看 ByteRTCSubtitleState{@link #ByteRTCSubtitleState}。
@param errorCode 字幕任务错误码。参看 ByteRTCSubtitleErrorCode{@link #ByteRTCSubtitleErrorCode}。
@param errorMessage 第三方服务出现的错误。当因第三方服务出现错误,导致字幕状态改变时,用户可通过此参数获取具体的错误信息。如果不是因为第三方服务导致字幕状态改变,该字段为空。
-
rtcRoom$onUserBinaryMessageReceived$message(ByteRTCRoom rtcRoom, NSString uid, NSData message)
→ FutureOr<void>
-
@detail callback
@brief > 该接口将于 3.64 onUserBinaryMessageReceived:uid:message:{@link #ByteRTCRoomDelegate#rtcRoom:onUserBinaryMessageReceived:uid:message} 代替。
@author hanchenchen.c
@brief 收到来自房间中其他用户通过 sendUserBinaryMessage:message:config:{@link #ByteRTCRTSRoom#sendUserBinaryMessage:message:config} 发来的点对点二进制消息时,会收到此回调。
@param rtcRoom ByteRTCRoom 对象
@param uid 消息发送者的用户 ID。
@param message 收到的二进制消息内容。
-
rtcRoom$onUserBinaryMessageReceived$uid$message(ByteRTCRoom rtcRoom, NSInteger msgid, NSString uid, NSData message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 收到来自房间中其他用户通过 sendUserBinaryMessage:message:config:{@link #ByteRTCRTSRoom#sendUserBinaryMessage:message:config} 发来的点对点二进制消息时,会收到此回调。
@param rtcRoom ByteRTCRoom 对象
@param msgid 消息编号.
@param uid 消息发送者的用户 ID。
@param message 收到的二进制消息内容。
-
rtcRoom$onUserJoined(ByteRTCRoom rtcRoom, ByteRTCUserInfo userInfo)
→ FutureOr<void>
-
@detail callback
@author shenpengliang
@brief 远端可见用户加入房间,或房内不可见用户切换为可见的回调。
1. 远端用户调用 setUserVisibility:{@link #ByteRTCRoom#setUserVisibility} 方法将自身设为可见后加入房间时,房间内其他用户将收到该事件。
2. 远端可见用户断网后重新连入房间时,房间内其他用户将收到该事件。
3. 房间内隐身远端用户调用 setUserVisibility:{@link #ByteRTCRoom#setUserVisibility} 方法切换至可见时,房间内其他用户将收到该事件。
4. 新进房用户会收到进房前已在房内的可见用户的进房回调通知。
@param rtcRoom ByteRTCRoom 对象。
@param userInfo 用户信息,参看 ByteRTCUserInfo{@link #ByteRTCUserInfo}。
-
rtcRoom$onUserLeave$reason(ByteRTCRoom rtcRoom, NSString uid, ByteRTCUserOfflineReason reason)
→ FutureOr<void>
-
@detail callback
@author shenpengliang
@brief 远端用户离开 RTC 房间,或切至不可见时,本地用户会收到此事件
@param rtcRoom
ByteRTCRoom 实例
@param uid 离开房间,或切至不可见的的远端用户 ID。
@param reason 用户离开房间的原因:
- 0: 远端用户调用 leaveRoom{@link #ByteRTCRoom#leaveRoom} 主动退出房间。
- 1: 远端用户因 Token 过期或网络原因等掉线。详细信息请参看连接状态提示
- 2: 远端用户调用 setUserVisibility:{@link #ByteRTCRoom#setUserVisibility} 切换至不可见状态。
- 3: 服务端调用 OpenAPI 将远端用户踢出房间。
-
rtcRoom$onUserMessageReceived$message(ByteRTCRoom rtcRoom, NSString uid, NSString message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief > 该接口将于 3.64 onUserMessageReceived:uid:message:{@link #ByteRTCRoomDelegate#rtcRoom:onUserMessageReceived:uid:message} 代替。
@brief 收到来自房间中其他用户通过 sendUserMessage:message:config:{@link #ByteRTCRTSRoom#sendUserMessage:message:config} 发来的点对点文本消息时,会收到此回调。
@param rtcRoom ByteRTCRoom 对象
@param uid 消息发送者的用户 ID。
@param message 收到的文本消息内容。
-
rtcRoom$onUserMessageReceived$uid$message(ByteRTCRoom rtcRoom, NSInteger msgid, NSString uid, NSString message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 收到来自房间中其他用户通过 sendUserMessage:message:config:{@link #ByteRTCRTSRoom#sendUserMessage:message:config} 发来的点对点文本消息时,会收到此回调。
@param rtcRoom ByteRTCRoom 对象
@param msgid 消息编号。
@param uid 消息发送者的用户 ID。
@param message 收到的文本消息内容。
-
rtcRoom$onUserMessageSendResult$error(ByteRTCRoom rtcRoom, NSInteger msgid, ByteRTCUserMessageSendResult error)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 向房间内单个用户发送文本或二进制消息后(P2P),消息发送方会收到该消息发送结果回调。
@param rtcRoom ByteRTCRoom 对象。
@param msgid 本条消息的 ID。
@param error 消息发送结果,详见 ByteRTCUserMessageSendResult{@link #ByteRTCUserMessageSendResult}
@note
- 你应调用 sendUserMessage:message:config:{@link #ByteRTCRTSRoom#sendUserMessage:message:config} 向房间内单个用户发送文本消息
- 你应调用 sendUserBinaryMessage:message:config:{@link #ByteRTCRTSRoom#sendUserBinaryMessage:message:config} 向房间内单个用户发送二进制消息
-
rtcRoom$onUserPublishStreamAudio$info$isPublish(ByteRTCRoom rtcRoom, NSString streamId, ByteRTCStreamInfo info, BOOL isPublish)
→ FutureOr<void>
-
@detail callback
@region 房间管理
@author xuyiling.x10
@brief 房间内远端麦克风采集的媒体流的回调。
@param rtcRoom ByteRTCRoom 对象
@param streamId 流 ID。
@param info 流信息。
@param isPublish 为true代表流发布,为false代表流移除。
@note 当房间内的远端用户调用 publishStreamAudio:{@link #ByteRTCRoom#publishStreamAudio} 成功发布由麦克风采集的媒体流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 subscribeStreamAudio:subscribe:{@link #ByteRTCRoom#subscribeStreamAudio:subscribe} 订阅此流。
@order 2
-
rtcRoom$onUserPublishStreamVideo$info$isPublish(ByteRTCRoom rtcRoom, NSString streamId, ByteRTCStreamInfo info, BOOL isPublish)
→ FutureOr<void>
-
@detail callback
@region 房间管理
@author xuyiling.x10
@brief 房间内远端摄像头采集的媒体流的回调。
@param rtcRoom ByteRTCRoom 对象
@param streamId 流 ID。
@param info 流信息。
@param isPublish 为true代表流发布,为false代表流移除。
@note 当房间内的远端用户调用 publishStreamVideo:{@link #ByteRTCRoom#publishStreamVideo} 成功发布由摄像头采集的媒体流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 subscribeStreamVideo:subscribe:{@link #ByteRTCRoom#subscribeStreamVideo:subscribe} 订阅此流。
@order 2
-
rtcRoom$onUserVisibilityChanged$errorCode(ByteRTCRoom rtcRoom, BOOL currentUserVisibility, ByteRTCUserVisibilityChangeError errorCode)
→ FutureOr<void>
-
@valid since 3.54
@detail callback
@author caocun
@brief 用户调用 setUserVisibility:{@link #ByteRTCRoom#setUserVisibility} 设置用户可见性的回调。
@param rtcRoom
ByteRTCRoom 实例
@param currentUserVisibility 当前用户的可见性。
- YES: 可见,用户可以在房间内发布音视频流,房间中的其他用户将收到用户的行为通知,例如进房、开启视频采集和退房。
- NO: 不可见,用户不可以在房间内发布音视频流,房间中的其他用户不会收到用户的行为通知,例如进房、开启视频采集和退房。
@param errorCode 设置用户可见性错误码,参看 ByteRTCUserVisibilityChangeError{@link #ByteRTCUserVisibilityChangeError}。
-
rtcRoom$onVideoPublishStateChanged$info$state$reason(ByteRTCRoom rtcRoom, NSString streamId, ByteRTCStreamInfo info, ByteRTCPublishState state, ByteRTCPublishStateChangeReason reason)
→ FutureOr<void>
-
@detail callback
@region 房间管理
@author xuyiling.x10
@brief 视频发布状态改变回调。
@param rtcRoom ByteRTCRoom 实例。
@param streamId 流 ID。
@param info 流信息。
@param state 发布状态码,参看 ByteRTCPublishState{@link #ByteRTCPublishState}。
@param reason 本端视频流发布状态改变的具体原因,参看 ByteRTCPublishStateChangeReason{@link #ByteRTCPublishStateChangeReason}。
@order 0
-
rtcRoom$onVideoStreamBanned$isBanned(ByteRTCRoom rtcRoom, NSString uid, BOOL banned)
→ FutureOr<void>
-
@detail callback
@author qipengxiang
@brief 通过调用服务端 BanUserStream/UnbanUserStream 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。
@param rtcRoom
ByteRTCRoom 实例
@param uid 被禁用/解禁的视频流用户 ID
@param banned 视频流发送状态
- true: 视频流发送被禁用
- false: 视频流发送被解禁
@note
- 房间内指定用户被禁止/解禁视频流发送时,房间内所有用户都会收到该回调。
- 若被封禁用户断网或退房后再进房,则依然是封禁状态,且房间内所有人会再次收到该回调。
- 指定用户被封禁后,房间内其他用户退房后再进房,会再次收到该回调。
- 同一房间解散后再次创建,房间内状态清空。
-
rtcRoom$onVideoSubscribeStateChanged$info$state$reason(ByteRTCRoom rtcRoom, NSString streamId, ByteRTCStreamInfo info, ByteRTCSubscribeState state, ByteRTCSubscribeStateChangeReason reason)
→ FutureOr<void>
-
@detail callback
@region 房间管理
@author xuyiling.x10
@brief 视频订阅状态发生改变回调。
@param rtcRoom ByteRTCRoom 实例。
@param streamId 流 ID。
@param info 流信息。
@param state 订阅状态码,参看 ByteRTCSubscribeState{@link #ByteRTCSubscribeState}。
@param reason 视频订阅状态改变的具体原因,参看 ByteRTCSubscribeStateChangeReason{@link #ByteRTCSubscribeStateChangeReason}。
@order 0
-
sendInstanceGet<T>(String property)
→ Future<T>
-
Get instance property
inherited
-
sendInstancePropertiesGet(dynamic nativeClass)
→ Future<Map<String, dynamic>>
-
Get instance properties
inherited
-
sendInstanceSet(String property, dynamic value)
→ Future<void>
-
Set instance property
inherited
-
toString()
→ String
-
A string representation of this object.
inherited
-
updateInstance(dynamic instance)
→ void
-
inherited
-
updateResource(NativeResource resource)
→ void
-
inherited