public abstract class com.ss.bytertc.engine.GameRTCEngine
GameRTC 引擎
| 返回 | 名称 |
|---|---|
| static synchronized GameRTCEngine | create |
| static synchronized void | destroy |
| static String | getSdkVersion |
| static void | setRtcNativeLibraryLoader |
| 返回 | 名称 |
|---|---|
| abstract int | joinRoom |
| abstract int | leaveRoom |
| abstract int | updateToken |
| abstract int | updateReceiveRange |
| abstract int | updatePosition |
| abstract int | updateOrientation |
| abstract int | enableMicrophone |
| abstract int | enableAudioSend |
| abstract int | enableSpeakerphone |
| abstract int | enableAudioReceive |
| abstract int | setRecordingVolume |
| abstract int | setPlaybackVolume |
| abstract int | setRemoteAudioPlaybackVolume |
| abstract void | setAudioScenario |
public static synchronized GameRTCEngine com.ss.bytertc.engine.GameRTCEngine.create(
Context context,
GameRTCEngineConfig config,
IGameRTCEventHandler eventHandler,
String params)
创建 GameRTCEngine 实例。
GameRTCEngine 实例成功创建后,你才可以使用 SDK 提供的其他能力。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| context | Context | Android Context |
| config | GameRTCEngineConfig | 引擎配置参数,具体参看 GameRTCEngineConfig 。 |
| eventHandler | IGameRTCEventHandler | SDK 回调给应用层的 Callback 对象,参看 IGameRTCEventHandler。 |
| params | String | 预留字段,json 字符串,通常填空字符串即可。使用时,联系技术支持人员。 |
返回值
注意
public static synchronized void com.ss.bytertc.engine.GameRTCEngine.destroy()
销毁由 create 所创建引擎实例,并释放所有相关资源。
注意
public static String com.ss.bytertc.engine.GameRTCEngine.getSdkVersion()
获取 SDK 当前的版本号。
返回值 SDK 当前的版本号。
public static void com.ss.bytertc.engine.GameRTCEngine.setRtcNativeLibraryLoader(
RTCNativeLibraryLoader rtcNativeLibraryLoader)
设置 native library 加载器,需要在其他所有静态方法调用之前被调用。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| rtcNativeLibraryLoader | RTCNativeLibraryLoader | 本地动态连接库加载器。 |
public abstract int com.ss.bytertc.engine.GameRTCEngine.joinRoom(
String roomId,
String userId,
String token,
GameRTCRoomConfig config)
加入实时语音房间
在使用实时语音的通话功能时,必须先加入实时语音房间。
调用该方法后,会收到 onJoinRoomResult 回调通知。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID,用户调用此接口加入的房间的房间 ID。 房间 ID 为长度在 128 字节内的非空字符串,支持以下字符集范围: 1. 26 个大写字母 A ~ Z 。 2. 26 个小写字母 a ~ z 。 3. 10 个数字 0 ~ 9 。 4. 下划线 "_",at 符 "@",减号 "-"。 |
| userId | String | 用户 ID,用户调用此接口加入的房间时使用的用户 ID 。 用户 ID 为长度在 128 字节内的非空字符串,支持以下字符集范围: 1. 26 个大写字母 A ~ Z 。 2. 26 个小写字母 a ~ z 。 3. 10 个数字 0 ~ 9 。 4. 下划线 "_",at 符 "@",减号 "-"。 |
| token | String | 动态密钥,用于对登录用户进行鉴权验证。 进入房间需要携带 Token。测试时可使用控制台生成临时 Token ,正式上线需要使用密钥 SDK 在您的服务端生成并下发 Token。 |
| config | GameRTCRoomConfig | 房间配置参数,参看 GameRTCRoomConfig。 |
返回值 方法调用结果
注意
public abstract int com.ss.bytertc.engine.GameRTCEngine.leaveRoom(
String roomId)
离开房间。
用户调用此方法离开房间,结束通话过程,释放所有通话相关的资源。
调用 joinRoom 方法加入房间后,在通话结束时必须调用此方法结束通话,并收到 onLeaveRoom 回调确认结束通话,否则无法开始下一次通话。
无论当前是否在房间中,都可以调用此方法。重复调用此方法不会有负面影响。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID,用户调用此接口离开的房间的房间 ID。 房间 ID 为长度在 128 字节内的非空字符串,支持以下字符集范围: 1. 26 个大写字母 A ~ Z 。 2. 26 个小写字母 a ~ z 。 3. 10 个数字 0 ~ 9 。 4. 下划线 "_",at 符 "@",减号 "-"。 |
返回值 方法调用结果
public abstract int com.ss.bytertc.engine.GameRTCEngine.updateToken(
String roomId,
String token)
更新进房 token。
在进房时如果收到错误码为 JOIN_ROOM_INVALID_TOKEN 的 onJoinRoomResult 回调,表示 token 过期导致进房失败。
此时,你应调用本接口,以新 token 进房。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID,用户调用此接口加入的房间的房间 ID。 房间 ID 为长度在 128 字节内的非空字符串,支持以下字符集范围: 1. 26 个大写字母 A ~ Z 。 2. 26 个小写字母 a ~ z 。 3. 10 个数字 0 ~ 9 。 4. 下划线 "_",at 符 "@",减号 "-"。 |
| token | String | 动态密钥,用于对登录用户进行鉴权验证。 进入房间需要携带 Token。测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在您的服务端生成并下发 Token。 |
返回值 方法调用结果
public abstract int com.ss.bytertc.engine.GameRTCEngine.updateReceiveRange(
String roomId,
GameRTCReceiveRange range)
在世界房间中,使用范围语音功能时,设定语音的接收范围和衰减信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID |
| range | GameRTCReceiveRange | 语音收听范围,参看 GameRTCReceiveRange。 |
返回值 方法调用结果
注意 你应在加入房间时,通过参数设置,加入世界房间,并开启范围语音: - 关于世界房间,参看 RoomType 中的 World。
public abstract int com.ss.bytertc.engine.GameRTCEngine.updatePosition(
String roomId,
GameRTCPositionInfo info)
使用范围语音功能时,设置玩家的坐标。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID |
| info | GameRTCPositionInfo | 玩家坐标值,参看 GameRTCPositionInfo。 |
返回值 方法调用结果
public abstract int com.ss.bytertc.engine.GameRTCEngine.updateOrientation(
String roomId,
GameRTCOrientationInfo info)
在使用空间语音功能时,必须通过此接口传入玩家的方位,sdk 内部会根据玩家坐标和方位实现空间效果
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间ID ,用户调用此接口加入的房间的房间ID 房间ID 为最大长度为128字节的非空字符串,支持的字符集范围为: 1. 26个大写字母 A ~ Z 。 2. 26个小写字母 a ~ z 。 3. 10个数字 0 ~ 9 。 4. 下划线"_", at符"@", 减号"-"。 |
| info | GameRTCOrientationInfo | 玩家坐标值,具体参考 GameRTCOrientationInfo 类型定义 |
返回值 方法调用结果
public abstract int com.ss.bytertc.engine.GameRTCEngine.enableMicrophone(
String roomId,
boolean enable)
控制本地音频采集和发布状态。
改变该状态后,房间内其他用户会收到 onMicrophoneEnabled 回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID |
| enable | boolean | 本地音频采集和发布状态: • true:开始采集本地音频,并向房间内发布。 • false:停止采集本地音频,并停止发布。 |
返回值 方法调用结果
public abstract int com.ss.bytertc.engine.GameRTCEngine.enableAudioSend(
String roomId,
boolean enable)
控制本地语音的发送状态:发送/不发送。
使用此方法后,房间中的其他用户会收到 onAudioSendEnabled 回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID |
| enable | boolean | 发送状态,标识是否发送语音: • true:发布语音 • false: 不发布语音 |
返回值 方法调用结果
注意
public abstract int com.ss.bytertc.engine.GameRTCEngine.enableSpeakerphone(
String roomId,
boolean enable)
设置对来自远端的语音的接收状态。
使用此方法后,房间中的其他用户会收到 onSpeakerphoneEnabled 回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID |
| enable | boolean | 接收状态 • true:接收 • false:不接收 |
返回值 方法调用结果
注意 本方法只控制本地是否接收远端音频流,并不影响本地音频播放设备的工作状态。
public abstract int com.ss.bytertc.engine.GameRTCEngine.enableAudioReceive(
String roomId,
String userId,
boolean enable)
设置对来自指定远端用户的语音的接收状态
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID |
| userId | String | 用户 ID |
| enable | boolean | 接收状态: true:接收 • false:不接收 |
返回值 方法调用结果
注意 本方法只控制本地是否接收远端音频流,并不影响本地音频播放设备的工作状态。
public abstract int com.ss.bytertc.engine.GameRTCEngine.setRecordingVolume(
int volume)
调节音频采集音量。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| volume | int | 音频采集音量,可在 0~400 范围内进行调节,单位: % • 0:静音 • 100:原始音量 • 400: 最大可为原始音量的 4 倍(自带溢出保护,防止音量放大可能导致的爆音等问题) |
返回值 方法调用结果
注意 为保证更好的通话质量,建议将 volume 值设为 [0,100]。
public abstract int com.ss.bytertc.engine.GameRTCEngine.setPlaybackVolume(
int volume)
调节本地播放的所有远端用户混音后的音量。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| volume | int | 音频播放音量,可在 0~400 范围内进行调节,单位: % • 0:静音 • 100:原始音量 • 400: 最大可为原始音量的 4 倍(自带溢出保护,防止音量放大可能导致的爆音等问题) |
返回值 方法调用结果
注意 为保证更好的通话质量,建议将 volume 值设为 [0,100]。
public abstract int com.ss.bytertc.engine.GameRTCEngine.setRemoteAudioPlaybackVolume(
String roomId,
String userId,
int volume)
调节来自指定远端用户的音频播放音量
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID |
| userId | String | 指定远端用户 ID |
| volume | int | 播放音量,可在 0~400 范围内进行调节,单位: % • 0: 静音 • 100: 原始音量 • 400: 最大可为原始音量的 4 倍(自带溢出保护,防止音量放大可能导致的爆音等问题)。 |
返回值 方法调用结果
注意 调用 enableRangeAudio 开启范围语音后,此接口不生效。
public abstract void com.ss.bytertc.engine.GameRTCEngine.setAudioScenario(
AudioScenarioType audioScenario)
设置音频场景类型
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioScenario | AudioScenarioType | 音频场景类型,业务方在加入房间前、加入房间中均可生效,详见枚举类型 AudioScenarioType |