AudioChannel

public enum com.ss.bytertc.engine.data.AudioChannel

音频声道

枚举值

类型 说明
AUDIO_CHANNEL_MONO(1) 单声道
AUDIO_CHANNEL_STEREO(2) 双声道

成员函数

返回 名称
int value

函数说明

value

public int com.ss.bytertc.engine.data.AudioChannel.value()

获取当前值

返回值 当前值

AudioSampleRate

public enum com.ss.bytertc.engine.data.AudioSampleRate

音频采样率,单位为 Hz。

枚举值

类型 说明
AUDIO_SAMPLE_RATE_8000(8000) 8000 采样率
AUDIO_SAMPLE_RATE_16000(16000) 16000 采样率
AUDIO_SAMPLE_RATE_32000(32000) 32000 采样率
AUDIO_SAMPLE_RATE_44100(44100) 44100 采样率
AUDIO_SAMPLE_RATE_48000(48000) 48000 采样率

成员函数

返回 名称
int value

函数说明

value

public int com.ss.bytertc.engine.data.AudioSampleRate.value()

获取当前值

返回值 当前值

AudioScenarioType

public enum com.ss.bytertc.engine.GameRTCEngine.AudioScenarioType

音频场景类型。
选择音频场景后,RTC 会自动根据客户端音频路由和发布订阅状态,适用通话音量/媒体音量。
你可以调用 setAudioScenario 设置音频场景。
如果以下音频场景类型无法满足你的业务需要,请联系技术支持同学进行定制。

枚举值

类型 说明
AUDIO_SCENARIO_MUSIC(0) 音乐场景。默认为此场景。此场景适用于对音乐表现力有要求的场景:如音乐直播等。
AUDIO_SCENARIO_HIGH_QUALITY_COMMUNICATION(1) 高质量通话场景。
此场景适用于对音乐表现力有要求的场景。但又希望能够使用蓝牙耳机上自带的麦克风进行音频采集的场景。
此场景可以兼顾外放/使用蓝牙耳机时的音频体验;并尽可能避免使用蓝牙耳机时音量类型切换导致的听感突变。
AUDIO_SCENARIO_COMMUNICATION(2) 纯通话音量场景。
此场景下,无论客户端音频路由情况和发布订阅状态,全程使用通话音量。
适用于需要频繁上下麦的通话或会议场景。
此场景可以保持统一的音频模式,不会有音量突变的听感;
最大程度上的消除回声,使通话清晰度达到最优;
使用蓝牙耳机时,能够使用蓝牙耳机上自带的麦克风进行音频采集。
但是,使用媒体音量进行播放的其他音频的音量会被压低,且音质会变差。
AUDIO_SCENARIO_MEDIA(3) 纯媒体场景。一般不建议使用。
此场景下,无论客户端音频路由情况和发布订阅状态,全程使用媒体音量。
外放通话时,极易出现回声和啸叫。

成员函数

返回 名称
int value

函数说明

value

public int com.ss.bytertc.engine.GameRTCEngine.AudioScenarioType.value()

AudioScenarioType的int value

返回值 int类型的value

GameRTCEngineConfig

public class com.ss.bytertc.engine.game.GameRTCEngineConfig

引擎配置信息

成员变量

类型 名称
String appId

变量说明

appId

public String com.ss.bytertc.engine.game.GameRTCEngineConfig.appId;

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

GameRTCOrientationInfo

public class com.ss.bytertc.engine.game.GameRTCOrientationInfo

描述空间语音中玩家位置

成员变量

类型 名称
float x_axis_0
float x_axis_1
float x_axis_2
float y_axis_0
float y_axis_1
float y_axis_2
float z_axis_0
float z_axis_1
float z_axis_2

变量说明

x_axis_0

public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.x_axis_0;

前向方位,在 x 轴的投影

x_axis_1

public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.x_axis_1;

右手方位,在 x 轴的投影

x_axis_2

public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.x_axis_2;

头顶方位,在 x 轴的投影

y_axis_0

public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.y_axis_0;

前向方位,在 y 轴的投影

y_axis_1

public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.y_axis_1;

右手方位,在 y 轴的投影

y_axis_2

public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.y_axis_2;

头顶方位,在 y 轴的投影

z_axis_0

public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.z_axis_0;

前向方位,在 z 轴的投影

z_axis_1

public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.z_axis_1;

右手方位,在 z 轴的投影

z_axis_2

public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.z_axis_2;

头顶方位,在 z 轴的投影

GameRTCPositionInfo

public class com.ss.bytertc.engine.game.GameRTCPositionInfo

玩家的位置信息

成员变量

类型 名称
int x
int y
int z

变量说明

x

public int com.ss.bytertc.engine.game.GameRTCPositionInfo.x;

x 坐标

y

public int com.ss.bytertc.engine.game.GameRTCPositionInfo.y;

y 坐标

z

public int com.ss.bytertc.engine.game.GameRTCPositionInfo.z;

z 坐标

GameRTCReceiveRange

public class com.ss.bytertc.engine.game.GameRTCReceiveRange

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

成员变量

类型 名称
int min
int max

变量说明

min

public int com.ss.bytertc.engine.game.GameRTCReceiveRange.min;

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

max

public int com.ss.bytertc.engine.game.GameRTCReceiveRange.max;

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

GameRTCRoomConfig

public class com.ss.bytertc.engine.game.GameRTCRoomConfig

房间配置信息

成员变量

类型 名称
boolean enableRangeAudio
boolean enableSpatialAudio
int audioVolumeIndicationInterval
RoomType roomType

