GameRTCAudioPerfProfile

typedef NS_ENUM(NSUInteger, GameRTCAudioPerfProfile)

音频处理策略等级

枚举值

类型 值 说明
AUDIO_PERF_PROFILE_AUTO 0 自动策略。默认值。根据应用所在机型等级,自动适配音频处理策略。
AUDIO_PERF_PROFILE_LOW 1 低配策略。关闭 AEC、ANS、AGC 算法,音频采样率设置为 16000。
AUDIO_PERF_PROFILE_MID 2 中配策略。开启 AEC、ANS、AGC 算法,音频采样率设置为 16000。
AUDIO_PERF_PROFILE_HIGH 3 高配策略。开启 AEC、ANS、AGC 算法,音频采样率设置为 48000。

GameRTCEngineConfig

@interface GameRTCEngineConfig : NSObject

引擎配置信息

成员变量

类型 名称
NSString* appId
NSString* deviceId
GameRTCAudioPerfProfile audioPerfProfile

变量说明

appId

@property (nonatomic, copy) NSString * _Nonnull appId;

应用 ID。只有使用相同 appId 创建的 Engine 实例之间才能进行实时音视频通话

deviceId

@property (nonatomic, copy) NSString * _Nonnull deviceId;

设备 ID,用来唯一区分使用实时语音的设备

audioPerfProfile

@property (nonatomic, assign) GameRTCAudioPerfProfile audioPerfProfile;

音频处理策略等级,参看 GameRTCAudioPerfProfile。

GameRTCRoomType

typedef NS_ENUM(NSInteger, GameRTCRoomType)

房间类型

枚举值

类型 值 说明
GameRTCRoomTypeTeam 0 小队房间。默认值。

进入同一小队房间的成员是队友关系。
进入小队房间后,打开麦克风可以向房间内所有队友讲话;打开扬声器就可以收听房间内所有队友讲话。
GameRTCRoomTypeWorld 1 世界房间。

你需要判断进入同一房间的成员是否为队友关系,进而决定收听逻辑。

GameRTCRoomConfig

@interface GameRTCRoomConfig : NSObject

房间配置信息

成员变量

类型 名称
BOOL enableRangeAudio
int audioVolumeIndicationInterval
GameRTCRoomType roomType

变量说明

enableRangeAudio

@property (nonatomic, assign) BOOL enableRangeAudio;

设置是否开启范围语音

audioVolumeIndicationInterval

@property (nonatomic, assign) int audioVolumeIndicationInterval;

收到音量提示回调的时间间隔:

roomType

@property (nonatomic, assign) GameRTCRoomType roomType;

房间类型,参看 GameRTCRoomType

GameRTCReceiveRange

@interface GameRTCReceiveRange : NSObject

使用范围语音功能时,语音的接收范围

成员变量

类型 名称
int min
int max

变量说明

min

@property (nonatomic, assign) int min;

收听声音无衰减的最小范围值。
当收听者和声源距离小于 min 的时候,收听到的声音完全无衰减。

max

@property (nonatomic, assign) int max;

能够收听到声音的最大范围。
当收听者和声源距离大于 max 的时候,无法收听到声音。
当收听者和声源距离处于 [min, max) 之间时,收听到的音量根据距离有衰减。

GameRTCPositionInfo

@interface GameRTCPositionInfo : NSObject

玩家位置信息

成员变量

类型 名称
int x
int y
int z

变量说明

x

@property (nonatomic, assign) int x;

x 坐标

y

@property (nonatomic, assign) int y;

y 坐标

z

@property (nonatomic, assign) int z;

z 坐标

GameRTCUserLeaveType

typedef NS_ENUM(NSUInteger, GameRTCUserLeaveType)

用户离开房间的原因

枚举值

类型 值 说明
GameRTCUserLeaveTypeQuit 0 用户主动离开,即调用 rtcEngine:onLeaveRoom: 方法退出房间
GameRTCUserLeaveTypeDropped 1 用户掉线。用户因为网络等原因掉线

GameRTCConnectionState

typedef NS_ENUM(NSInteger, GameRTCConnectionState)

用户与 RTC 服务器的连接状态

枚举值

