RCRTCRoomEventDelegate Protocol Reference

Conforms to NSObject
Declared in RCRTCRoomEventDelegate.h

Overview

音视频通话的房间代理, 实现这个代理之后房间成员变化以及资源的变化都会通过代理通知给您

– didJoinUser:

远端用户加入通知

- (void)didJoinUser:(RCRTCRemoteUser *)user

Parameters

user

加入的用户信息 @discussion 有用户加入的回调, 此时 user 不包含任何资源, 只是标记有人加入, 此时无法订阅这个人的流

@remarks 代理

Discussion

远端用户加入通知

Declared In

RCRTCRoomEventDelegate.h

– didLeaveUser:

远端用户离开通知

- (void)didLeaveUser:(RCRTCRemoteUser *)user

Parameters

user

离开的用户 @discussion 有用户离开时的回调, 当有用户离开的时候, SDK 会取消订阅这个 user, APP 无需再次调用取消订阅的接口

@remarks 代理

Discussion

远端用户离开通知

Declared In

RCRTCRoomEventDelegate.h

– didOfflineUser:

远端用户掉线通知

- (void)didOfflineUser:(RCRTCRemoteUser *)user

Parameters

user

掉线的用户 @discussion 有用户掉线时的回调, 当有用户掉线的时候, SDK 会取消订阅这个 user, APP 无需再次调用取消订阅的接口

@remarks 代理

Discussion

远端用户掉线通知

Declared In

RCRTCRoomEventDelegate.h

– didConnectToStream:

流连接成功

- (void)didConnectToStream:(RCRTCInputStream *)stream

Parameters

stream

连接成功的流 @discussion 流连接成功

@remarks 代理

Discussion

流连接成功

Declared In

RCRTCRoomEventDelegate.h

– didReportFirstKeyframe:

第一个关键帧到达通知

- (void)didReportFirstKeyframe:(RCRTCInputStream *)stream

Parameters

stream

开始接收数据的 stream @discussion 数据流第一个关键帧到达

@remarks 代理

Discussion

第一个关键帧到达通知

Declared In

RCRTCRoomEventDelegate.h

– didPublishStreams:

远端用户发布资源通知

- (void)didPublishStreams:(NSArray<RCRTCInputStream*> *)streams

Parameters

streams

用户发布的资源信息 @discussion 当有远端用户发布资源时, 通过此方法回调通知上报该用户发布的流, 其中流中有 userID(用户 ID), tag(标识符), type(流类型), state(是否禁用) 等关键信息, 可调用订阅接口, 订阅其中的流

@remarks 代理

Discussion

远端用户发布资源通知

Declared In

RCRTCRoomEventDelegate.h

– didUnpublishStreams:

远端用户取消发布资源通知

- (void)didUnpublishStreams:(NSArray<RCRTCInputStream*> *)streams

Parameters

streams

取消发布资源 @discussion 当有远端用户取消发布资源时, 通过此方法回调, SDK 默认会取消订阅这些流, 其中流中有 userID(用户 ID), tag(标识符), type(流类型), state(是否禁用) 等关键信息, APP 可根据这些关键信息自定义化, 无需再次调用取消订阅接口

@remarks 代理

Discussion

远端用户取消发布资源通知

Declared In

RCRTCRoomEventDelegate.h

– didReceiveMessage:

接收到其他人发送到 room 里的消息

- (void)didReceiveMessage:(RCMessage *)message

Parameters

message

消息体, 参考 IMLib 中 RCMessage @discussion 接收到其他人发送到 room 里的消息

@remarks 代理

Discussion

接收到其他人发送到 room 里的消息

Declared In

RCRTCRoomEventDelegate.h

– didKickedOutOfTheRoom:

如果用户调用 RCRTCEngine 的 setReconnectEnable 关闭 SDK 断线重连, 1分钟没有链接上信令服务器, SDK 会关闭音视频连接, 释放资源, 将用户踢出房间, 回调通知用户

- (void)didKickedOutOfTheRoom:(RCRTCRoom *)room

Parameters

room

离开的房间 @discussion 如果用户调用 RCRTCEngine 的 setReconnectEnable 关闭 SDK 断线重连, 1分钟没有链接上信令服务器, SDK 会关闭音视频连接, 释放资源, 将用户踢出房间, 回调通知用户

@remarks 代理

Discussion

如果用户调用 RCRTCEngine 的 setReconnectEnable 关闭 SDK 断线重连, 1分钟没有链接上信令服务器, SDK 会关闭音视频连接, 释放资源, 将用户踢出房间, 回调通知用户

Declared In

RCRTCRoomEventDelegate.h

– didKickedByServer:

被服务端踢下线通知

- (void)didKickedByServer:(RCRTCBaseRoom *)room

Parameters

room

离开的房间 @discussion 如果用户在房间内, 此时收到服务器封禁的通知, SDK 会关闭音视频连接, 释放资源, 将用户踢出房间, 回调通知用户

@remarks 代理

Discussion

被服务端踢下线通知

Declared In

RCRTCRoomEventDelegate.h

– stream:didAudioMute:

远端用户音频静默改变通知

- (void)stream:(RCRTCInputStream *)stream didAudioMute:(BOOL)mute

Parameters

stream

流信息

mute

当前流是否可用 @discussion 音频状态改变

@remarks 代理

Discussion

远端用户音频静默改变通知

Declared In

RCRTCRoomEventDelegate.h

– stream:didVideoEnable:

远端用户视频静默改变通知

- (void)stream:(RCRTCInputStream *)stream didVideoEnable:(BOOL)enable

Parameters

stream

流信息

enable

当前流是否可用 @discussion 视频状态改变

@remarks 代理

Discussion

远端用户视频静默改变通知

Declared In

RCRTCRoomEventDelegate.h

– didRequestJoinOtherRoom:inviterUserId:extra:

其他房间邀请人调用 RCRTCLocalUser 类中 requestJoinOtherRoom:userId:autoMix:extra:completion: 方法, 定向发起连麦邀请后, 被邀请人收到的回调, 其他非被邀请人不会收到此回调

- (void)didRequestJoinOtherRoom:(NSString *)inviterRoomId inviterUserId:(NSString *)inviterUserId extra:(NSString *)extra

Parameters

inviterRoomId

邀请人所在房间号

inviterUserId

邀请人的用户Id

extra

自定义扩展信息, 邀请人发起邀请时填写的自定义扩展信息 @discussion 其他房间邀请人定向发起连麦邀请后, 被邀请人收到的回调, 其他非被邀请人不会收到此回调

@remarks 代理

Discussion

其他房间邀请人调用 RCRTCLocalUser 类中 requestJoinOtherRoom:userId:autoMix:extra:completion: 方法, 定向发起连麦邀请后, 被邀请人收到的回调, 其他非被邀请人不会收到此回调

Declared In

RCRTCRoomEventDelegate.h

– didCancelRequestOtherRoom:inviterUserId:extra:

其他房间邀请人调用 RCRTCLocalUser 类中 cancelRequestJoinOtherRoom:userId:extra:completion: 方法, 取消之前发起的连麦邀请后, 被邀请人收到的回调, 其他非被邀请人不会收到此回调

- (void)didCancelRequestOtherRoom:(NSString *)inviterRoomId inviterUserId:(NSString *)inviterUserId extra:(NSString *)extra

Parameters

inviterRoomId

邀请人所在房间号

inviterUserId

邀请人的用户Id

extra

自定义扩展信息, 邀请人取消邀请时填写的自定义扩展信息 @discussion 其他房间邀请人取消之前发起的连麦邀请后, 被邀请人收到的回调, 其他非被邀请人不会收到此回调

@remarks 代理

Discussion

其他房间邀请人调用 RCRTCLocalUser 类中 cancelRequestJoinOtherRoom:userId:extra:completion: 方法, 取消之前发起的连麦邀请后, 被邀请人收到的回调, 其他非被邀请人不会收到此回调

Declared In

RCRTCRoomEventDelegate.h

– didResponseJoinOtherRoom:inviterUserId:inviteeRoomId:inviteeUserId:agree:extra:

被邀请人调用 RCRTCLocalUser 类中 responseJoinOtherRoom:userId:agree:autoMix:extra:completion: 方法, 被邀请人应答同意连麦邀请后, 邀请人及其房间中其他非观众用户收到的回调 被邀请人应答拒绝连麦邀请后, 只有邀请人收到的回调, 其他用户不会收到此回调

- (void)didResponseJoinOtherRoom:(NSString *)inviterRoomId inviterUserId:(NSString *)inviterUserId inviteeRoomId:(NSString *)inviteeRoomId inviteeUserId:(NSString *)inviteeUserId agree:(BOOL)agree extra:(NSString *)extra

Parameters

inviterRoomId

邀请人所在房间号

inviterUserId

邀请人的用户Id

inviteeRoomId

被邀请人所在房间号

inviteeUserId

被邀请人的用户Id

agree

被邀请人同意/拒绝

extra

自定义扩展信息, 被邀请人应答时填写的自定义扩展信息 @discussion 被邀请人应答同意连麦邀请后, 邀请人及其房间中其他非观众用户收到的回调 被邀请人应答拒绝连麦邀请后, 只有邀请人收到的回调, 其他用户不会收到此回调

@remarks 代理

Discussion

被邀请人调用 RCRTCLocalUser 类中 responseJoinOtherRoom:userId:agree:autoMix:extra:completion: 方法, 被邀请人应答同意连麦邀请后, 邀请人及其房间中其他非观众用户收到的回调 被邀请人应答拒绝连麦邀请后, 只有邀请人收到的回调, 其他用户不会收到此回调

Declared In

RCRTCRoomEventDelegate.h

– didFinishOtherRoom:userId:

结束连麦用户在调用 RCRTCEngine 类中 leaveOtherRoom:notifyFinished:completion: 方法时, 如果将 notifyFinished 对应的参数填写为 YES, 正在跨房间连麦的所有用户将会收到此回调, 否则不会收到此回调

- (void)didFinishOtherRoom:(NSString *)roomId userId:(NSString *)userId

Parameters

roomId

结束连麦用户所在房间号

userId

结束连麦用户Id @discussion 结束连麦用户在调用 leaveOtherRoom:notifyFinished:completion: 方法时, 如果将 notifyFinished 对应的参数填写为 YES, 正在跨房间连麦的所有用户将会收到此回调, 否则不会收到此回调

@remarks 代理

Discussion

结束连麦用户在调用 RCRTCEngine 类中 leaveOtherRoom:notifyFinished:completion: 方法时, 如果将 notifyFinished 对应的参数填写为 YES, 正在跨房间连麦的所有用户将会收到此回调, 否则不会收到此回调

Declared In

RCRTCRoomEventDelegate.h