public enum com.ss.bytertc.engine.data.AudioChannel
音频声道
| 类型 | 说明 |
|---|---|
| AUDIO_CHANNEL_MONO(1) | 单声道 |
| AUDIO_CHANNEL_STEREO(2) | 双声道 |
| 返回 | 名称 |
|---|---|
| int | value |
public int com.ss.bytertc.engine.data.AudioChannel.value()
获取当前值
返回值 当前值
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 |
public int com.ss.bytertc.engine.data.AudioSampleRate.value()
获取当前值
返回值 当前值
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 |
public int com.ss.bytertc.engine.GameRTCEngine.AudioScenarioType.value()
AudioScenarioType的int value
返回值 int类型的value
public class com.ss.bytertc.engine.game.GameRTCEngineConfig
引擎配置信息
| 类型 | 名称 |
|---|---|
| String | appId |
public String com.ss.bytertc.engine.game.GameRTCEngineConfig.appId;
应用 ID。只有使用相同 appId 创建的 Engine 实例之间才能进行实时音视频通话
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 |
public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.x_axis_0;
前向方位,在 x 轴的投影
public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.x_axis_1;
右手方位,在 x 轴的投影
public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.x_axis_2;
头顶方位,在 x 轴的投影
public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.y_axis_0;
前向方位,在 y 轴的投影
public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.y_axis_1;
右手方位,在 y 轴的投影
public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.y_axis_2;
头顶方位,在 y 轴的投影
public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.z_axis_0;
前向方位,在 z 轴的投影
public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.z_axis_1;
右手方位,在 z 轴的投影
public float com.ss.bytertc.engine.game.GameRTCOrientationInfo.z_axis_2;
头顶方位,在 z 轴的投影
public class com.ss.bytertc.engine.game.GameRTCPositionInfo
玩家的位置信息
| 类型 | 名称 |
|---|---|
| int | x |
| int | y |
| int | z |
public int com.ss.bytertc.engine.game.GameRTCPositionInfo.x;
x 坐标
public int com.ss.bytertc.engine.game.GameRTCPositionInfo.y;
y 坐标
public int com.ss.bytertc.engine.game.GameRTCPositionInfo.z;
z 坐标
public class com.ss.bytertc.engine.game.GameRTCReceiveRange
使用范围语音功能时,语音的接收范围
| 类型 | 名称 |
|---|---|
| int | min |
| int | max |
public int com.ss.bytertc.engine.game.GameRTCReceiveRange.min;
收听声音无衰减的范围最小值。
当收听者和声源距离小于 min 的时候,收听到的声音完全无衰减。
public int com.ss.bytertc.engine.game.GameRTCReceiveRange.max;
能够收听到声音的范围最大值。
当收听者和声源距离大于 max 的时候,无法收听到声音。
当收听者和声源距离介于 [min, max) 之间时,收听到的音量根据距离有衰减。
public class com.ss.bytertc.engine.game.GameRTCRoomConfig
房间配置信息
| 类型 | 名称 |
|---|---|
| boolean | enableRangeAudio |
| boolean | enableSpatialAudio |
| int | audioVolumeIndicationInterval |
| RoomType | roomType |
public boolean com.ss.bytertc.engine.game.GameRTCRoomConfig.enableRangeAudio;
设置是否开启范围语音
public boolean com.ss.bytertc.engine.game.GameRTCRoomConfig.enableSpatialAudio;
设置是否开启空间语音
public int com.ss.bytertc.engine.game.GameRTCRoomConfig.audioVolumeIndicationInterval;
开启后会收到 onAudioVolumeIndication 音量提示回调的时间间隔:
0: 启用音量提示功能,并设置收到音量提示回调的时间间隔,单位为毫秒。
public RoomType com.ss.bytertc.engine.game.GameRTCRoomConfig.roomType;
房间类型,参看 RoomType。对于普通组队语音设置为 Team 即可。
public enum com.ss.bytertc.engine.game.GameRTCRoomConfig.RoomType
房间类型
| 类型 | 说明 |
|---|---|
| RTC_ROOM_TEAM(0) | 小队房间。(默认设置) 进入同一小队房间的成员是队友关系。 进入小队房间后,打开麦克风可以向房间内所有队友讲话;打开扬声器可以收听房间内所有队友讲话。 |
| RTC_ROOM_WORLD(1) | 世界房间。 你需要判断进入同一房间的成员是否为队友关系,进而决定收听逻辑。 |
public class com.ss.bytertc.engine.data.AudioFormat
音频参数格式
| 类型 | 名称 |
|---|---|
| AudioSampleRate | sampleRate |
| AudioChannel | channel |
public AudioSampleRate com.ss.bytertc.engine.data.AudioFormat.sampleRate;
音频采样率,详见 AudioSampleRate
public AudioChannel com.ss.bytertc.engine.data.AudioFormat.channel;
音频声道,详见 AudioChannel
public interface com.ss.bytertc.engine.loader.RTCNativeLibraryLoader
用户自定义动态库加载器实现
| 返回 | 名称 |
|---|---|
| boolean | load |
boolean com.ss.bytertc.engine.loader.RTCNativeLibraryLoader.load(
String libraryName)
SDK在需要加载动态库时通过该方法回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| libraryName | String | 要加载的动态库名称 |
public class com.ss.bytertc.engine.utils.AudioFrame
音频帧数据封装
| 类型 | 名称 |
|---|---|
| byte[] | buffer |
| int | samples |
| AudioSampleRate | sampleRate |
| AudioChannel | channel |
public byte[] com.ss.bytertc.engine.utils.AudioFrame.buffer;
音频 PCM 数据
public int com.ss.bytertc.engine.utils.AudioFrame.samples;
音频数据的采样点个数
public AudioSampleRate com.ss.bytertc.engine.utils.AudioFrame.sampleRate;
音频采样率
public AudioChannel com.ss.bytertc.engine.utils.AudioFrame.channel;
音频声道
public static class com.ss.bytertc.engine.handler.IGameRTCEventHandler.AudioVolumeInfo
声音音量信息。包含每个说话者的用户 id 和音量信息
| 类型 | 名称 |
|---|---|
| String | userId |
| int | volume |
public String com.ss.bytertc.engine.handler.IGameRTCEventHandler.AudioVolumeInfo.userId;
说话者的用户 id
public int com.ss.bytertc.engine.handler.IGameRTCEventHandler.AudioVolumeInfo.volume;
说话者的音量,范围为 0(最低)- 255(最高)
public static class com.ss.bytertc.engine.handler.IGameRTCEventHandler.AudioVolumeInfoArray
音频流来源的用户 ID, 及对应的音量。
| 类型 | 名称 |
|---|---|
| String[] | userNames |
| int[] | volumes |
public String[] com.ss.bytertc.engine.handler.IGameRTCEventHandler.AudioVolumeInfoArray.userNames;
说话者的用户 ID
public int[] com.ss.bytertc.engine.handler.IGameRTCEventHandler.AudioVolumeInfoArray.volumes;
说话者的音量,范围为 0(最低)- 255(最高)
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 秒,仍然会继续重连。 |
public enum com.ss.bytertc.engine.handler.IGameRTCEventHandler.UserLeaveReasonType
用户离开房间的原因
| 类型 | 说明 |
|---|---|
| INVALID(-1) | 无效值 |
| QUIT(0) | 用户主动离开。即远端用户调用 leaveRoom 方法退出房间 |
| DROPPED(1) | 用户掉线。远端用户因为网络等原因掉线 |
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) | 网络质量非常差,基本不能沟通 |