方法

引擎管理

方法 描述
sharedEngineWithConfig:delegate:parameters: 创建 GameRTCEngine 实例。

GameRTCEngine 实例成功创建后,你才可以使用 SDK 提供的其他能力。
destroy 销毁引擎

销毁引擎实例,并释放所有相关资源
getSdkVersion 获取 SDK 当前的版本号。

房间管理

方法 描述
joinRoom:uid:token:config: 加入实时语音房间。

在使用实时语音的通话功能时,必须先加入实时语音房间。

调用该方法后,会收到 rtcEngine:onJoinRoomResult:uid:errorCode:isRejoined:elapsed: 回调。
leaveRoom: 离开房间

用户调用此方法离开房间,结束通话过程,释放所有通话相关的资源。

调用 joinRoom:uid:token:config: 方法加入房间后,在通话结束时必须调用此方法结束通话,否则无法开始下一次通话。无论当前是否在房间中,都可以调用此方法。重复调用此方法不会有负面影响。

此方法是异步操作,调用返回时并没有真正退出房间。真正退出房间后,本端会收到 rtcEngine:onLeaveRoom: 回调通知。
updateToken:room: 更新进房 token。
在进房时如果收到错误码为 GameRTCJoinRoomErrorCodeJoinRoomInvalidToken 的 rtcEngine:onJoinRoomResult:uid:errorCode:isRejoined:elapsed: 回调,表示 token 过期导致进房失败。
此时,你应调用此接口,以新 token 进房。

音频管理

方法 描述
enableMicrophone:room: 控制本地音频采集和发布状态。

改变该状态后,房间内其他用户会收到 rtcEngine:onMicrophoneEnabled:room:uid: 回调。
enableAudioSend:room: 控制本地语音的发送状态:发送/不发送

使用此方法后,房间中的其他用户会收到回调 rtcEngine:onAudioSendEnabled:room:uid:。
enableSpeakerphone:room: 设置对来自远端的语音的接收状态。
使用此方法后,房间中的其他用户会收到回调 rtcEngine:onSpeakerphoneEnabled:room:uid:。
enableAudioReceive:room:uid: 设置对来自指定远端用户的语音的接收状态。
setRecordingVolume: 调节音频采集音量。
setPlaybackVolume: 调节本地播放的所有远端用户混音后的音量。
setRemoteAudioPlaybackVolume:room:uid: 调节来自指定远端用户的音频播放音量,默认为 100。
setAudioScenario: 设置音频场景类型。

你可以根据你的应用所在场景,选择合适的音频场景类型。

选择音频场景后,RTC 会自动根据客户端音频路由和发布订阅状态,适用通话音量/媒体音量。

本方法在进房前和进房后设置均可生效。

范围语音

方法 描述
updateReceiveRange:room: 在世界房间中,使用范围语音功能时,设定语音的接收范围和衰减信息。
updatePosition:room: 使用范围、空间语音功能时,设置玩家的坐标。

空间语音

方法 描述
updateOrientation:room: 使用空间语音功能时,设置玩家的方位。

回调

房间管理

回调 描述
rtcEngine:onJoinRoomResult:uid:errorCode:isRejoined:elapsed: 用户成功加入房间/重连进房后,收到此回调。
rtcEngine:onLeaveRoom: 离开房间成功回调

用户调用 leaveRoom: 方法后,SDK 会停止所有的发布订阅流,并释放所有通话相关的音视频资源。SDK 完成所有的资源释放后,用户收到此回调。

离开房间结束通话后,如果 App 需要使用系统音视频设备,建议在收到此回调后再初始化音视频设备.否则可能由于 SDK 占用了导致 App 初始化音视频设备失败。
rtcEngine:onUserJoined:uid: 远端用户加入房间回调。

以下情形下,本地用户会收到此回调:

+ 远端用户首次加入房间/重连加入房间;

+ 本地用户加入房间时,会收到回调,提示已在房间中的远端用户。
rtcEngine:onUserLeave:uid:reason: 远端用户离开房间回调。

房间中有用户主动调用 leaveRoom: 方法离开房间或断线超时离开房间时,房间中其他用户都会收到此回调。
rtcEngine:onRoomWarning:room: SDK 运行时,出现房间相关警告,收到此回调。
rtcEngine:onRoomError:room: 房间相关错误回调。

音频管理

回调 描述
rtcEngine:onMicrophoneEnabled:room:uid: 远端用户开关麦克风回调

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

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

当用户调用 enableSpeakerphone:room: 更改远端音频接收状态时,房间内其他用户会收到此回调。
rtcEngine:onAudioVolumeIndication:speakers:totalVolume: 提示本地采集的音量信息和在房间内订阅的远端用户的音量信息。

本回调默认不开启。你可以通过 GameRTCRoomConfig 中的参数 audioVolumeIndicationInterval 开启。

引擎管理

回调 描述
rtcEngine:onConnectionStateChanged: 用户与 RTC 服务器连接状态发生改变时,收到此回调。
rtcEngine:onNetworkQuality:uid:txQuality:rxQuality: 通话中用户的媒体流网络上下行质量报告回调。加入房间成功后,每隔 2 秒会触发此回调,通知房间内用户与媒体服务器之间数据交互的网络质量。
rtcEngine:onEngineWarning: SDK 运行时出现了引擎相关的警告时,收到此回调。

监控

回调 描述
rtcEngine:onMonitorLog:withType: 埋点日志回调