类型 值 说明
GameRTCConnectionStateDisconnected 0 连接中断。
GameRTCConnectionStateConnecting 1 首次连接,正在连接中。
GameRTCConnectionStateConnected 2 首次连接成功。
GameRTCConnectionStateReconnecting 3 连接断开后,重新连接中。
GameRTCConnectionStateReconnected 4 连接断开后,重连成功。

GameRTCNetworkQuality

typedef NS_ENUM(NSUInteger, GameRTCNetworkQuality)

用户的媒体流网络上下行质量

枚举值

类型 值 说明
GameRTCNetworkQualityUnknown 0 网络质量未知。
GameRTCNetworkQualityExcellent 1 网络质量极好。
GameRTCNetworkQualityGood 2 网络质量好。
GameRTCNetworkQualityPoor 3 网络质量较差,但不影响沟通。
GameRTCNetworkQualityBad 4 网络质量差,沟通不顺畅。
GameRTCNetworkQualityVBad 5 网络质量非常差。

GameRTCRoomWarningCode

typedef NS_ENUM(NSInteger, GameRTCRoomWarningCode)

引擎警告码

枚举值

类型 值 说明
GRWARN_JOIN_ROOM_FAILED -2001 加入房间失败。

用户加入房间或断网重连时,加入房间失败。此时,会自动重试加入房间。
GRWARN_PUBLISH_STREAM_FAILED -2002 发布音频流失败。

用户在所在房间中发布音视频流时,由于服务器错误导致发布失败。此时,会自动重试发布。
GRWARN_SUBSCRIBE_STREAM_FAILED_404 -2003 订阅音频流失败。

当前房间中找不到订阅的音视频流导致订阅失败。
建议退出房间,重新进房。
GRWARN_SUBSCRIBE_STREAM_FAILED_5xx -2004 订阅音频流失败。

用户订阅所在房间中的音视频流时,由于服务器错误导致订阅失败。
SDK 会自动重试订阅。

GameRTCEngineWarningCode

typedef NS_ENUM(NSInteger, GameRTCEngineWarningCode)

引擎警告码

枚举值

类型 值 说明
GRWARN_PERMISSION_MICROPHONE -5002 麦克风权限异常,当前应用没有获取麦克风权限
GRWARN_ADM_RECORDING_START_FAIL -5003 启动录音设备失败,当前录音设备可能被其他应用占用。
GRWARN_ADM_PLAYOUT_START_FAIL -5004 播放设备启动失败警告
可能由于系统资源不足,或参数错误
GameRTEngineWarningADMNoRecordingDevice -5005 无可用录音设备
启动录音设备失败,请插入可用的录音设备
GameRTEngineWarningADMNoPlayoutDevice -5006 无可用播放设备
启动播放设备失败,请插入可用的播放设备

GameRTCRoomErrorCode

typedef NS_ENUM(NSInteger, GameRTCRoomErrorCode)

房间错误码

枚举值

类型 值 说明
GRERR_INVALID_TOKEN -1000 加入房间时,使用的 Token 无效。

需要重新获取 Token,并调用 updateToken:room: 方法更新 Token。
GRERR_JOIN_ROOM_ERROR -1001 加入房间错误。

加入房间时,发生未知错误导致加入房间失败。需要重新加入房间。
GRERR_NO_PUBLISH_PERMISSION -1002 因没有发布音频流权限,导致在房间中发布音视频流失败。

需要检查 appId 是否正确。
GRERR_NO_SUBSCRIBE_PERMISSION -1003 因没有订阅音频流权限,导致在房间中订阅音视频流失败。

需要检查 appId 是否正确。
GRERR_DUPLICATE_LOGIN -1004 有新用户加入房间,且用户 ID 和本端用户一致,导致本端用户被踢出房间。

GameRTCAudioVolumeInfo

@interface GameRTCAudioVolumeInfo : NSObject

音频流来源的用户 ID, 及对应的音量。

成员变量

类型 名称
NSString* uid
NSUInteger volume

变量说明

uid

@property (copy, nonatomic) NSString * _Nonnull uid;

音频流来源的用户 ID

volume

@property (assign, nonatomic) NSUInteger volume;

音量,取值范围是:[0,255]