JRTCSDK-iOS v2601.0
多方通话 API 文档
载入中...
搜索中...
未找到
<JRTCRoomCallback>协议 参考

#include <JRTCRoomCallback.h>

实例方法

(void) - onRoomStateChanged:oldState:room:
(void) - onRoomPropertyChanged:room:
(void) - onRemoteRecordStateChanged:oldState:room:
(void) - onScreenShareStateChanged:shareStreamId:oldShareUserId:oldShareStreamId:changeType:room:
(void) - onJoin:reason:roomId:room:
(void) - onLeave:roomId:room:
(void) - onKickUserResult:reason:room:
(void) - onQuery:result:reason:queryInfo:room:
(void) - onParticipantJoin:room:
(void) - onParticipantLeft:reason:room:
(void) - onParticipantUpdate:changeParam:room:
(void) - onMessageReceived:content:fromUserId:room:
(void) - onInviteReceived:inviter:room:
(void) - onInviteSipUserResult:result:reason:room:
(void) - onDeliveryAbort:deliveryUserId:reason:room:
(void) - onFileAudioInputFinish:
(void) - onEnableRemoteAdvancedRecordResult:result:error:
(void) - onVideoStreamAbnormalDetected:abnormalNode:abnormalType:room:

详细描述

房间相关事件回调

成员函数文档

◆ onDeliveryAbort:deliveryUserId:reason:room:

- (void) onDeliveryAbort: (bool) isShutDown
deliveryUserId: (NSString *) deliveryUserId
reason: (NSString *) reason
room: (JRTCRoom *) room 
optionalrequired

录制异常回调

远程录制异常退出时会上报此回调。

参数
isShutDown录制异常时服务器是否自动结束通话
  • true: 自动结束通话
  • false: 不自动结束通话
deliveryUserId录制异常的用户ID
reason录制异常的原因
room当前 JRTCRoom 对象

◆ onEnableRemoteAdvancedRecordResult:result:error:

- (void) onEnableRemoteAdvancedRecordResult: (JRTCRoom *) room
result: (bool) result
error: (NSString *) error 
optionalrequired

开启远程录制(增强录制)结果回调

参数
room当前 JRTCRoom 对象
result开启远程录制是否成功
  • true: 成功
  • false: 失败
error失败错误描述,当 result 为 false 时该值有效。

◆ onFileAudioInputFinish:

- (void) onFileAudioInputFinish: (JRTCRoom *) room
optionalrequired

本地文件音频源输入完成回调

◆ onInviteReceived:inviter:room:

- (void) onInviteReceived: (NSString *) roomId
inviter: (JRTCInviter *) inviter
room: (JRTCRoom *) room 
optionalrequired

收到房间邀请

参数
roomId房间号
inviter邀请成员对象
room当前 JRTCRoom 对象

◆ onInviteSipUserResult:result:reason:room:

- (void) onInviteSipUserResult: (int) operationId
result: (bool) result
reason: (ReasonCode) reason
room: (JRTCRoom *) room 
optionalrequired

邀请Sip用户结果回调

调用 inviteSipUser 接口邀请落地用户时,会收到此回调。

参数
operationId操作ID,对应 inviteSipUser 接口返回值
result邀请用户是否成功
reason失败原因,当 result 为 false 时该值有效。参见:失败原因
room当前 JRTCRoom 对象

◆ onJoin:reason:roomId:room:

- (void) onJoin: (bool) result
reason: (ReasonCode) reason
roomId: (NSString *) roomId
room: (JRTCRoom *) room 
required

加入房间结果回调

调用 join 接口成功后,会收到此回调。

参数
result加入房间是否成功
  • true: 成功
  • false: 失败
reason加入失败原因,当 result 为 false 时该值有效。失败原因参见:错误码
roomId房间标识
room当前 JRTCRoom 对象

◆ onKickUserResult:reason:room:

- (void) onKickUserResult: (bool) result
reason: (NSString *) reason
room: (JRTCRoom *) room 
optionalrequired

踢出成员结果回调

调用 kickUser 接口成功后,会收到此回调。

参数
result操作结果是否成功
  • true: 操作成功
  • false: 操作失败
reason失败原因描述
room当前 JRTCRoom 对象

◆ onLeave:roomId:room:

- (void) onLeave: (ReasonCode) reason
roomId: (NSString *) roomId
room: (JRTCRoom *) room 
optionalrequired

离开房间结果回调

调用 leave 接口成功后,会收到此回调。

参数
reason离开原因,参见:离开原因
roomId房间标识
room当前 JRTCRoom 对象

◆ onMessageReceived:content:fromUserId:room:

- (void) onMessageReceived: (NSString *) type
content: (NSString *) content
fromUserId: (NSString *) fromUserId
room: (JRTCRoom *) room 
optionalrequired

接收房间消息的回调

当房间中有成员调用 sendMessage 接口发送消息时,接收消息的成员会收到此回调。

