GameRTCEngineDelegate

@protocol GameRTCEngineDelegate <NSObject>

成员函数

返回 名称
void rtcEngine:onJoinRoomSuccess:uid:isRejoined:elapsed:
void rtcEngine:onLeaveRoom:
void rtcEngine:onUserJoined:uid:
void rtcEngine:onUserLeave:uid:reason:
void rtcEngine:onMicrophoneEnabled:room:uid:
void rtcEngine:onAudioSendEnabled:room:uid:
void rtcEngine:onSpeakerphoneEnabled:room:uid:
void rtcEngine:onAudioVolumeIndication:speakers:totalVolume:
void rtcEngine:onConnectionStateChanged:
void rtcEngine:onNetworkQuality:uid:txQuality:rxQuality:
void rtcEngine:onEngineWarning:
void rtcEngine:onRoomWarning:room:
void rtcEngine:onRoomError:room:

函数说明

rtcEngine:onJoinRoomSuccess:uid:isRejoined:elapsed:

- (void)rtcEngine:(GameRTCEngineKit *)engine onJoinRoomSuccess:(NSString *)roomId uid:(NSString *)uid isRejoined:(BOOL)isRejoined elapsed:(int)elapsed;

用户成功加入房间/重连进房后,收到此回调。

传入参数

参数名 类型 说明
engine GameRTCEngineKit* GameRTCEngineKit 实例
roomId NSString* 房间 ID
uid NSString* 用户 ID
isRejoined BOOL 是否为重连进房:
• true: 是重连进房
• false:是初次进房
elapsed int 加入房间耗时。用户从调用 joinRoom:uid:token:config: 方法到加入房间成功所经历的时间间隔,单位为 ms。

rtcEngine:onLeaveRoom:

- (void)rtcEngine:(GameRTCEngineKit *)engine onLeaveRoom:(NSString *)roomId;

离开房间成功回调
用户调用 leaveRoom: 方法后,SDK 会停止所有的发布订阅流,并释放所有通话相关的音视频资源。SDK 完成所有的资源释放后,用户收到此回调。
离开房间结束通话后,如果 App 需要使用系统音视频设备,建议在收到此回调后再初始化音视频设备.否则可能由于 SDK 占用了导致 App 初始化音视频设备失败。

传入参数

参数名 类型 说明
engine GameRTCEngineKit* GameRTCEngineKit 实例
roomId NSString* 房间 ID

注意 用户调用 leaveRoom: 方法离开房间后,如果立即调用 destroy 方法销毁 GameRTC 引擎,则将无法收到此回调事件。

rtcEngine:onUserJoined:uid:

- (void)rtcEngine:(GameRTCEngineKit *)engine onUserJoined:(NSString *)roomId uid:(NSString *)uid;

远端用户加入房间回调。
以下情形下,本地用户会收到此回调:

传入参数

参数名 类型 说明
engine GameRTCEngineKit* GameRTCEngineKit 实例
roomId NSString* 房间 ID
uid NSString* 用户 ID

rtcEngine:onUserLeave:uid:reason:

- (void)rtcEngine:(GameRTCEngineKit *)engine onUserLeave:(NSString *)roomId uid:(NSString *)uid reason:(GameRTCUserLeaveType)reason;

远端用户离开房间回调。
房间中有用户主动调用 leaveRoom: 方法离开房间或断线超时离开房间时,房间中其他用户都会收到此回调。

传入参数

参数名 类型 说明
engine GameRTCEngineKit* GameRTCEngineKit 实例
roomId NSString* 房间 ID
uid NSString* 离开房间的用户的用户 ID
reason GameRTCUserLeaveType 用户离开的原因。参看 GameRTCUserLeaveType

rtcEngine:onMicrophoneEnabled:room:uid:

- (void)rtcEngine:(GameRTCEngineKit *)engine onMicrophoneEnabled:(BOOL)enabled room:(NSString *)roomId uid:(NSString *)uid;

远端用户开关麦克风回调
当用户调用 enableMicrophone:room: 更改本地音频采集和发布状态时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
engine GameRTCEngineKit* GameRTCEngineKit 实例
enabled BOOL • true: 打开麦克风
• false: 关闭麦克风
roomId NSString* 房间 ID
uid NSString* 更改本地音频采集和发布状态的用户的 ID

rtcEngine:onAudioSendEnabled:room:uid:

- (void)rtcEngine:(GameRTCEngineKit *)engine onAudioSendEnabled:(BOOL)enabled room:(NSString *)roomId uid:(NSString *)uid;

远端用户启停音频数据发送的回调
当用户调用 enableAudioSend:room: 更改本地音频发送状态时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
engine GameRTCEngineKit* GameRTCEngineKit 实例
enabled BOOL • true: 开启音频发送
• false: 停止音频发送
roomId NSString* 房间 ID
uid NSString* 更改本地音频发送状态的用户的 ID