变量说明

enableRangeAudio

public boolean com.ss.bytertc.engine.game.GameRTCRoomConfig.enableRangeAudio;

设置是否开启范围语音

enableSpatialAudio

public boolean com.ss.bytertc.engine.game.GameRTCRoomConfig.enableSpatialAudio;

设置是否开启空间语音

audioVolumeIndicationInterval

public int com.ss.bytertc.engine.game.GameRTCRoomConfig.audioVolumeIndicationInterval;

开启后会收到 onAudioVolumeIndication 音量提示回调的时间间隔:

roomType

public RoomType  com.ss.bytertc.engine.game.GameRTCRoomConfig.roomType;

房间类型,参看 RoomType。对于普通组队语音设置为 Team 即可。

RoomType

public enum com.ss.bytertc.engine.game.GameRTCRoomConfig.RoomType

房间类型

枚举值

类型 说明
RTC_ROOM_TEAM(0) 小队房间。(默认设置)

进入同一小队房间的成员是队友关系。

进入小队房间后,打开麦克风可以向房间内所有队友讲话;打开扬声器可以收听房间内所有队友讲话。
RTC_ROOM_WORLD(1) 世界房间。

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

AudioFormat

public class com.ss.bytertc.engine.data.AudioFormat

音频参数格式

成员变量

类型 名称
AudioSampleRate sampleRate
AudioChannel channel

变量说明

sampleRate

public AudioSampleRate com.ss.bytertc.engine.data.AudioFormat.sampleRate;

音频采样率,详见 AudioSampleRate

channel

public AudioChannel com.ss.bytertc.engine.data.AudioFormat.channel;

音频声道,详见 AudioChannel

RTCNativeLibraryLoader

public interface com.ss.bytertc.engine.loader.RTCNativeLibraryLoader

用户自定义动态库加载器实现

成员函数

返回 名称
boolean load

函数说明

load

boolean com.ss.bytertc.engine.loader.RTCNativeLibraryLoader.load(
    String libraryName)

SDK在需要加载动态库时通过该方法回调

传入参数

参数名 类型 说明
libraryName String 要加载的动态库名称

AudioFrame

public class com.ss.bytertc.engine.utils.AudioFrame

音频帧数据封装

成员变量

类型 名称
byte[] buffer
int samples
AudioSampleRate sampleRate
AudioChannel channel

变量说明

buffer

public byte[] com.ss.bytertc.engine.utils.AudioFrame.buffer;

音频 PCM 数据

samples

public int com.ss.bytertc.engine.utils.AudioFrame.samples;

音频数据的采样点个数

sampleRate

public AudioSampleRate com.ss.bytertc.engine.utils.AudioFrame.sampleRate;

音频采样率

channel

public AudioChannel com.ss.bytertc.engine.utils.AudioFrame.channel;

音频声道

AudioVolumeInfo

public static class com.ss.bytertc.engine.handler.IGameRTCEventHandler.AudioVolumeInfo

声音音量信息。包含每个说话者的用户 id 和音量信息

成员变量

类型 名称
String userId
int volume

变量说明

userId

public String com.ss.bytertc.engine.handler.IGameRTCEventHandler.AudioVolumeInfo.userId;

说话者的用户 id

volume

public int com.ss.bytertc.engine.handler.IGameRTCEventHandler.AudioVolumeInfo.volume;

说话者的音量,范围为 0(最低)- 255(最高)

AudioVolumeInfoArray

public static class com.ss.bytertc.engine.handler.IGameRTCEventHandler.AudioVolumeInfoArray

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

成员变量

类型 名称
String[] userNames
int[] volumes

变量说明

userNames

public String[] com.ss.bytertc.engine.handler.IGameRTCEventHandler.AudioVolumeInfoArray.userNames;

说话者的用户 ID

volumes

public int[] com.ss.bytertc.engine.handler.IGameRTCEventHandler.AudioVolumeInfoArray.volumes;

说话者的音量,范围为 0(最低)- 255(最高)

ConnectionState

public enum com.ss.bytertc.engine.handler.IGameRTCEventHandler.ConnectionState

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

枚举值

类型 说明
INVALID(-1) 无效值。
DISCONNECTED(0) 连接断开。
CONNECTING(1) 首次连接,正在连接中。
CONNECTED(2) 首次连接成功。
RECONNECTING(3) 连接断开后重新连接中。
RECONNECTED(4) 连接断开后重连成功。
LOST(5) 网络连接断开超过 10 秒,仍然会继续重连。

UserLeaveReasonType

public enum com.ss.bytertc.engine.handler.IGameRTCEventHandler.UserLeaveReasonType

用户离开房间的原因

枚举值

类型 说明
INVALID(-1) 无效值
QUIT(0) 用户主动离开。即远端用户调用 leaveRoom 方法退出房间
DROPPED(1) 用户掉线。远端用户因为网络等原因掉线

NetworkQuality

public enum com.ss.bytertc.engine.handler.IGameRTCEventHandler.NetworkQuality

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

枚举值

类型 说明
QUALITY_INVALID(-1) 无效值
QUALITY_UNKNOWN(0) 质量未知
QUALITY_EXCELLENT(1) 质量极好
QUALITY_GOOD(2) 用户主观感觉近似“极好”,但码率可能略低于“极好”
QUALITY_POOR(3) 用户主观感受有瑕疵但不影响沟通
QUALITY_BAD(4) 勉强能沟通但不顺畅
QUALITY_VBAD(5) 网络质量非常差,基本不能沟通