GameRTCEngine

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

函数说明

create

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 字符串,通常填空字符串即可。使用时,联系技术支持人员。

返回值

注意

destroy

public static synchronized void com.ss.bytertc.engine.GameRTCEngine.destroy()

销毁由 create 所创建引擎实例,并释放所有相关资源。

注意

getSdkVersion

public static String com.ss.bytertc.engine.GameRTCEngine.getSdkVersion()

获取 SDK 当前的版本号。

返回值 SDK 当前的版本号。

setRtcNativeLibraryLoader

public static void com.ss.bytertc.engine.GameRTCEngine.setRtcNativeLibraryLoader(
    RTCNativeLibraryLoader rtcNativeLibraryLoader)

设置 native library 加载器,需要在其他所有静态方法调用之前被调用。

传入参数

参数名 类型 说明
rtcNativeLibraryLoader RTCNativeLibraryLoader 本地动态连接库加载器。

joinRoom

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。

返回值 方法调用结果

注意

leaveRoom

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 符 "@",减号 "-"。

返回值 方法调用结果

updateToken

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。

返回值 方法调用结果

updateReceiveRange

public abstract int com.ss.bytertc.engine.GameRTCEngine.updateReceiveRange(
    String roomId,
    GameRTCReceiveRange range)

在世界房间中,使用范围语音功能时,设定语音的接收范围和衰减信息。

传入参数

参数名 类型 说明
roomId String 房间 ID
range GameRTCReceiveRange 语音收听范围,参看 GameRTCReceiveRange。

返回值 方法调用结果

注意 你应在加入房间时,通过参数设置,加入世界房间,并开启范围语音: - 关于世界房间,参看 RoomType 中的 World。

updatePosition

public abstract int com.ss.bytertc.engine.GameRTCEngine.updatePosition(
    String roomId,
    GameRTCPositionInfo info)

使用范围语音功能时,设置玩家的坐标。

传入参数

参数名 类型 说明
roomId String 房间 ID
info GameRTCPositionInfo 玩家坐标值,参看 GameRTCPositionInfo。

返回值 方法调用结果

updateOrientation

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 类型定义

返回值 方法调用结果

enableMicrophone

public abstract int com.ss.bytertc.engine.GameRTCEngine.enableMicrophone(
    String roomId,
    boolean enable)

控制本地音频采集和发布状态。
改变该状态后,房间内其他用户会收到 onMicrophoneEnabled 回调。

传入参数

参数名 类型 说明
roomId String 房间 ID
enable boolean 本地音频采集和发布状态:
• true:开始采集本地音频,并向房间内发布。
• false:停止采集本地音频,并停止发布。

返回值 方法调用结果

enableAudioSend

public abstract int com.ss.bytertc.engine.GameRTCEngine.enableAudioSend(
    String roomId,
    boolean enable)

控制本地语音的发送状态:发送/不发送。
使用此方法后,房间中的其他用户会收到 onAudioSendEnabled 回调。

传入参数

参数名 类型 说明
roomId String 房间 ID
enable boolean 发送状态,标识是否发送语音:
• true:发布语音
• false: 不发布语音

返回值 方法调用结果

注意

enableSpeakerphone

public abstract int com.ss.bytertc.engine.GameRTCEngine.enableSpeakerphone(
    String roomId,
    boolean enable)

设置对来自远端的语音的接收状态。
使用此方法后,房间中的其他用户会收到 onSpeakerphoneEnabled 回调。

传入参数

参数名 类型 说明
roomId String 房间 ID
enable boolean 接收状态
• true:接收
• false:不接收

返回值 方法调用结果

注意 本方法只控制本地是否接收远端音频流,并不影响本地音频播放设备的工作状态。

enableAudioReceive

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:不接收

返回值 方法调用结果

注意 本方法只控制本地是否接收远端音频流,并不影响本地音频播放设备的工作状态。

setRecordingVolume

public abstract int com.ss.bytertc.engine.GameRTCEngine.setRecordingVolume(
    int volume)

调节音频采集音量。

传入参数

参数名 类型 说明
volume int 音频采集音量,可在 0~400 范围内进行调节,单位: %
• 0:静音
• 100:原始音量
• 400: 最大可为原始音量的 4 倍(自带溢出保护,防止音量放大可能导致的爆音等问题)

返回值 方法调用结果

注意 为保证更好的通话质量,建议将 volume 值设为 [0,100]。

setPlaybackVolume

public abstract int com.ss.bytertc.engine.GameRTCEngine.setPlaybackVolume(
    int volume)

调节本地播放的所有远端用户混音后的音量。

传入参数

参数名 类型 说明
volume int 音频播放音量,可在 0~400 范围内进行调节,单位: %
• 0:静音
• 100:原始音量
• 400: 最大可为原始音量的 4 倍(自带溢出保护,防止音量放大可能导致的爆音等问题)

返回值 方法调用结果

注意 为保证更好的通话质量,建议将 volume 值设为 [0,100]。

setRemoteAudioPlaybackVolume

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 开启范围语音后,此接口不生效。

setAudioScenario

public abstract void com.ss.bytertc.engine.GameRTCEngine.setAudioScenario(
    AudioScenarioType audioScenario)

设置音频场景类型

传入参数

参数名 类型 说明
audioScenario AudioScenarioType 音频场景类型,业务方在加入房间前、加入房间中均可生效,详见枚举类型
AudioScenarioType