rtcEngine:onSpeakerphoneEnabled:room:uid:

- (void)rtcEngine:(GameRTCEngineKit *)engine onSpeakerphoneEnabled:(BOOL)enabled room:(NSString *)roomId uid:(NSString *)uid;

远端用户启停音频数据接收的回调
当用户调用 enableSpeakerphone:room: 更改远端音频接收状态时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
engine GameRTCEngineKit* GameRTCEngineKit 实例
enabled BOOL • true: 开启接收远端音频
• false: 停止接收远端音频
roomId NSString* 房间 ID
uid NSString* 更改远端音频接收状态的用户的 ID

rtcEngine:onAudioVolumeIndication:speakers:totalVolume:

- (void)rtcEngine:(GameRTCEngineKit *)engine onAudioVolumeIndication:(NSString *)roomId speakers:(NSArray<GameRTCAudioVolumeInfo *> *)speakers totalVolume:(NSInteger)totalVolume;

提示本地采集的音量信息和在房间内订阅的远端用户的音量信息。
本回调默认不开启。你可以通过 GameRTCRoomConfig 中的参数 audioVolumeIndicationInterval 开启。

传入参数

参数名 类型 说明
engine GameRTCEngineKit* GameRTCEngineKit 实例
roomId NSString* 房间 ID
speakers NSArray* 本地用户和订阅的远端用户的 ID 和音量。参见:GameRTCAudioVolumeInfo。
totalVolume NSInteger speakers 中包含的所有音频音量之和,取值范围是:[0,255]

注意

rtcEngine:onConnectionStateChanged:

- (void)rtcEngine:(GameRTCEngineKit *)engine onConnectionStateChanged:(GameRTCConnectionState)state;

用户与 RTC 服务器连接状态发生改变时,收到此回调。

传入参数

参数名 类型 说明
engine GameRTCEngineKit* GameRTCEngineKit 实例
state GameRTCConnectionState 用户当前与 RTC 服务器的连接状态,参看 GameRTCConnectionState

rtcEngine:onNetworkQuality:uid:txQuality:rxQuality:

- (void)rtcEngine:(GameRTCEngineKit *)engine onNetworkQuality:(NSString*)roomId uid:(NSString *)uid txQuality:(GameRTCNetworkQuality)txQuality rxQuality:(GameRTCNetworkQuality)rxQuality;

通话中用户的媒体流网络上下行质量报告回调。加入房间成功后,每隔 2 秒会触发此回调,通知房间内用户与媒体服务器之间数据交互的网络质量。

传入参数

参数名 类型 说明
engine GameRTCEngineKit* GameRTCEngineKit 实例
roomId NSString* 房间 ID
uid NSString* 回调的网络质量报告所属用户的用户 ID 。
txQuality GameRTCNetworkQuality 用户的媒体流上行网络质量,参看 GameRTCNetworkQuality。
rxQuality GameRTCNetworkQuality 用户的媒体流下行网络质量,参看 GameRTCNetworkQuality。

注意

rtcEngine:onEngineWarning:

- (void)rtcEngine:(GameRTCEngineKit *)engine onEngineWarning:(GameRTCEngineWarningCode)Code;

SDK 运行时出现了引擎相关的警告时,收到此回调。

传入参数

参数名 类型 说明
engine GameRTCEngineKit* GameRTCEngineKit 实例
Code GameRTCEngineWarningCode 警告码,详情定义见: GameRTCEngineWarningCode

注意 通常情况下,SDK 上报的警告信息可以忽略,SDK 能够自动恢复。

rtcEngine:onRoomWarning:room:

- (void)rtcEngine:(GameRTCEngineKit *)engine onRoomWarning:(GameRTCRoomWarningCode)Code room:(NSString *)roomId;

SDK 运行时,出现房间相关警告,收到此回调。

传入参数

参数名 类型 说明
engine GameRTCEngineKit* GameRTCEngineKit 实例
Code GameRTCRoomWarningCode 警告代码,详情定义见: GameRTCRoomWarningCode
roomId NSString* 房间 ID

注意 通常情况下,SDK 上报的警告信息可以忽略,SDK 能够自动恢复。

rtcEngine:onRoomError:room:

- (void)rtcEngine:(GameRTCEngineKit *)engine onRoomError:(GameRTCRoomErrorCode)Code room:(NSString *)roomId;

房间相关错误回调。

传入参数

参数名 类型 说明
engine GameRTCEngineKit* GameRTCEngineKit 实例
Code GameRTCRoomErrorCode 错误码,参见 GameRTCRoomErrorCode
roomId NSString* 房间 ID