房间事件回调
开发者可通过注册 RCRTCEngine 事件回调,来监听房间内远端用户的状态及资源变化。
状态相关
-
远端用户加入通知:
当有远端用户加入时触发。因用户加入房间后才能发布资源,该回调代表这名用户刚刚加入,此时并无任何资源发布,所以此刻也订阅不到该用户的任何媒体流。
public OnUserJoinedDelegate OnUserJoined { set; internal get; };
-
远端用户离开通知:
当有远端用户离开房间时触发,此时 SDK 会自动取消订阅该用户已发布的流,无需手动调用
Unsubscribe
。public OnUserLeftDelegate OnUserLeft { set; internal get; };
-
远端用户掉线通知:
当有远端用户掉线时触发,代表该用户意外与融云服务断连超过 1 分钟。网络不好、App 意外崩溃或用户主动杀进程等情况,都会造成客户端与融云服务断连。如 1 分钟内没有恢复,则会被服务判定掉线,此时 SDK 会自动取消订阅该用户的所有资源,无需手动调用
Unsubscribe
。public OnUserOfflineDelegate OnUserOffline { set; internal get; };
-
远端用户音视频静默状态变更通知:
当远端用户调用了
MuteLocalStream
方法时触发。参数mediaType
表示要静默的音视频流类型,参数mute
为远端用户更新后的值,true
代表静默,false
代表恢复正常。public OnRemoteStateChangedDelegate OnRemoteStateChanged { set; internal get; };
资源相关
-
远端用户资源发布通知:
当远端用户发布资源时触发,可以调用
Subscribe
接口,订阅其发布音频。public OnRemotePublishedDelegate OnRemotePublished { set; internal get; };
-
远端用户资源取消发布通知:
当远端用户取消发布资源时触发,接收到后 SDK 会自动取消订阅这些流。开发者也可以根据这些流中的信息,来给用户做出相应的提示
public OnRemoteUnpublishedDelegate OnRemoteUnpublished { set; internal get; };
-
(直播模式专用)主播合流资源发布通知:
当远端主播合流资源发布时出发,可以调用
SubscribeLiveMix
接口,订阅发布的资源。public OnRemoteLiveMixPublishedDelegate OnRemoteLiveMixPublished { set; internal get; };
-
(直播模式专用)主播合流资源取消发布通知:
当远端主播合流资源取消发布时出发,接收到后 SDK 会自动取消订阅这些流。开发者也可以根据这些流中的信息,来给用户做出相应的提示
public OnRemoteLiveMixUnpublishedDelegate OnRemoteLiveMixUnpublished { set; internal get; };
数据相关
-
本地用户收到远端第一个关键帧到达通知:
public OnRemoteFirstFrameDelegate OnRemoteFirstFrame { set; internal get; }
-
(直播模式专用)观众用户订阅合流时收到远端用户第一个音频或视频关键帧回调:
public OnRemoteFirstFrameDelegate OnRemoteLiveMixFirstFrame { set; internal get; }