参数
type消息类型,对应 sendMessage 方法中的 type 参数
content消息内容,对应 sendMessage 方法中的 content 参数
fromUserId消息发送成员的用户ID
room当前 JRTCRoom 对象

◆ onParticipantJoin:room:

- (void) onParticipantJoin: (JRTCRoomParticipant *) participant
room: (JRTCRoom *) room 
optionalrequired

新成员加入回调

当有用户调用 join 接口加入房间成功时,已在房间中的成员会收到此回调。

参数
participantJRTCRoomParticipant 成员对象
room当前 JRTCRoom 对象

◆ onParticipantLeft:reason:room:

- (void) onParticipantLeft: (JRTCRoomParticipant *) participant
reason: (ReasonCode) reason
room: (JRTCRoom *) room 
optionalrequired

成员离开回调

当房间中有成员调用 leave 接口离开房间后,房间中的其他成员会收到此回调。

参数
participantJRTCRoomParticipant 成员对象
reason离开原因
room当前 JRTCRoom 对象

◆ onParticipantUpdate:changeParam:room:

- (void) onParticipantUpdate: (JRTCRoomParticipant *) participant
changeParam: (JRTCRoomParticipantChangeParam *) changeParam
room: (JRTCRoom *) room 
optionalrequired

成员属性更新回调

当房间中有成员的属性发生变化时,房间中的其他成员会收到此回调,例如音频上传状态、视频上传状态、网络状态等发生变化。

参数
participantJRTCRoomParticipant 成员对象
changeParamJRTCRoomParticipantChangeParam 更新标识类对象
room当前 JRTCRoom 对象

◆ onQuery:result:reason:queryInfo:room:

- (void) onQuery: (int) operationId
result: (bool) result
reason: (ReasonCode) reason
queryInfo: (JRTCRoomQueryInfo *) queryInfo
room: (JRTCRoom *) room 
optionalrequired

查询房间信息结果回调

调用 query 接口成功后,会收到此回调。

参数
operationId操作ID,对应 query 接口返回值
result查询房间信息是否成功
  • true: 查询成功
  • false: 查询失败
reason查询失败原因,当 result 为 false 时该值有效。失败原因参见:错误码
queryInfoJRTCRoomQueryInfo 对象,查询到的房间信息,当失败时只需关注 roomId
room当前 JRTCRoom 对象

◆ onRemoteRecordStateChanged:oldState:room:

- (void) onRemoteRecordStateChanged: (RecordState) state
oldState: (RecordState) oldState
room: (JRTCRoom *) room 
optional

远程录制状态变化回调

当远程录制状态发生变化时,会收到此回调。

参数
state当前远程录制状态
oldState变化前远程录制状态
room当前 JRTCRoom 对象

◆ onRoomPropertyChanged:room:

- (void) onRoomPropertyChanged: (JRTCRoomPropChangeParam *) changeParam
room: (JRTCRoom *) room 

房间属性变化回调

当房间的属性发生变化时,会收到此回调,例如房间中有成员发起屏幕共享、录制状态发生变化等。

参数
changeParamJRTCRoomPropChangeParam 变化标识集合
room当前 JRTCRoom 对象

◆ onRoomStateChanged:oldState:room:

- (void) onRoomStateChanged: (RoomState) state
oldState: (RoomState) oldState
room: (JRTCRoom *) room 

自身在房间中的状态变化回调

当自身在房间中的状态发生变化时,会收到此回调,例如加入房间、加入房间成功、离开回调等。

状态:

参数
state当前状态
oldState变化前状态
room当前 JRTCRoom 对象

◆ onScreenShareStateChanged:shareStreamId:oldShareUserId:oldShareStreamId:changeType:room:

- (void) onScreenShareStateChanged: (nullable NSString *) shareUserId
shareStreamId: (nullable NSString *) shareStreamId
oldShareUserId: (nullable NSString *) oldShareUserId
oldShareStreamId: (nullable NSString *) oldShareStreamId
changeType: (JRTCScreenShareChangeType) changeType
room: (JRTCRoom *) room 
optionalrequired

屏幕共享状态变化回调

当屏幕共享开始、结束、共享者变化或订阅状态变化时,会收到此回调。

参数
shareUserId当前屏幕共享者用户 ID,结束屏幕共享时为空
shareStreamId当前屏幕共享流 ID,结束屏幕共享时为空
oldShareUserId变化前屏幕共享者用户 ID,开始屏幕共享时为空
oldShareStreamId变化前屏幕共享流 ID,开始屏幕共享时为空
changeType屏幕共享变化类型
room当前 JRTCRoom 对象

◆ onVideoStreamAbnormalDetected:abnormalNode:abnormalType:room:

- (void) onVideoStreamAbnormalDetected: (NSString *) streamId
abnormalNode: (JRTCRoomAbnormalNode) abnormalNode
abnormalType: (JRTCRoomAbnormalType) abnormalType
room: (JRTCRoom *) room 
optionalrequired

视频流异常检测事件回调

参数
streamId视频流ID
abnormalNode异常节点
abnormalType异常类型
room当前 JRTCRoom 对象