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

音频参数格式

成员变量
类型名称
AudioSampleRatesampleRate
AudioChannelchannel
变量说明

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

音频采样率,参看 AudioSampleRate。

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

音频声道,参看 AudioChannel。

AudioMixingConfig
public class com.ss.bytertc.engine.data.AudioMixingConfig
java

混音配置

成员变量
类型名称
AudioMixingTypetype
intplayCount
intposition
longcallbackOnProgressInterval
变量说明

type
public AudioMixingType com.ss.bytertc.engine.data.AudioMixingConfig.type;
java

混音播放类型,详见 AudioMixingType

playCount
public int com.ss.bytertc.engine.data.AudioMixingConfig.playCount;
java

混音播放次数

position
public int com.ss.bytertc.engine.data.AudioMixingConfig.position;
java

混音时音频文件播放进度条位置,参数为整数,单位为毫秒

callbackOnProgressInterval
public long com.ss.bytertc.engine.data.AudioMixingConfig.callbackOnProgressInterval;
java

设置音频文件播放进度回调的时间间隔,参数为大于 0 的 10 的倍数,单位为毫秒,设置后 SDK 将按照设置的值触发 onAudioMixingPlayingProgress 回调,默认不回调。

AudioMixingDualMonoMode
public enum com.ss.bytertc.engine.data.AudioMixingDualMonoMode
java

混音播放声道类型

枚举值
类型说明
AUDIO_MIXING_DUAL_MONO_MODE_AUTO(0)和音频文件一致
AUDIO_MIXING_DUAL_MONO_MODE_L(1)只能听到音频文件中左声道的音频
AUDIO_MIXING_DUAL_MONO_MODE_R(2)只能听到音频文件中右声道的音频
AUDIO_MIXING_DUAL_MONO_MODE_MIX(3)能同时听到音频文件中左右声道的音频
AudioMixingError
public enum com.ss.bytertc.engine.data.AudioMixingError
java

混音错误码。

枚举值
类型说明
AUDIO_MIXING_ERROR_OK(0)正常
AUDIO_MIXING_ERROR_PRELOAD_FAILED(1)预加载失败。找不到混音文件或者文件长度超出 20s
AUDIO_MIXING_ERROR_START_FAILED(2)混音开启失败。找不到混音文件或者混音文件打开失败
AUDIO_MIXING_ERROR_ID_NOT_FOUND(3)混音 ID 异常
AUDIO_MIXING_ERROR_SET_POSITION_FAILED(4)设置混音文件的播放位置出错
AUDIO_MIXING_ERROR_INVALID_VOLUME(5)音量参数不合法,仅支持设置的音量值为[0, 400]
AUDIO_MIXING_ERROR_LOAD_CONFLICT(6)播放的文件与预加载的文件不一致。请先使用 unloadAudioMixing 卸载此前的文件。
AUDIO_MIXING_ERROR_ID_TYPE_NOT_MATCH(7)不支持此混音类型。
AUDIO_MIXING_ERROR_ID_TYPE_INVALID_PITCH(8)设置混音文件的音调不合法
AUDIO_MIXING_ERROR_INVALID_AUDIO_TRACK(9)设置混音文件的音轨不合法
AUDIO_MIXING_ERROR_IS_STARTING(10)混音文件正在启动中
AUDIO_MIXING_ERROR_INVALID_PLAYBACK_SPEED(11)设置混音文件的播放速度不合法
AudioMixingState
public enum com.ss.bytertc.engine.data.AudioMixingState
java

音频混音文件播放状态。

枚举值
类型说明
AUDIO_MIXING_STATE_PRELOADED(0)混音已加载
AUDIO_MIXING_STATE_PLAYING(1)混音正在播放
AUDIO_MIXING_STATE_PAUSED(2)混音暂停
AUDIO_MIXING_STATE_STOPPED(3)混音停止
AUDIO_MIXING_STATE_FAILED(4)混音播放失败
AUDIO_MIXING_STATE_FINISHED(5)混音播放结束
AUDIO_MIXING_STATE_PCM_ENABLED(6)准备PCM混音
AUDIO_MIXING_STATE_PCM_DISABLED(7)PCM混音播放结束
AudioMixingType
public enum com.ss.bytertc.engine.data.AudioMixingType
java

混音播放类型

枚举值
类型说明
AUDIO_MIXING_TYPE_PLAYOUT(0)仅本地播放
AUDIO_MIXING_TYPE_PUBLISH(1)仅远端播放
AUDIO_MIXING_TYPE_PLAYOUT_AND_PUBLISH(2)本地和远端同时播放
AudioPlaybackDevice
public enum com.ss.bytertc.engine.data.AudioPlaybackDevice
java

音频播放设备

音频设备变化时 SDK 通过 onAudioPlaybackDeviceChanged 回调当前音频播放设备。

枚举值
类型说明
AUDIO_PLAYBACK_DEVICE_HEADSET(1)有线耳机
AUDIO_PLAYBACK_DEVICE_EARPIECE(2)听筒
AUDIO_PLAYBACK_DEVICE_SPEAKERPHONE(3)扬声器
AUDIO_PLAYBACK_DEVICE_HEADSET_BLUETOOTH(4)蓝牙耳机
AUDIO_PLAYBACK_DEVICE_HEADSET_USB(5)USB设备
成员函数
返回名称
intvalue
函数说明

value
public int com.ss.bytertc.engine.data.AudioPlaybackDevice.value()
java

获取当前值

返回值
当前值

AudioProcessorMethod
public enum com.ss.bytertc.engine.data.AudioProcessorMethod
java

返回给音频处理器的音频类型。

枚举值
类型说明
AUDIO_FRAME_PROCESSOR_RECORD(0)本地采集的音频。
AUDIO_FRAME_PROCESSOR_PLAYBACK(1)远端音频流的混音音频。
AUDIO_FRAME_PROCESSOR_REMOTE_USER(2)各个远端音频流。
AUDIO_FRAME_PROCESSOR_EAR_MONITOR(3)软件耳返音频。
AudioPropertiesConfig
public class com.ss.bytertc.engine.data.AudioPropertiesConfig
java

音频属性信息提示的相关配置

成员变量
类型名称
intinterval
booleanenable_spectrum
booleanenable_vad
AudioReportModelocal_main_report_mode
AudioPropertiesModeaudio_report_mode
变量说明

interval
public int com.ss.bytertc.engine.data.AudioPropertiesConfig.interval;
java

信息提示间隔,单位:ms

enable_spectrum
public boolean com.ss.bytertc.engine.data.AudioPropertiesConfig.enable_spectrum = false;
java

是否开启音频频谱检测

enable_vad
public boolean com.ss.bytertc.engine.data.AudioPropertiesConfig.enable_vad = false;
java

是否开启人声检测 (VAD)

local_main_report_mode
public AudioReportMode com.ss.bytertc.engine.data.AudioPropertiesConfig.local_main_report_mode = AudioReportMode.AUDIO_REPORT_MODE_NORMAL;
java

音量回调模式。详见 AudioReportMode。

audio_report_mode
public AudioPropertiesMode com.ss.bytertc.engine.data.AudioPropertiesConfig.audio_report_mode = AudioPropertiesMode.AUDIO_PROPERTIES_MODE_MIC/;"
java

音频信息提示中是否包含本地混音音频数据。参看 AudioPropertiesMode。

默认仅包含本地麦克风采集的音频数据和本地屏幕音频采集数据。

AudioPropertiesInfo
public class com.ss.bytertc.engine.data.AudioPropertiesInfo
java

音频属性信息

成员变量
类型名称
intlinearVolume
intnonlinearVolume
float[]spectrum
intvad
变量说明

linearVolume
public int com.ss.bytertc.engine.data.AudioPropertiesInfo.linearVolume;
java

线性音量,与原始音量呈线性关系,数值越大,音量越大。取值范围是:[0,255]。

nonlinearVolume
public int com.ss.bytertc.engine.data.AudioPropertiesInfo.nonlinearVolume;
java

非线性音量。由原始音量的对数值转化而来,因此在中低音量时更灵敏,可以用作 Active Speaker(房间内最活跃用户)的识别。取值范围是:[-127,0],单位 dB。

spectrum
public float[] com.ss.bytertc.engine.data.AudioPropertiesInfo.spectrum = new float[SPECTRUM_SIZE];
java

频谱数组

vad
public int com.ss.bytertc.engine.data.AudioPropertiesInfo.vad;
java

人声检测(VAD)结果

AudioPropertiesMode
public enum com.ss.bytertc.engine.data.AudioPropertiesMode
java

音频信息提示中是否包含本地混音音频数据。

枚举值
类型说明
AUDIO_PROPERTIES_MODE_MICROPHONE(0)音频信息提示中,仅包含本地麦克风采集的音频数据和本地屏幕音频采集数据。
AUDIO_PROPERTIES_MODE_AUDIOMIXING(1)音频信息提示中,除本地麦克风采集的音频数据和本地屏幕音频采集数据外,还包含本地混音的音频数据。
AudioRenderType
public enum com.ss.bytertc.engine.data.AudioRenderType
java

音频输出源类型

枚举值
类型说明
AUDIO_RENDER_TYPE_EXTERNAL(0)自定义渲染
AUDIO_RENDER_TYPE_INTERNAL(1)内部渲染
AudioReportMode
public enum com.ss.bytertc.engine.data.AudioReportMode
java

音量回调模式。

枚举值
类型说明
AUDIO_REPORT_MODE_NORMAL(0)默认始终开启音量回调。
AUDIO_REPORT_MODE_DISCONNECT(1)可见用户进房并停止推流后,关闭音量回调。
AUDIO_REPORT_MODE_RESET(2)可见用户进房并停止推流后,开启音量回调,回调值重置为0。
AudioRoute
public enum com.ss.bytertc.engine.data.AudioRoute
java

音频播放路由

枚举值
类型说明
AUDIO_ROUTE_UNKNOWN(-1)未知设备
AUDIO_ROUTE_HEADSET(1)有线耳机
AUDIO_ROUTE_EARPIECE(2)听筒。设备自带的,一般用于通话的播放硬件。
AUDIO_ROUTE_SPEAKERPHONE(3)扬声器。设备自带的,一般用于免提播放的硬件。
AUDIO_ROUTE_HEADSET_BLUETOOTH(4)蓝牙耳机
AUDIO_ROUTE_HEADSET_USB(5)USB 设备
成员函数
返回名称
intvalue
函数说明

value
public int com.ss.bytertc.engine.data.AudioRoute.value()
java

获取当前值

返回值
当前值

AudioSourceType
public enum com.ss.bytertc.engine.data.AudioSourceType
java

音频输入源类型

枚举值
类型说明
AUDIO_SOURCE_TYPE_EXTERNAL(0)自定义采集音频源
AUDIO_SOURCE_TYPE_INTERNAL(1)RTC SDK 内部采集音频源
AVSyncState
public enum com.ss.bytertc.engine.data.AVSyncState
java

音视频同步状态

枚举值
类型说明
AV_SYNC_STATE_STREAM_SYNC_BEGIN(0)音视频开始同步
AV_SYNC_STATE_AUDIO_STREAM_REMOVE(1)音视频同步过程中音频移除,但不影响当前的同步关系
AV_SYNC_STATE_VIDEO_STREAM_REMOVE(2)音视频同步过程中视频移除,但不影响当前的同步关系
CameraId
public enum com.ss.bytertc.engine.data.CameraId
java

摄像头类型

枚举值
类型说明
CAMERA_ID_FRONT (0)前置摄像头
CAMERA_ID_BACK (1)后置摄像头(默认设置)
CAMERA_ID_EXTERNAL (2)外接摄像头
CAMERA_ID_INVALID (3)无效值
CloudProxyInfo
public class com.ss.bytertc.engine.data.CloudProxyInfo
java

云代理信息

成员变量
类型名称
StringcloudProxyIp
intcloudProxyPort
变量说明

cloudProxyIp
public String com.ss.bytertc.engine.data.CloudProxyInfo.cloudProxyIp;
java

云代理服务器 IP

cloudProxyPort
public int com.ss.bytertc.engine.data.CloudProxyInfo.cloudProxyPort;
java

云代理服务器端口

ColorSpace
public enum com.ss.bytertc.engine.data.ColorSpace
java

视频帧色彩空间

枚举值
类型说明
kColorSpaceUnknown(0)色彩空间未知
kColorSpaceYCbCrBT601LimitedRange(1)BT.601数字编码标准,色彩空间[16-235]
kColorSpaceYCbCrBT601FullRange(2)BT.601数字编码标准,颜色空间[0-255]
kColorSpaceYCbCrBT709LimitedRange(3)BT.7091数字编码标准,颜色空间[16-235]
kColorSpaceYCbCrBT709FullRange(4)BT.7091数字编码标准,颜色空间[0-255]
EarMonitorMode
public enum com.ss.bytertc.engine.data.EarMonitorMode
java

是否开启耳返功能。

枚举值
类型说明
EAR_MONITOR_MODE_OFF(0)关闭(默认设置)
EAR_MONITOR_MODE_ON(1)开启
EffectBeautyMode
public enum com.ss.bytertc.engine.data.EffectBeautyMode
java

基础美颜模式

枚举值
类型说明
EFFECT_WHITE_MODE(0)美白
EFFECT_SMOOTH_MODE(1)磨皮
EFFECT_SHARPEN_MODE(2)锐化
ForwardStreamEventInfo
public class com.ss.bytertc.engine.data.ForwardStreamEventInfo
java

跨房间转发媒体流过程中的不同目标房间发生的事件

成员变量
类型名称
StringroomId
ForwardStreamEventevent
变量说明

roomId
public String com.ss.bytertc.engine.data.ForwardStreamEventInfo.roomId;
java

跨房间转发媒体流过程中的发生该事件的目标房间 ID

空字符串代表所有目标房间

event
public ForwardStreamEvent com.ss.bytertc.engine.data.ForwardStreamEventInfo.event;
java

跨房间转发媒体流过程中该目标房间发生的事件,参看 ForwardStreamEvent。

ForwardStreamEvent
public enum com.ss.bytertc.engine.data.ForwardStreamEventInfo.ForwardStreamEvent
java

跨房间转发媒体流过程中该目标房间发生的事件

枚举值
类型说明
FORWARD_STREAM_EVENT_DISCONNECTED(0)本端与服务器网络连接断开,暂停转发。
FORWARD_STREAM_EVENT_CONNECTED(1)本端与服务器网络连接恢复,转发服务连接成功。
FORWARD_STREAM_EVENT_INTERRUPT(2)转发中断。转发过程中,如果相同 user_id 的用户进入目标房间,转发中断。
FORWARD_STREAM_EVENT_DST_ROOM_UPDATED(3)目标房间已更新,由 updateForwardStreamToRooms 触发。
FORWARD_STREAM_EVENT_UN_EXPECT_API_CALL(4)API 调用时序错误。例如,在调用 startForwardStreamToRooms 之前调用 updateForwardStreamToRooms 。
ForwardStreamInfo
public class com.ss.bytertc.engine.data.ForwardStreamInfo
java

媒体流跨房间转发的目标房间的相关信息

成员变量
类型名称
StringroomId
Stringtoken
变量说明

roomId
public String com.ss.bytertc.engine.data.ForwardStreamInfo.roomId;
java

跨房间转发媒体流过程中目标房间 ID

token
public String com.ss.bytertc.engine.data.ForwardStreamInfo.token;
java

使用转发目标房间 RoomID 和 UserID 生成的 Token。

测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。

如果 Token 无效,转发失败。

ForwardStreamStateInfo
public class com.ss.bytertc.engine.data.ForwardStreamStateInfo
java

跨房间转发媒体流过程中的不同目标房间的状态和错误信息

成员变量
类型名称
StringroomId
ForwardStreamStatestate
ForwardStreamErrorerror
变量说明

roomId
public String com.ss.bytertc.engine.data.ForwardStreamStateInfo.roomId;
java

跨房间转发媒体流过程中目标房间 ID

空字符串代表所有目标房间

state
public ForwardStreamState com.ss.bytertc.engine.data.ForwardStreamStateInfo.state;
java

跨房间转发媒体流过程中该目标房间的状态,参看 ForwardStreamState

error
public ForwardStreamError com.ss.bytertc.engine.data.ForwardStreamStateInfo.error;
java

跨房间转发媒体流过程中该目标房间抛出的错误码,参看 ForwardStreamError

ForwardStreamState
public enum com.ss.bytertc.engine.data.ForwardStreamStateInfo.ForwardStreamState
java

媒体流跨房间转发状态

枚举值
类型说明
FORWARD_STREAM_STATE_IDLE(0)空闲状态
+ 成功调用 stopForwardStreamToRooms 后,所有目标房间为空闲状态。
+ 成功调用 updateForwardStreamToRooms 减少目标房间后,本次减少的目标房间为空闲状态。
FORWARD_STREAM_STATE_SUCCESS(1)开始转发
+ 调用 startForwardStreamToRooms 成功向所有房间开始转发媒体流后,返回此状态。
+ 调用 updateForwardStreamToRooms 后,成功向新增目标房间开始转发媒体流后,返回此状态。
FORWARD_STREAM_STATE_FAILURE(2)转发失败,失败详情参考 ForwardStreamErrorforwardStreamError
调用 startForwardStreamToRooms 或 updateForwardStreamToRooms 后,如遇转发失败,返回此状态。
成员函数
返回名称
intvalue
函数说明

value
public int com.ss.bytertc.engine.data.ForwardStreamStateInfo.ForwardStreamState.value()
java

获取当前值

ForwardStreamError
public enum com.ss.bytertc.engine.data.ForwardStreamStateInfo.ForwardStreamError
java

媒体流跨房间转发过程中抛出的错误码

枚举值
类型说明
FORWARD_STREAM_ERROR_OK(0)正常
FORWARD_STREAM_ERROR_INVALID_ARGUMENT(1201)参数异常
FORWARD_STREAM_ERROR_INVALID_TOKEN(1202)token 错误
FORWARD_STREAM_ERROR_RESPONSE(1203)服务端异常
FORWARD_STREAM_ERROR_REMOTE_KICKED(1204)目标房间有相同 user id 的用户加入,转发中断
FORWARD_STREAM_ERROR_NOT_SUPPORT(1205)服务端不支持转发功能
HumanOrientation
public class com.ss.bytertc.engine.data.HumanOrientation
java

三维朝向信息,三个向量需要两两垂直。参看 Orientation。

成员变量
类型名称
Orientationforward
Orientationright
Orientationup
变量说明

forward
public Orientation com.ss.bytertc.engine.data.HumanOrientation.forward;
java

正前方朝向,默认值为 {1,0,0},即正前方朝向 x 轴正方向

public Orientation com.ss.bytertc.engine.data.HumanOrientation.right;
java

正右方朝向,默认值为 {0,1,0},即右手朝向 y 轴正方向

up
public Orientation com.ss.bytertc.engine.data.HumanOrientation.up;
java

正上方朝向,默认值为 {0,0,1},即头顶朝向 z 轴正方向

LocalAudioPropertiesInfo
public class com.ss.bytertc.engine.data.LocalAudioPropertiesInfo
java

本地音频属性信息

成员变量
类型名称
StreamIndexstreamIndex
AudioPropertiesInfoaudioPropertiesInfo
变量说明

streamIndex
public StreamIndex com.ss.bytertc.engine.data.LocalAudioPropertiesInfo.streamIndex;
java

流属性,主流或屏幕流。参看 StreamIndex

audioPropertiesInfo
public AudioPropertiesInfo com.ss.bytertc.engine.data.LocalAudioPropertiesInfo.audioPropertiesInfo;
java

音频属性信息,详见 AudioPropertiesInfo。

MediaInputType
public enum com.ss.bytertc.engine.data.MediaInputType
java

视频输入类型

枚举值
类型说明
MEDIA_INPUT_TYPE_EXTERNAL(0)自定义采集。

设置完成后方可直接向 SDK 推送视频帧。
MEDIA_INPUT_TYPE_INTERNAL(1)内部 SDK 采集。

此设置仅切换至内部采集,你需继续调用 startVideoCapture 开启内部采集。
MirrorType
public enum com.ss.bytertc.engine.data.MirrorType
java

镜像类型

枚举值
类型说明
MIRROR_TYPE_NONE(0)本地预览和编码传输时均无镜像效果
MIRROR_TYPE_RENDER(1)本地预览时有镜像效果,编码传输时无镜像效果
MIRROR_TYPE_RENDER_AND_ENCODER(3)本地预览和编码传输时均有镜像效果
MulDimSingScoringMode
public enum com.ss.bytertc.engine.data.MulDimSingScoringMode
java

K 歌打分维度。

枚举值
类型说明
MUL_DIM_SING_SCORING_MODE_NOTE(0)按照音高进行评分。
MuteState
public enum com.ss.bytertc.engine.data.MuteState
java

音视频流的发送/播放状态

枚举值
类型说明
MUTE_STATE_OFF(0)发送
MUTE_STATE_ON(1)停止发送
Orientation
public class com.ss.bytertc.engine.data.Orientation
java

方向朝向信息

成员变量
类型名称
floatx
floaty
floatz
变量说明

x
public float com.ss.bytertc.engine.data.Orientation.x;
java

x 坐标

y
public float com.ss.bytertc.engine.data.Orientation.y;
java

y 坐标

z
public float com.ss.bytertc.engine.data.Orientation.z;
java

z 坐标

Position
public class com.ss.bytertc.engine.data.Position
java

本地用户在房间内的位置坐标,需自行建立空间直角坐标系

成员变量
类型名称
intx
inty
intz
变量说明

x
public int com.ss.bytertc.engine.data.Position.x;
java

x 坐标

y
public int com.ss.bytertc.engine.data.Position.y;
java

y 坐标

z
public int com.ss.bytertc.engine.data.Position.z;
java

z 坐标

ReceiveRange
public class com.ss.bytertc.engine.data.ReceiveRange
java

本地用户能收听到、且具有衰减效果的音频接收范围

成员变量
类型名称
intmin
intmax
变量说明

min
public int com.ss.bytertc.engine.data.ReceiveRange.min;
java

能够接收语音、并且具有衰减效果的最小距离值,该值须 ≥ 0,但 ≤ max。

小于该值的范围内没有范围语音效果,即收听到的音频音量相同。

max
public int com.ss.bytertc.engine.data.ReceiveRange.max;
java

能够收听语音的最大距离值,该值须 > 0 且 ≥ min。

当收听者和声源距离处于 [min, max) 之间时,收听到的音量根据距离呈衰减效果。

超出该值范围的音频将无法收听到。

RemoteAudioPropertiesInfo
public class com.ss.bytertc.engine.data.RemoteAudioPropertiesInfo
java

远端音频属性信息

成员变量
类型名称
RemoteStreamKeystreamKey
AudioPropertiesInfoaudioPropertiesInfo
变量说明

streamKey
public RemoteStreamKey com.ss.bytertc.engine.data.RemoteAudioPropertiesInfo.streamKey;
java

远端流信息,详见 RemoteStreamKey

audioPropertiesInfo
public AudioPropertiesInfo com.ss.bytertc.engine.data.RemoteAudioPropertiesInfo.audioPropertiesInfo;
java

音频属性信息,详见 AudioPropertiesInfo

ScreenMediaType
public enum com.ss.bytertc.engine.data.ScreenMediaType
java

屏幕采集媒体类型

枚举值
类型说明
SCREEN_MEDIA_TYPE_VIDEO_ONLY(0)仅采集视频
SCREEN_MEDIA_TYPE_AUDIO_ONLY(1)仅采集音频
SCREEN_MEDIA_TYPE_VIDEO_AND_AUDIO(2)采集音频和视频
SingScoringConfig
public class com.ss.bytertc.engine.data.SingScoringConfig
java

K 歌评分配置。

成员变量
类型名称
AudioSampleRatesampleRate
MulDimSingScoringModemode
StringlyricsFilepath
StringmidiFilepath
变量说明

sampleRate
public AudioSampleRate com.ss.bytertc.engine.data.SingScoringConfig.sampleRate;
java

音频采样率。仅支持 44100 Hz、48000 Hz。

mode
public MulDimSingScoringMode com.ss.bytertc.engine.data.SingScoringConfig.mode;
java

打分维度,详见 MulDimSingScoringMode。

lyricsFilepath
public String com.ss.bytertc.engine.data.SingScoringConfig.lyricsFilepath;
java

歌词文件路径。打分功能仅支持 KRC 歌词文件。

midiFilepath
public String com.ss.bytertc.engine.data.SingScoringConfig.midiFilepath;
java

歌曲 midi 文件路径。

SingScoringRealtimeInfo
public class com.ss.bytertc.engine.data.SingScoringRealtimeInfo
java

实时评分信息。

成员变量
类型名称
intcurrentPosition
intuserPitch
intstandardPitch
intsentenceIndex
intsentenceScore
inttotalScore
intaverageScore
成员函数
返回名称
StringtoString
变量说明

currentPosition
public int com.ss.bytertc.engine.data.SingScoringRealtimeInfo.currentPosition;
java

当前播放进度。

userPitch
public int com.ss.bytertc.engine.data.SingScoringRealtimeInfo.userPitch;
java

演唱者的音高。

standardPitch
public int com.ss.bytertc.engine.data.SingScoringRealtimeInfo.standardPitch;
java

标准音高。

sentenceIndex
public int com.ss.bytertc.engine.data.SingScoringRealtimeInfo.sentenceIndex;
java

歌词分句索引。

sentenceScore
public int com.ss.bytertc.engine.data.SingScoringRealtimeInfo.sentenceScore;
java

上一句歌词的评分。

totalScore
public int com.ss.bytertc.engine.data.SingScoringRealtimeInfo.totalScore;
java

当前演唱的累计分数。

averageScore
public int com.ss.bytertc.engine.data.SingScoringRealtimeInfo.averageScore;
java

当前演唱的平均分数。

函数说明

toString
public String com.ss.bytertc.engine.data.SingScoringRealtimeInfo.toString()
java
StandardPitchInfo
public class com.ss.bytertc.engine.data.StandardPitchInfo
java

标准音高数据数组。

成员变量
类型名称
intstartTime
intduration
intpitch
变量说明

startTime
public int com.ss.bytertc.engine.data.StandardPitchInfo.startTime;
java

开始时间,单位 ms。

duration
public int com.ss.bytertc.engine.data.StandardPitchInfo.duration;
java

持续时间,单位 ms。

pitch
public int com.ss.bytertc.engine.data.StandardPitchInfo.pitch;
java

音高。

StreamIndex
public enum com.ss.bytertc.engine.data.StreamIndex
java

流属性

枚举值
类型说明
STREAM_INDEX_MAIN(0)

主流。包括:

+ 由摄像头/麦克风通过内部采集机制,采集到的视频/音频;

+ 通过自定义采集,采集到的视频/音频。
STREAM_INDEX_SCREEN(1)屏幕流。屏幕共享时共享的视频流,或来自声卡的本地播放音频流。
StreamSycnInfoConfig
public class com.ss.bytertc.engine.data.StreamSycnInfoConfig
java

媒体流信息同步的相关配置

成员变量
类型名称
StreamIndexstreamIndex
intrepeatCount
SyncInfoStreamTypestreamType
变量说明

streamIndex
public StreamIndex com.ss.bytertc.engine.data.StreamSycnInfoConfig.streamIndex;
java

流属性,主流或屏幕流。见枚举类 StreamIndex

repeatCount
public int com.ss.bytertc.engine.data.StreamSycnInfoConfig.repeatCount;
java

信息发送的重复次数。取值范围是 [0,25],建议设置为 [3,5]

streamType
public SyncInfoStreamType com.ss.bytertc.engine.data.StreamSycnInfoConfig.streamType;
java

媒体流信息同步的流类型,见 SyncInfoStreamType

SyncInfoStreamType
public enum com.ss.bytertc.engine.data.StreamSycnInfoConfig.SyncInfoStreamType
java

媒体流信息同步的流类型

枚举值
类型说明
SYNC_INFO_STREAM_TYPE_AUDIO音频流
VideoContentType
public enum com.ss.bytertc.engine.data.VideoContentType
java

视频内容类型

枚举值
类型说明
kVideoContentTypeNormalFrame(0)普通视频
kVideoContentTypeBlackFrame(1)黑帧视频
VideoFrameType
public enum com.ss.bytertc.engine.data.VideoFrameType
java

视频帧的类型,用于标识视频帧是 CPUBuffer 还是 TextureBuffer

枚举值
类型说明
kVideoFrameTypeRawMemory(0)CPU Buffer
kVideoFrameTypeGLTexture(2)GL Texture
VideoOrientation
public enum com.ss.bytertc.engine.data.VideoOrientation
java

视频帧朝向

枚举值
类型说明
Adaptive(0)(默认)使用相机输出的原始视频帧的角度,不对视频帧进行额外旋转。
Portrait(1)固定为竖屏,将相机采集到的视频帧转换为竖屏,在整个 RTC 链路中传递竖屏帧。
Landscape(2)固定为横屏,将相机采集到的视频帧转换为横屏,在整个 RTC 链路中传递横屏帧。
VideoPixelFormat
public enum com.ss.bytertc.engine.data.VideoPixelFormat
java

视频帧的数据格式

枚举值
类型说明
kVideoPixelFormatUnknown(0)未知格式
kVideoPixelFormatI420(1)I420格式
kVideoPixelFormatNV12(2)NV12格式
kVideoPixelFormatNV21(3)NV21格式
kVideoPixelFormatRGBA(5)RGBA格式
kVideoPixelFormatTexture2D(GLES10.GL_TEXTURE_2D)Texture2D格式
kVideoPixelFormatTextureOES(GLES11Ext.GL_TEXTURE_EXTERNAL_OES)TextureOES格式
VideoRotationMode
public enum com.ss.bytertc.engine.data.VideoRotationMode
java

视频旋转模式

枚举值
类型说明
FollowApp(0)App 方向
FollowGSensor(1)重力方向
VirtualBackgroundSource
public class com.ss.bytertc.engine.data.VirtualBackgroundSource
java

背景贴纸对象。

成员变量
类型名称
VirtualBackgroundSourceTypesourceType
intsourceColor
StringsourcePath
变量说明

sourceType
public VirtualBackgroundSourceType com.ss.bytertc.engine.data.VirtualBackgroundSource.sourceType;
java

虚拟背景类型,详见 VirtualBackgroundSourceType 。

sourceColor
public int com.ss.bytertc.engine.data.VirtualBackgroundSource.sourceColor;
java

纯色背景使用的颜色。

格式为 0xAARRGGBB 。

sourcePath
public String com.ss.bytertc.engine.data.VirtualBackgroundSource.sourcePath;
java

自定义背景图片的绝对路径。

VirtualBackgroundSourceType
public enum com.ss.bytertc.engine.data.VirtualBackgroundSourceType
java

虚拟背景类型。

枚举值
类型说明
SourceTypeColor使用纯色背景替换视频原有背景。
SourceTypeImage使用自定义图片背景替换视频原有背景。
IRTCASREngineEventHandler
public interface com.ss.bytertc.engine.handler.IRTCASREngineEventHandler
java

语音识别服务使用状态回调

成员函数
返回名称
voidonSuccess
voidonMessage
voidonError
函数说明

onSuccess
public void com.ss.bytertc.engine.handler.IRTCASREngineEventHandler.onSuccess()
java

语音识别服务开启成功回调

onMessage
public void com.ss.bytertc.engine.handler.IRTCASREngineEventHandler.onMessage(
    String message)
java

语音转文字成功后回调,该回调返回识别后的全量消息。

传入参数

参数名类型说明
messageString识别完成后得到的文字消息

注意
若识别过程中发生了网络连接中断,则重连后回调的信息中只包含重连后识别的文字消息,不再包含上一次连接后识别的消息。

onError
public void com.ss.bytertc.engine.handler.IRTCASREngineEventHandler.onError(
    int errorCode,
    String errorMessage)
java

当语音识别服务内部发生错误事件时触发该回调。

传入参数

参数名类型说明
errorCodeint错误码
• < 0: 参数错误或 API 调用顺序错误,参看 RTCASRErrorCode;
• >0: 参看 语音识别服务错误码
errorMessageString错误原因说明。
RTCASRErrorCode
public enum com.ss.bytertc.engine.handler.IRTCASREngineEventHandler.RTCASRErrorCode
java

语音识别服务错误码。

除网络原因导致的错误,语音识别服务内部会自行重试之外,其他错误都会停止服务,此时建议再次调用 startASR 重启语音识别功能。

枚举值
类型说明
RTCASRErrorNetworkInterrupted(-1)网络连接中断,服务不可用,内部会进行重连
RTCASRErrorAlreadyStarted(-2)重复调用 startASR。开启语音识别服务后,你需要先调用 stopASR 停止语音识别服务,才能二次调用 startASR 再次开启服务。
RTCASRErrorTokenEmpty(-3)语音识别服务所需 token 为空
RTCErrorSignatureKeyEmpty(-4)Signature 鉴权模式下 secretKey 为空
RTCASRErrorUserIdNull(-5)用户 ID 为空
RTCASRErrorAPPIDNull(-6)应用 ID 为空
RTCASRErrorClusterNull(-7)语音识别服务 cluster 为空
RTCASRErrorOperationDenied(-8)语音识别服务连接失败,该版本没有语音识别功能,请联系 RTC 技术支持。
ByteRTCStreamMixingEvent
public enum com.ss.bytertc.engine.live.ByteRTCStreamMixingEvent
java

转推直播任务状态

枚举值
类型说明
STREAM_MIXING_START(1)请求发起转推直播任务
STREAM_MIXING_START_SUCCESS(2)发起转推直播任务成功
STREAM_MIXING_START_FAILED(3)发起转推直播任务失败
STREAM_MIXING_UPDATE(4)请求更新转推直播任务配置
STREAM_MIXING_UPDATE_SUCCESS(5)成功更新转推直播任务配置
STREAM_MIXING_UPDATE_FAILED(6)更新转推直播任务配置失败
STREAM_MIXING_STOP(7)请求结束转推直播任务
STREAM_MIXING_STOP_SUCCESS(8)结束转推直播任务成功
STREAM_MIXING_STOP_FAILED(9)结束转推直播任务失败
STREAM_MIXING_CHANGE_MIX_TYPE(10)更新转推直播任务配置的请求超时
STREAM_MIXING_FIRST_AUDIO_FRAME_BY_CLIENT_MIX(11)得到客户端合流音频首帧
STREAM_MIXING_FIRST_VIDEO_FRAME_BY_CLIENT_MIX(12)收到客户端合流视频首帧
STREAM_MIXING_UPDATE_TIMEOUT(13)更新转推直播任务配置超时
STREAM_MIXING_START_TIMEOUT(14)发起转推直播任务配置超时
STREAM_MIXING_REQUEST_PARAM_ERROR(15)合流布局参数错误
STREAM_MIXING_MIX_IMAGE_EVENT(16)合流加图片
ByteRTCStreamMixingType
public enum com.ss.bytertc.engine.live.ByteRTCStreamMixingType
java

合流类型

枚举值
类型说明
STREAM_MIXING_BY_SERVER(0)服务端合流
STREAM_MIXING_BY_CLIENT(1)端云一体合流
成员函数
返回名称
ByteRTCStreamMixingTypeByteRTCStreamMixingType
函数说明

ByteRTCStreamMixingType
com.ss.bytertc.engine.live.ByteRTCStreamMixingType.ByteRTCStreamMixingType(
    int value)
java
LiveTranscoding
public class com.ss.bytertc.engine.live.LiveTranscoding
java

转推直播配置参数。

成员变量
类型名称
StringACTION_START
StringACTION_CHANGED
StringACTION_STOPPED
静态函数
返回名称
static LiveTranscodinggetDefualtLiveTranscode
成员函数
返回名称
voidsetUrl
voidsetRoomId
voidsetUserId
voidsetAction
voidsetVideo
voidsetAudio
voidsetLayout
ByteRTCStreamMixingTypegetMixType
voidsetMixType
StringgetUrl
VideoConfiggetVideo
AudioConfiggetAudio
LayoutgetLayout
变量说明

ACTION_START
public static final String com.ss.bytertc.engine.live.LiveTranscoding.ACTION_START = "started";
java

开启转推直播。

ACTION_CHANGED
public static final String com.ss.bytertc.engine.live.LiveTranscoding.ACTION_CHANGED = "layoutChanged";
java

更新合流视频布局。

ACTION_STOPPED
public static final String com.ss.bytertc.engine.live.LiveTranscoding.ACTION_STOPPED = "stopped";
java

停止直播推流功能。

函数说明

getDefualtLiveTranscode
public static LiveTranscoding com.ss.bytertc.engine.live.LiveTranscoding.getDefualtLiveTranscode()
java

获取默认的转推直播配置参数。

返回值
默认的转推直播配置参数。参看 LiveTranscoding。

setUrl
public void com.ss.bytertc.engine.live.LiveTranscoding.setUrl(
    String url)
java

设置推流 CDN 地址。

setRoomId
public void com.ss.bytertc.engine.live.LiveTranscoding.setRoomId(
    String roomId)
java

设置roomId。

setUserId
public void com.ss.bytertc.engine.live.LiveTranscoding.setUserId(
    String userId)
java

设置userId。

setAction
public void com.ss.bytertc.engine.live.LiveTranscoding.setAction(
    String action)
java

设置转推直播动作参数。

传入参数

参数名类型说明
actionString转推直播动作。可选取值如下:
• ACTION_START: 开启转推直播功能
• ACTION_CHANGED: 更新转推直播视频合流布局
• ACTION_STOPPED: 停止转推直播功能

setVideo
public void com.ss.bytertc.engine.live.LiveTranscoding.setVideo(
    VideoConfig video)
java

设置视频转码配置参数。

传入参数

参数名类型说明
videoVideoConfig视频转码配置参数。详见 VideoConfig 数据类型。

setAudio
public void com.ss.bytertc.engine.live.LiveTranscoding.setAudio(
    AudioConfig audio)
java

设置音频转码配置参数。

传入参数

参数名类型说明
audioAudioConfig音频转码配置参数。详见 AudioConfig 数据类型。

setLayout
public void com.ss.bytertc.engine.live.LiveTranscoding.setLayout(
    Layout layout)
java

设置视频流合流整体布局信息。

传入参数

参数名类型说明
layoutLayout视频流合流整体布局参数。详见 Layout 数据类型。

getMixType
public ByteRTCStreamMixingType com.ss.bytertc.engine.live.LiveTranscoding.getMixType()
java

获取合流类型。

返回值
合流类型,参看 ByteRTCStreamMixingType。

setMixType
public void com.ss.bytertc.engine.live.LiveTranscoding.setMixType(
    ByteRTCStreamMixingType mixType)
java

设置合流类型。

传入参数

参数名类型说明
mixTypeByteRTCStreamMixingType合流类型,参看 ByteRTCStreamMixingType。

getUrl
public String com.ss.bytertc.engine.live.LiveTranscoding.getUrl()
java

获取推流的 CDN 地址。

返回值
CDN 的 URL 地址。

getVideo
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.getVideo()
java

获取视频转码配置参数。

返回值
当前视频转码配置参数。详见 VideoConfig 数据类型。

getAudio
public AudioConfig com.ss.bytertc.engine.live.LiveTranscoding.getAudio()
java

获取音频转码配置参数。

返回值
当前音频转码配置参数。详见 AudioConfig 数据类型。

getLayout
public Layout com.ss.bytertc.engine.live.LiveTranscoding.getLayout()
java

获取视频流合流整体布局信息。

返回值
当前视频流合流整体布局。详见 Layout 数据类型。

TranscoderContentControlType
public enum com.ss.bytertc.engine.live.LiveTranscoding.TranscoderContentControlType
java

合流输出内容类型

枚举值
类型说明
HAS_AUDIO_AND_VIDEO(0)输出的混流包含音频和视频
HAS_AUDIO_ONLY(1)输出的混流只包含音频
HAS_VIDEO_ONLY(2)输出的混流只包含视频
成员函数
返回名称
intgetValue
函数说明

getValue
public int com.ss.bytertc.engine.live.LiveTranscoding.TranscoderContentControlType.getValue()
java

获取合流输出内容类型。

返回值
合流输出内容类型

TranscoderRenderMode
public enum com.ss.bytertc.engine.live.LiveTranscoding.TranscoderRenderMode
java

视频渲染的缩放模式

枚举值
类型说明
RENDER_HIDDEN(1)视窗填满优先。

视频尺寸等比缩放,直至视窗被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。
RENDER_FIT(2)视频帧内容全部显示优先。

视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成背景颜色。
RENDER_ADAPTIVE(3)视频帧自适应画布。

视频尺寸非等比例缩放,把窗口充满。在此过程中,视频帧的长宽比例可能会发生变化。
成员函数
返回名称
intgetValue
函数说明

getValue
public int com.ss.bytertc.engine.live.LiveTranscoding.TranscoderRenderMode.getValue()
java

获取视频内容的缩放模式。

返回值
视频内容的缩放模式。

TranscoderLayoutRegionType
public enum com.ss.bytertc.engine.live.LiveTranscoding.TranscoderLayoutRegionType
java

合流布局区域类型

枚举值
类型说明
LAYOUT_REGION_TYPE_VIDEO_STREAM(0)合流布局区域类型为视频。
LAYOUT_REGION_TYPE_IMAGE(1)合流布局区域类型为图片。
成员函数
返回名称
intgetValue
函数说明

getValue
public int com.ss.bytertc.engine.live.LiveTranscoding.TranscoderLayoutRegionType.getValue()
java

获取合流布局区域类型。

返回值
合流布局区域类型。

AACProfile
public enum com.ss.bytertc.engine.live.LiveTranscoding.AACProfile
java

AAC 编码类型。

枚举值
类型说明
AAC_PROFILE_LC("LC")编码等级 AAC-LC
AAC_PROFILE_HEV1("HEv1")编码等级 HE-AAC v1
AAC_PROFILE_HEV2("HEv2")编码等级 HE-AAC v2
成员函数
返回名称
StringgetValue
函数说明

getValue
public String com.ss.bytertc.engine.live.LiveTranscoding.AACProfile.getValue()
java

获取 AAC 编码类型。

返回值
AAC 编码类型。

VideoConfig
public static class com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig
java

视频转码配置参数。

成员函数
返回名称
VideoConfigsetCodec
VideoConfigsetFps
VideoConfigsetGop
VideoConfigsetLowLatency
VideoConfigsetKBitRate
VideoConfigsetWidth
VideoConfigsetHeight
函数说明

setCodec
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.setCodec(
    String codec)
java

设置视频编码器。

传入参数

参数名类型说明
codecString编码器。默认值为 0。
• 值为 0 时,使用 H.264;
• 值为 1 时,使用 byteVC1。此时,你必须调用 setKBitRate 设置视频码率。

setFps
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.setFps(
    int fps)
java

设置合流视频帧率信息。

传入参数

参数名类型说明
fpsint合流的视频帧率。默认值为 15,取值范围是 [1, 60]。值不合法时,自动调整为默认值。

setGop
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.setGop(
    int gop)
java

设置视频 I 帧间隔。

传入参数

参数名类型说明
gopintI 帧间隔。默认值为 4,取值范围为 [1, 5],单位为秒。值不合法时,自动调整为默认值。

setLowLatency
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.setLowLatency(
    boolean lowLatency)
java

设置是否使用低延时特性。

传入参数

参数名类型说明
lowLatencyboolean是否使用低延时特性。取值含义如下:
• true: 使用低延时特性
• false: 不使用低延时特性

setKBitRate
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.setKBitRate(
    int kBitRate)
java

设置合流视频码率

传入参数

参数名类型说明
kBitRateint合流视频码率。单位为 kbps,取值范围为 [1,10000],默认值为自适应。值不合法时,自动调整为默认值。

setWidth
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.setWidth(
    int width)
java

设置合流视频宽度。

传入参数

参数名类型说明
widthint合流视频宽度。单位为 px,范围为 [2, 1920],必须是偶数。默认值为 640。

setHeight
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.setHeight(
    int height)
java

设置合流视频高度。

传入参数

参数名类型说明
heightint合流视频高度。单位为 px,范围为 [2, 1080],必须是偶数。默认值为 480。
VideoCodecType
public enum com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.VideoCodecType
java

转推直播视频编码器格式

枚举值
类型说明
VIDEO_CODEC_TYPE_H264("H264")标准 H264 编码格式
VIDEO_CODEC_TYPE_BYTEVC1("ByteVC1")ByteVC1 编码格式
成员函数
返回名称
StringgetValue
函数说明

getValue
public String com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.VideoCodecType.getValue()
java

获取转推直播视频编码器格式。

返回值
转推直播视频编码器格式。

AudioConfig
public static class com.ss.bytertc.engine.live.LiveTranscoding.AudioConfig
java

音频转码配置参数。

成员函数
返回名称
AudioConfigsetCodec
AudioConfigsetKBitRate
AudioConfigsetSampleRate
AudioConfigsetChannels
AudioConfigsetAacProfile
函数说明

setCodec
public AudioConfig com.ss.bytertc.engine.live.LiveTranscoding.AudioConfig.setCodec(
    String codec)
java

设置音频编码格式。

传入参数

参数名类型说明
codecString音频编码格式,仅支持AAC编码格式。

setKBitRate
public AudioConfig com.ss.bytertc.engine.live.LiveTranscoding.AudioConfig.setKBitRate(
    int kBitRate)
java

设置音频码率。

传入参数

参数名类型说明
kBitRateint音频码率,单位 Kbps。可取范围 [32Kbps, 192Kbps],默认值为 64Kbps。

setSampleRate
public AudioConfig com.ss.bytertc.engine.live.LiveTranscoding.AudioConfig.setSampleRate(
    int sampleRate)
java

设置音频采样率。

传入参数

参数名类型说明
sampleRateint音频采样率,单位 Hz。可取 32000Hz、44100Hz、48000Hz,默认值为 48000Hz。

setChannels
public AudioConfig com.ss.bytertc.engine.live.LiveTranscoding.AudioConfig.setChannels(
    int channels)
java

设置声道数。

传入参数

参数名类型说明
channelsint音频声道数。可取 1、2,默认值为 2。

setAacProfile
public AudioConfig com.ss.bytertc.engine.live.LiveTranscoding.AudioConfig.setAacProfile(
    AACProfile aacProfile)
java

设置 AAC 等级。

传入参数

参数名类型说明
AACProfile****AAC 等级,参看 AACProfile。默认值为 AAC_PROFILE_LC("LC")。
Region
public static class com.ss.bytertc.engine.live.LiveTranscoding.Region
java

单个图片或视频流在合流中的布局信息。

开启转推直播功能后,在多路视频流合流时,你可以设置其中一路视频流在合流中的预设布局信息。

成员函数
返回名称
Regionuid
RegionroomId
Regionzorder
Regionalpha
RegioncontentControl
RegionrenderMode
Regionposition
Regionsize
booleanisScreenStream
RegionsetScreenStream
booleanisLocalUser
RegionsetLocalUser
Regiontype
Regiondata
RegiondataParam
函数说明

uid
public Region com.ss.bytertc.engine.live.LiveTranscoding.Region.uid(
    String)
java

设置视频流发布用户的用户 ID。

传入参数

参数名类型说明
uidString用户 ID。

roomId
public Region com.ss.bytertc.engine.live.LiveTranscoding.Region.roomId(
    String)
java

设置视频流发布用户的房间 ID。必填。

传入参数

参数名类型说明
roomIdString房间 ID。

zorder
public Region com.ss.bytertc.engine.live.LiveTranscoding.Region.zorder(
    int)
java

设置用户视频布局在画布中的层级。

传入参数

参数名类型说明
zorderint用户视频布局在画布中的层级。取值范围为[0 - 100]。0为底层,值越大越上层。

alpha
public Region com.ss.bytertc.engine.live.LiveTranscoding.Region.alpha(
    double)
java

设置透明度。

传入参数

参数名类型说明
alphadouble透明度,可选范围为 [0.0, 1.0],0.0 为全透明。

contentControl
public Region com.ss.bytertc.engine.live.LiveTranscoding.Region.contentControl(
    TranscoderContentControlType)
java

设置合流内容类型。

传入参数

参数名类型说明
contentControlTranscoderContentControlType合流内容控制。默认值为 TranscoderContentControlType.HAS_AUDIO_AND_VIDEO,参看 TranscoderContentControlType。

renderMode
public Region com.ss.bytertc.engine.live.LiveTranscoding.Region.renderMode(
    TranscoderRenderMode)
java

设置图片或视频流渲染的缩放模式。

传入参数

参数名类型说明
renderModeTranscoderRenderMode图片或视频流的缩放模式,参看 TranscoderRenderMode。

position
public Region com.ss.bytertc.engine.live.LiveTranscoding.Region.position(
    double x,
    double y)
java

设置用户视频布局的相对位置。

传入参数

参数名类型说明
xdouble视频流对应区域左上角的横坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。
ydouble视频流对应区域左上角的纵坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。

size
public Region com.ss.bytertc.engine.live.LiveTranscoding.Region.size(
    double width,
    double height)
java

设置用户视频相对大小。

传入参数

参数名类型说明
widthdouble视频流对应区域宽度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。
heightdouble视频流对应区域高度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。

isScreenStream
public boolean com.ss.bytertc.engine.live.LiveTranscoding.Region.isScreenStream()
java

是否是屏幕流。

返回值

setScreenStream
public Region com.ss.bytertc.engine.live.LiveTranscoding.Region.setScreenStream(
    boolean screenStream)
java

设置是否是屏幕流。

传入参数

参数名类型说明
screenStreamboolean标识是否是屏幕流

isLocalUser
public boolean com.ss.bytertc.engine.live.LiveTranscoding.Region.isLocalUser()
java

是否本地用户。

返回值

setLocalUser
public Region com.ss.bytertc.engine.live.LiveTranscoding.Region.setLocalUser(
    boolean localUser)
java

设置是否是本地用户。

传入参数

参数名类型说明
localUserboolean标识是否是本地用户

type
public Region com.ss.bytertc.engine.live.LiveTranscoding.Region.type(
    TranscoderLayoutRegionType)
java

设置合流布局区域类型。

传入参数

参数名类型说明
typeTranscoderLayoutRegionType合流布局区域类型,详见 TranscoderLayoutRegionType。

data
public Region com.ss.bytertc.engine.live.LiveTranscoding.Region.data(
    byte[])
java

设置图片合流区域类型对应的数据。

传入参数

参数名类型说明
databyte[]图片合流布局区域类型对应的数据。类型为图片时传入图片 RGBA 数据,当类型为视频流时传空。

dataParam
public Region com.ss.bytertc.engine.live.LiveTranscoding.Region.dataParam(
    Region.DataParam)
java

设置合流布局区域数据的对应参数。

传入参数

参数名类型说明
dataParamRegion.DataParam合流布局区域数据的对应参数。当类型为视频流时传空,类型为图片时传入对应图片的参数,参看 DataParam。
DataParam
public static class com.ss.bytertc.engine.live.LiveTranscoding.Region.DataParam
java

图片合流相关参数

成员函数
返回名称
Region.DataParamsetImageWidth
Region.DataParamsetImageHeight
函数说明

setImageWidth
public Region.DataParam com.ss.bytertc.engine.live.LiveTranscoding.Region.DataParam.setImageWidth(
    int imageWidth)
java

原始图片的宽度,单位为 px。

setImageHeight
public Region.DataParam com.ss.bytertc.engine.live.LiveTranscoding.Region.DataParam.setImageHeight(
    int imageHeight)
java

原始图片的高度,单位为 px。

Layout
public static class com.ss.bytertc.engine.live.LiveTranscoding.Layout
java

视频流合流整体布局信息。

开启转推直播功能后,你可以设置参与合流的每路视频流的预设布局信息和合流背景信息等。

成员函数
返回名称
Region[]getRegions
voidsetRegions
StringgetAppData
voidsetAppData
StringgetBackgroundColor
voidsetBackgroundColor
函数说明

getRegions
public Region[] com.ss.bytertc.engine.live.LiveTranscoding.Layout.getRegions()
java

获取用户布局信息列表。

返回值
当前合流的用户布局信息列表。

setRegions
public void com.ss.bytertc.engine.live.LiveTranscoding.Layout.setRegions(
    Region[] regions)
java

设置用户布局信息列表。

传入参数

参数名类型说明
regionsRegion[]用户布局信息列表。为 Region 数据类型的数组。每一个该类型对象为一路单独的视频流的布局信息。

getAppData
public String com.ss.bytertc.engine.live.LiveTranscoding.Layout.getAppData()
java

获取透传的 App 数据。

返回值
当前透传的 App 数据。

setAppData
public void com.ss.bytertc.engine.live.LiveTranscoding.Layout.setAppData(
    String appData)
java

设置透传的 App 数据。

传入参数

参数名类型说明
appDataString透传的 App 数据。

getBackgroundColor
public String com.ss.bytertc.engine.live.LiveTranscoding.Layout.getBackgroundColor()
java

获取画布的背景颜色。

返回值
当前画布的背景颜色。

setBackgroundColor
public void com.ss.bytertc.engine.live.LiveTranscoding.Layout.setBackgroundColor(
    String backgroundColor)
java

设置画布的背景颜色。

传入参数

参数名类型说明
backgroundColorString画布的背景颜色。格式为 RGB 定义下的 Hex 值,如 #FFB6C1 表示浅粉色。默认值 #000000,表示为黑色
Builder
public static class com.ss.bytertc.engine.live.LiveTranscoding.Layout.Builder
java

构建参数组合

成员函数
返回名称
BuilderappData
BuilderbackgroundColor
函数说明

appData
public Builder com.ss.bytertc.engine.live.LiveTranscoding.Layout.Builder.appData(
    String)
java

透传的 app 数据

backgroundColor
public Builder com.ss.bytertc.engine.live.LiveTranscoding.Layout.Builder.backgroundColor(
    String)
java

画布的背景颜色

PushSingleStreamParam
public class com.ss.bytertc.engine.live.PushSingleStreamParam
java

单流转推直播配置参数。

成员变量
类型名称
StringroomId
StringuserId
Stringurl
booleanisScreen
变量说明

roomId
public String com.ss.bytertc.engine.live.PushSingleStreamParam.roomId;
java

媒体流所在的房间 ID

userId
public String com.ss.bytertc.engine.live.PushSingleStreamParam.userId;
java

媒体流所属的用户 ID

url
public String com.ss.bytertc.engine.live.PushSingleStreamParam.url;
java

推流地址

isScreen
public boolean com.ss.bytertc.engine.live.PushSingleStreamParam.isScreen = false;
java

媒体流是否为屏幕流。

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

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

成员函数
返回名称
booleanload
函数说明

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

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

传入参数

参数名类型说明
libraryNameString要加载的动态库名称
PublicStreaming
public class com.ss.bytertc.engine.publicstream.PublicStreaming
java

公共流参数。

静态函数
返回名称
static PublicStreaminggetDefualtPublicStreaming
成员函数
返回名称
voidsetVideo
voidsetAudio
voidsetLayout
VideoConfiggetVideo
AudioConfiggetAudio
LayoutgetLayout
函数说明

getDefualtPublicStreaming
public static PublicStreaming com.ss.bytertc.engine.publicstream.PublicStreaming.getDefualtPublicStreaming()
java

获取默认的公共流配置属性。

返回值
默认的推公共流转码配置属性。详见 PublicStreaming 数据类型。

setVideo
public void com.ss.bytertc.engine.publicstream.PublicStreaming.setVideo(
    VideoConfig video)
java

设置公共流视频参数。

传入参数

参数名类型说明
videoVideoConfig公共流视频参数,必填。详见 VideoConfig 数据类型。

注意
建议先调用 getDefualtPublicStreaming 获取包含默认参数的数据结构体。

setAudio
public void com.ss.bytertc.engine.publicstream.PublicStreaming.setAudio(
    AudioConfig audio)
java

设置公共流音频参数。

传入参数

参数名类型说明
audioAudioConfig公共流音频参数,必填。详见 AudioConfig 数据类型。

注意
建议先调用 getDefualtPublicStreaming 获取包含默认参数的数据结构体。

setLayout
public void com.ss.bytertc.engine.publicstream.PublicStreaming.setLayout(
    Layout layout)
java

设置视频流公共流整体布局信息。

传入参数

参数名类型说明
layoutLayout视频流公共流整体布局参数,必填。详见 Layout 数据类型。

getVideo
public VideoConfig com.ss.bytertc.engine.publicstream.PublicStreaming.getVideo()
java

获取公共流视频编码参数。

返回值
公共流视频参数。详见 VideoConfig 数据类型。

getAudio
public AudioConfig com.ss.bytertc.engine.publicstream.PublicStreaming.getAudio()
java

获取公共流音频编码参数。

返回值
公共流音频参数。详见 AudioConfig 数据类型。

getLayout
public Layout com.ss.bytertc.engine.publicstream.PublicStreaming.getLayout()
java

获取视频流公共流整体布局信息。

返回值
当前视频流公共流整体布局。详见 Layout 数据类型。

VideoConfig
public static class com.ss.bytertc.engine.publicstream.PublicStreaming.VideoConfig
java

公共流的视频编码参数

成员函数
返回名称
VideoConfigsetFps
VideoConfigsetKBitRate
VideoConfigsetWidth
VideoConfigsetHeight
函数说明

setFps
public VideoConfig com.ss.bytertc.engine.publicstream.PublicStreaming.VideoConfig.setFps(
    int fps)
java

设置公共流视频帧率。

传入参数

参数名类型说明
fpsint公共流视频帧率。必填
范围:[1, 60]
默认值:30 fps

返回值
公共流视频参数。详见 VideoConfig 数据类型。

setKBitRate
public VideoConfig com.ss.bytertc.engine.publicstream.PublicStreaming.VideoConfig.setKBitRate(
    int kBitRate)
java

设置公共流视频码率

传入参数

参数名类型说明
kBitRateint视频码率,必填
范围:[1,10000000]
单位为 bps,默认值为 500 。

返回值
公共流视频参数。详见 VideoConfig 数据类型。

setWidth
public VideoConfig com.ss.bytertc.engine.publicstream.PublicStreaming.VideoConfig.setWidth(
    int width)
java

设置公共流视频宽度。

传入参数

参数名类型说明
widthint公共流视频宽度,必填。单位为 px,范围为 [16, 1920],必须是偶数。默认值为 360 px。

返回值
公共流视频参数。详见 VideoConfig 数据类型。

setHeight
public VideoConfig com.ss.bytertc.engine.publicstream.PublicStreaming.VideoConfig.setHeight(
    int height)
java

设置公共流视频高度。

传入参数

参数名类型说明
heightint公共流视频高度,必填。单位为 px,范围为 [16, 1280],必须是偶数。默认值为 640。

返回值
公共流视频参数。详见 VideoConfig 数据类型。

AudioConfig
public static class com.ss.bytertc.engine.publicstream.PublicStreaming.AudioConfig
java

公共流的音频编码参数

成员函数
返回名称
AudioConfigsetKBitRate
AudioConfigsetSampleRate
AudioConfigsetChannels
函数说明

setKBitRate
public AudioConfig com.ss.bytertc.engine.publicstream.PublicStreaming.AudioConfig.setKBitRate(
    int kBitRate)
java

设置音频码率。

传入参数

参数名类型说明
kBitRateint音频码率,必填。单位为 kbps。
正整数,可选取值:16, 32, 64。

返回值
公共流音频参数。详见 AudioConfig 数据类型。

setSampleRate
public AudioConfig com.ss.bytertc.engine.publicstream.PublicStreaming.AudioConfig.setSampleRate(
    int sampleRate)
java

设置音频采样率。

传入参数

参数名类型说明
sampleRateint音频采样率,必填。单位为 Hz。可选取值:16000, 32000, 44100 和 48000

返回值
公共流音频参数。详见 AudioConfig 数据类型。

setChannels
public AudioConfig com.ss.bytertc.engine.publicstream.PublicStreaming.AudioConfig.setChannels(
    int channels)
java

设置声道数。

传入参数

参数名类型说明
channelsint音频声道数,必填。
• 1: 单声道,默认值
• 2: 双声道

返回值
公共流音频参数。详见 AudioConfig 数据类型。

SourceCrop
public static class com.ss.bytertc.engine.publicstream.PublicStreaming.SourceCrop
java

视频裁剪参数。

成员函数
返回名称
SourceCropsetLocationX
SourceCropsetLocationY
SourceCropsetWidthProportion
SourceCropsetHeightProportion
函数说明

setLocationX
public SourceCrop com.ss.bytertc.engine.publicstream.PublicStreaming.SourceCrop.setLocationX(
    double x)
java

设置左上角横坐标。

传入参数

参数名类型说明
xdouble裁剪后得到的视频帧左上角横坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)。

返回值
裁剪配置。详见 SourceCrop 数据类型。

setLocationY
public SourceCrop com.ss.bytertc.engine.publicstream.PublicStreaming.SourceCrop.setLocationY(
    double y)
java

设置左上角纵坐标。

传入参数

参数名类型说明
ydouble裁剪后得到的视频帧左上角纵坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)。

返回值
裁剪配置。详见 SourceCrop 数据类型。

setWidthProportion
public SourceCrop com.ss.bytertc.engine.publicstream.PublicStreaming.SourceCrop.setWidthProportion(
    double w)
java

设置视频宽度。

传入参数

参数名类型说明
wdouble裁剪后得到的视频帧宽度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0]

返回值
裁剪配置。详见 SourceCrop 数据类型。

setHeightProportion
public SourceCrop com.ss.bytertc.engine.publicstream.PublicStreaming.SourceCrop.setHeightProportion(
    double h)
java

设置视频高度。

传入参数

参数名类型说明
hdouble裁剪后得到的视频帧高度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0]。

返回值
裁剪配置。详见 SourceCrop 数据类型。

Layout
public static class com.ss.bytertc.engine.publicstream.PublicStreaming.Layout
java

公共流的合流布局

成员函数
返回名称
Region[]getRegions
voidsetRegions
intgetInterpolationMode
voidsetInterpolationMode
intgetLayoutMode
voidsetLayoutMode
StringgetBackgroundImage
voidsetBackgroundImage
StringgetBackgroundColor
voidsetBackgroundColor
函数说明

getRegions
public Region[] com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.getRegions()
java

获取用户布局信息列表。

返回值
获取当前公共流的用户布局信息列表。

setRegions
public void com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.setRegions(
    Region[] regions)
java

设置各路流的布局信息。

传入参数

参数名类型说明
regionsRegion[]各路流的布局信息列表。为 Region 数据类型的数组。每一个该类型对象为一路单独的视频流的布局信息。

getInterpolationMode
public int com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.getInterpolationMode()
java

获取插帧模式。

返回值
插帧模式。

setInterpolationMode
public void com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.setInterpolationMode(
    int interMode)
java

设置插帧模式。

传入参数

参数名类型说明
interModeint插帧模式。
• 0: 补最后一帧
• 1: 补背景图片或者黑帧

getLayoutMode
public int com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.getLayoutMode()
java

获取布局模式。

返回值
当前使用的布局模式。
2: 自定义模式。

setLayoutMode
public void com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.setLayoutMode(
    int layoutMode)
java

设置公共流布局模式。多路媒体流将按照指定的布局模式,合成为一路公共流。

传入参数

参数名类型说明
layoutModeint必填。公共流布局模式
2:自定义
客户端 API 仅支持自定义布局,通过调用服务端 OpenAPI 可以选择自适应等更多布局模式。

getBackgroundImage
public String com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.getBackgroundImage()
java

获取视频的背景图片链接。

返回值
当前背景图片链接

setBackgroundImage
public void com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.setBackgroundImage(
    String bgImage)
java

设置背景图片链接。

传入参数

参数名类型说明
bgImageString背景图片链接。

getBackgroundColor
public String com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.getBackgroundColor()
java

获取画布的背景颜色。

返回值
当前画布的背景颜色。

setBackgroundColor
public void com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.setBackgroundColor(
    String backgroundColor)
java

设置画布的背景颜色。

传入参数

参数名类型说明
backgroundColorString画布的背景颜色。格式为 RGB 定义下的 Hex 值,如 #FFB6C1 表示浅粉色。默认值 #000000,表示为黑色
Region
public static class com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region
java

合成公共流的每条流的布局信息

成员函数
返回名称
RegionuserId
RegionroomId
Regionzorder
Regionalpha
RegionmediaType
RegionstreamType
RegionrenderMode
Regionposition
Regionsize
RegionsourceCropPosition
RegionsourceCropSize
函数说明

userId
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.userId(
    String uid)
java

指定视频流所属用户的 ID。服务端将通过用户 ID 和 房间 ID,找到需要合成到公共流中的媒体流。

传入参数

参数名类型说明
uidString用户 ID。必填。

返回值
当前流在公共流中的布局信息。详见 Region。

roomId
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.roomId(
    String)
java

设置媒体流所在房间的房间 ID。服务端将通过用户 ID 和 房间 ID,找到需要合成到公共流中的媒体流。

传入参数

参数名类型说明
roomIdString必填。如果此媒体流是通过 startForwardStreamToRooms 转发到你所在房间的媒体流时,你应将房间 ID 设置为你所在的房间 ID。

返回值
当前流在公共流中的布局信息。详见 Region。

zorder
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.zorder(
    int)
java

设置用户视频布局在画布中的层级。当前 Region 的位置与其他 Region 重合时,将按照此处设置的层级属性进行渲染。

传入参数

参数名类型说明
zorderint用户视频布局在画布中的层级。取值范围为[0, 100]。0(默认)为底层,100 为顶层。

返回值
当前流在公共流中的布局信息。详见 Region。

alpha
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.alpha(
    double)
java

设置透明度。

传入参数

参数名类型说明
alphadouble透明度。必填。可选范围为 [0.0, 1.0]。

返回值
当前流在公共流中的布局信息。详见 Region。

mediaType
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.mediaType(
    int)
java

设置公共流内容类型。

传入参数

参数名类型说明
mediaTypeint公共流内容类型。默认值为0,可选取值如下:
• 0: 输出的混流包含音视频
• 1: 只包含音频
• 2: 只包含视频

返回值
当前流在公共流中的布局信息。详见 Region。

streamType
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.streamType(
    int)
java

设置公共流媒体类型。

传入参数

参数名类型说明
streamTypeint公共流媒体类型。默认值为 0,可选取值如下:
• 0: 普通音视频流
• 1: 屏幕流

返回值
当前流在公共流中的布局信息。详见 Region。

renderMode
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.renderMode(
    int)
java

设置视频显示模式。

传入参数

参数名类型说明
renderModeint视频显示模式。可选取值如下:
• 1: 视频尺寸等比缩放,优先保证窗口被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。
• 2: 视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成黑色。
• 3: 视频尺寸非等比例缩放,把窗口充满。当视频尺寸与显示窗口尺寸不一致时,视频高或宽方向会被拉伸。

返回值
当前流在公共流中的布局信息。详见 Region。

position
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.position(
    double x,
    double y)
java

设置用户视频布局的相对位置。

传入参数

参数名类型说明
xdouble视频流对应区域左上角的横坐标相对整体画面的比例,取值的范围为 [0.0, 1.0)。必填。
ydouble视频流对应区域左上角的纵坐标相对整体画面的比例,取值的范围为 [0.0, 1.0)。必填。

返回值
当前流在公共流中的布局信息。详见 Region。

size
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.size(
    double width,
    double height)
java

设置用户视频相对大小。

传入参数

参数名类型说明
widthdouble视频流对应区域宽度相对整体画面的比例,取值的范围为 (0.0, 1.0]。必填。
heightdouble视频流对应区域高度相对整体画面的比例,取值的范围为 (0.0, 1.0]。必填。

返回值
当前流在公共流中的布局信息。详见 Region。

sourceCropPosition
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.sourceCropPosition(
    double x,
    double y)
java

设置用户视频布局的相对位置。

传入参数

参数名类型说明
xdouble裁剪后得到的视频帧左上角横坐标相对于裁剪前整体画面的比例,取值的范围为 [0.0, 1.0)。
ydouble裁剪后得到的视频帧左上角纵坐标相对于裁剪前整体画面的比例,取值的范围为 [0.0, 1.0)。

返回值
当前流在公共流中的布局信息。详见 Region。

sourceCropSize
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.sourceCropSize(
    double width,
    double height)
java

设置裁剪视频相对大小。

传入参数

参数名类型说明
widthdouble裁剪后得到的视频帧宽度相对于裁剪前整体画面的比例,取值的范围为 (0.0, 1.0]。
heightdouble裁剪后得到的视频帧高度相对于裁剪前整体画面的比例,取值的范围为 (0.0, 1.0]。

返回值
当前流在公共流中的布局信息。详见 Region。

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

PCM 音频帧

成员变量
类型名称
byte[]buffer
intsamples
AudioSampleRatesampleRate
AudioChannelchannel
变量说明

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

PCM 数据

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

采样点个数

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

采样率,参看 AudioSampleRate。

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

音频声道,参看 AudioChannel。

IAudioFrame
public interface com.ss.bytertc.engine.utils.IAudioFrame
java

音频数据

成员函数
返回名称
longtimestamp_us
AudioSampleRatesample_rate
AudioChannelchannel
ByteBuffergetDataBuffer
intdata_size
AudioFrameTypeframe_type
voidrelease
函数说明

timestamp_us
long com.ss.bytertc.engine.utils.IAudioFrame.timestamp_us()
java

获取音频帧时间戳。

返回值
音频帧时间戳,单位:微秒。

sample_rate
AudioSampleRate com.ss.bytertc.engine.utils.IAudioFrame.sample_rate()
java

获取音频采样率,参看 AudioSampleRate。

返回值
音频采样率

channel
AudioChannel com.ss.bytertc.engine.utils.IAudioFrame.channel()
java

获取音频声道,参看 AudioChannel。

返回值
音频声道

注意
双声道的情况下,左右声道的音频帧数据以 LRLRLR 形式排布。

getDataBuffer
ByteBuffer com.ss.bytertc.engine.utils.IAudioFrame.getDataBuffer()
java

获取音频帧内存块地址

返回值
音频帧的 ByteBuffer

data_size
int com.ss.bytertc.engine.utils.IAudioFrame.data_size()
java

获取音频帧数据大小。

返回值
音频帧数据大小,单位:字节。

frame_type
AudioFrameType com.ss.bytertc.engine.utils.IAudioFrame.frame_type()
java

获取音频帧类型,目前只支持 PCM,参看 AudioFrameType。

返回值
音频帧类型

release
void com.ss.bytertc.engine.utils.IAudioFrame.release()
java

释放音频帧。

AttenuationType
public enum com.ss.bytertc.engine.type.AttenuationType
java

空间音频音量随距离衰减模式

枚举值
类型说明
ATTENUATION_TYPE_NONE(0)不随距离衰减
ATTENUATION_TYPE_LINEAR(1)线性衰减,音量随距离增大而线性减小
ATTENUATION_TYPE_EXPONENTIAL(2)指数型衰减,音量随距离增大进行指数衰减
AudioDeviceType
public enum com.ss.bytertc.engine.type.AudioDeviceType
java

音频设备类型

枚举值
类型说明
AUDIO_DEVICE_TYPE_UNKNOWN(-1)未知设备
AUDIO_DEVICE_TYPE_RENDER_DEVICE(0)音频渲染设备
AUDIO_DEVICE_TYPE_CAPTURE_DEVICE(1)音频采集设备类型
AUDIO_DEVICE_TYPE_SCREEN_CAPTURE_DEVICE(2)屏幕流音频设备
AudioProfileType
public enum com.ss.bytertc.engine.type.AudioProfileType
java

音质档位

枚举值
类型说明
AUDIO_PROFILE_DEFAULT(0)默认音质

服务器下发或客户端已设置的 ChannelProfile 的音质配置
AUDIO_PROFILE_FLUENT(1)流畅。

单声道,采样率为 16 kHz,编码码率为 32 Kbps。

流畅优先、低功耗、低流量消耗,适用于大部分游戏场景,如小队语音、组队语音、国战语音等。
AUDIO_PROFILE_STANDARD(2)单声道标准音质。

采样率为 24 kHz,编码码率为 48 Kbps。

适用于对音质有一定要求的场景,同时延时、功耗和流量消耗相对适中,适合教育场景和狼人杀等游戏。
AUDIO_PROFILE_HD(3)双声道音乐音质

采样率为 48 kHz,编码码率为 128 kbps。

超高音质,同时延时、功耗和流量消耗相对较大,适用于连麦 PK 等音乐场景。

游戏场景不建议使用。
AUDIO_PROFILE_STANDARD_STEREO(4)双声道标准音质。采样率为 48 KHz,编码码率最大值为 80 Kbps
AUDIO_PROFILE_HD_MONO(5)单声道音乐音质。采样率为 48 kHz,编码码率最大值为 64 Kbps
AudioScenarioType
public enum com.ss.bytertc.engine.type.AudioScenarioType
java

音频场景类型。
选择音频场景后,SDK 会自动根据客户端音频采集播放设备和状态,适用通话音量/媒体音量。
你可以调用 setAudioScenario 设置音频场景。
如果以下音频场景类型无法满足你的业务需要,请联系技术支持人员。

枚举值
类型说明
AUDIO_SCENARIO_MUSIC(0)(默认)音乐场景。
此场景适用于对音乐表现力有要求的场景,如音乐直播等。
音频采集播放设备和采集播放状态,到音量类型的映射如下:





不采集音频采集音频备注
设备自带麦克风和扬声器/听筒媒体音量通话音量/
有线耳机/ USB 耳机/ 外置声卡媒体音量媒体音量/
蓝牙耳机媒体音量媒体音量即使蓝牙耳机有麦克风,也只能使用设备自带麦克风进行本地音频采集。
AUDIO_SCENARIO_HIGHQUALITY_COMMUNICATION(1)高质量通话场景。
此场景适用于对音乐表现力有要求,但又希望能够使用蓝牙耳机上自带的麦克风进行音频采集的场景。
此场景下,更倾向于使用媒体音量。由此,可能引起开关麦时音量突变。如不希望有此突变,请使用 AUDIO_SCENARIO_HIGHQUALITY_CHAT。
此场景可以兼顾外放/使用蓝牙耳机时的音频体验,并避免使用蓝牙耳机时音量类型切换导致的听感突变。
音频采集播放设备和采集播放状态,到音量类型的映射如下:





不采集音频采集音频备注
设备自带麦克风和扬声器/听筒媒体音量通话音量/
有线耳机/ USB 耳机/ 外置声卡媒体音量媒体音量/
蓝牙耳机通话音量通话音量能够使用蓝牙耳机上自带的麦克风进行音频采集。
AUDIO_SCENARIO_COMMUNICATION(2)纯通话音量场景。
此场景下,无论客户端音频采集播放设备和采集播放状态,全程使用通话音量。
适用于需要频繁上下麦的通话或会议场景。
此场景可以保持统一的音频模式,不会有音量突变的听感。
此场景可以最大程度地消除回声,使通话清晰度达到最优。
使用蓝牙耳机时,能够使用蓝牙耳机上自带的麦克风进行音频采集。
但是,此场景会压低使用媒体音量进行播放的其他音频的音量,且音质会变差。
AUDIO_SCENARIO_MEDIA(3)纯媒体场景。一般不建议使用。
此场景下,无论客户端音频采集播放设备和采集播放状态,全程使用媒体音量。
外放通话时,可能出现回声和啸叫,请联系技术支持人员。
AUDIO_SCENARIO_GAME_STREAMING(4)游戏媒体场景。
此场景下,蓝牙耳机使用通话音量,其它设备使用媒体音量。
若外放通话且无游戏音效消除优化时音质不理想,请联系技术支持人员。
AUDIO_SCENARIO_HIGHQUALITY_CHAT(5)高质量畅聊场景。

此场景和 AUDIO_SCENARIO_HIGHQUALITY_COMMUNICATION 高度类似,唯一的差异在于:此场景下,在使用设备自带的麦克风和扬声器/听筒进行通话时,开关麦始终采用通话音量,不会引起音量类型突变。

音频采集播放设备和采集播放状态,到音量类型的映射如下:






不采集音频采集音频备注
设备自带麦克风和扬声器/听筒通话音量通话音量/
有线耳机/ USB 耳机/ 外置声卡媒体音量媒体音量/
蓝牙耳机通话音量通话音量能够使用蓝牙耳机上自带的麦克风进行音频采集。
ChannelProfile
public enum com.ss.bytertc.engine.type.ChannelProfile
java

房间模式

根据所需场景,选择合适的房间模式,应用不同的音视频算法、视频参数和网络配置

调用 setAudioProfile 改变音频参数配置

枚举值
类型说明
CHANNEL_PROFILE_COMMUNICATION(0)默认场景,通用模式
CHANNEL_PROFILE_GAME(2)游戏语音模式,低功耗、低流量消耗。

低端机在此模式下运行时,进行了额外的性能优化:

+ 部分低端机型配置编码帧长 40/60

+ 部分低端机型关闭软件 3A 音频处理

增强对 iOS 其他屏幕录制进行的兼容性,避免音频录制被 RTC 打断。
CHANNEL_PROFILE_CLOUD_GAME(3)云游戏模式。

如果你的游戏场景需要低延迟的配置,使用此设置。

此设置下,弱网抗性较差。
CHANNEL_PROFILE_LOW_LATENCY(4)云渲染模式。超低延时配置。

如果你的应用并非游戏但又对延时要求较高时,选用此模式

该模式下,音视频通话延时会明显降低,但同时弱网抗性、通话音质等均会受到一定影响。
CHANNEL_PROFILE_CHAT(5)适用于 1 vs 1 音视频通话
CHANNEL_PROFILE_CHAT_ROOM(6)适用于 3 人及以上纯语音通话。

通话中,闭麦时为是媒体模式,上麦后切换为通话模式。
CHANNEL_PROFILE_LW_TOGETHER(7)实现多端同步播放音视频,适用于 “一起看” 或 “一起听” 场景。

该场景中,使用 RTC 信令同步播放进度,共享的音频内容不通过 RTC 进行传输。
CHANNEL_PROFILE_GAME_HD(8)适用于对音质要求较高的游戏场景,优化音频 3A 策略,只通过媒体模式播放音频
CHANNEL_PROFILE_CO_HOST(9)适用于直播中主播之间连麦的业务场景。

该场景中,直播时通过 CDN,发起连麦 PK 时使用 RTC。
CHANNEL_PROFILE_INTERACTIVE_PODCAST(10)适用于单主播和观众进行音视频互动的直播。通话模式,上下麦不会有模式切换,避免音量突变现象
CHANNEL_PROFILE_KTV(11)线上 KTV 场景,音乐音质,低延迟

使用 RTC 传输伴奏音乐,混音后的歌声,适合独唱或单通合唱
CHANNEL_PROFILE_CHORUS(12)适合在线实时合唱场景,高音质,超低延迟。使用本配置前请联系技术支持进行协助完成其他配置。
CHANNEL_PROFILE_GAME_STREAMING(14)适用于 1 vs 1 游戏串流,支持公网或局域网。
CHANNEL_PROFILE_LAN_LIVE_STREAMING(15)适用于局域网的 1 对多视频直播,最高支持 8K, 60 帧/秒, 100 Mbps 码率

需要在局域网配置私有化部署媒体服务器。
CHANNEL_PROFIEL_MEETING(16)适用于云端会议中的会议室终端设备,例如 Rooms,投屏盒子等。
CHANNEL_PROFILE_MEETING_ROOM(17)适用于云端会议中的会议室终端设备,例如 Rooms,投屏盒子等。
CHANNEL_PROFILE_CLASSROOM(18)适用于课堂互动,房间内所有成员都可以进行音视频互动

当你的场景中需要同时互动的成员超过 10人时使用此模式
ConnectionState
public enum com.ss.bytertc.engine.type.ConnectionState
java

SDK 与 RTC 服务器连接状态。

枚举值
类型说明
CONNECTION_STATE_DISCONNECTED(1)连接断开超过 12s,此时 SDK 会尝试自动重连。
CONNECTION_STATE_CONNECTING(2)首次请求建立连接,正在连接中。
CONNECTION_STATE_CONNECTED(3)首次连接成功。
CONNECTION_STATE_RECONNECTING(4)涵盖了以下情况:

+ 首次连接时,10 秒内未连接成功;

+ 连接成功后,断连 10 秒。自动重连中。
CONNECTION_STATE_RECONNECTED(5)连接断开后,重连成功。
CONNECTION_STATE_LOST(6)处于 CONNECTION_STATE_DISCONNECTED 状态超过 10 秒,且期间重连未成功。SDK 仍将继续尝试重连。
CONNECTION_STATE_FAILED(7)连接失败,服务端状态异常。SDK 不会自动重连,请重新进房,或联系技术支持。
EchoTestResult
public enum com.ss.bytertc.engine.type.EchoTestResult
java

音视频回路测试结果

枚举值
类型说明
ECHO_TEST_SUCCESS(0)接收到采集的音视频的回放,通话回路检测成功
ECHO_TEST_TIMEOUT(1)测试超过 60s 仍未完成,已自动停止
ECHO_TEST_INTERVAL_SHORT(2)上一次测试结束和下一次测试开始之间的时间间隔少于 5s
ECHO_TEST_AUDIO_DEVICE_ERROR(3)音频采集异常
ECHO_TEST_VIDEO_DEVICE_ERROR(4)视频采集异常
ECHO_TEST_AUDIO_RECEIVE_ERROR(5)音频接收异常
ECHO_TEST_VIDEO_RECEIVE_ERROR(6)视频接收异常
ECHO_TEST_INTERNAL_ERROR(7)内部错误,不可恢复
FallbackOrRecoverReason
public enum com.ss.bytertc.engine.type.FallbackOrRecoverReason
java

远端订阅流发生回退或恢复的原因

枚举值
类型说明
FALLBACK_OR_RECOVER_REASON_UNKNOWN(-1)其他原因,非带宽和性能原因引起的回退或恢复。默认值
FALLBACK_OR_RECOVER_REASON_SUBSCRIBE_FALLBACK_BY_BANDWIDTH(0)由带宽不足导致的订阅端音视频流回退。
FALLBACK_OR_RECOVER_REASON_SUBSCRIBE_FALLBACK_BY_PERFORMANCE(1)由性能不足导致的订阅端音视频流回退。
FALLBACK_OR_RECOVER_REASON_SUBSCRIBE_RECOVER_BY_BANDWIDTH(2)由带宽恢复导致的订阅端音视频流恢复。
FALLBACK_OR_RECOVER_REASON_SUBSCRIBE_RECOVER_BY_PERFORMANCE(3)由性能恢复导致的订阅端音视频流恢复。
FALLBACK_OR_RECOVER_REASON_PUBLISH_FALLBACK_BY_BANDWIDTH(4)由带宽不足导致的发布端音视频流回退。
FALLBACK_OR_RECOVER_REASON_PUBLISH_FALLBACK_BY_PERFORMANCE(5)由性能不足导致的发布端音视频流回退。
FALLBACK_OR_RECOVER_REASON_PUBLISH_RECOVER_BY_BANDWIDTH(6)由带宽恢复导致的发布端音视频流恢复。
FALLBACK_OR_RECOVER_REASON_PUBLISH_RECOVER_BY_PERFORMANCE(7)由性能恢复导致的发布端音视频流恢复。
FirstFramePlayState
public enum com.ss.bytertc.engine.type.FirstFramePlayState
java

首帧播放状态

枚举值
类型说明
FIRST_FRAME_PLAY_STATE_PLAYING(0)播放中
FIRST_FRAME_PLAY_STATE_PLAYED(1)播放成功
FIRST_FRAME_PLAY_STATE_END(2)播放失败
FirstFrameSendState
public enum com.ss.bytertc.engine.type.FirstFrameSendState
java

首帧发送状态

枚举值
类型说明
FIRST_FRAME_SEND_STATE_SENDING(0)发送中
FIRST_FRAME_SEND_STATE_SENT(1)发送成功
FIRST_FRAME_SEND_STAT_END(2)发送失败
LocalAudioStats
public class com.ss.bytertc.engine.type.LocalAudioStats
java

本地音频流统计信息,统计周期为 2s 。

本地用户发布音频流成功后,SDK 会周期性地通过 onLocalStreamStats 通知用户发布的音频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。

成员变量
类型名称
floataudioLossRate
floatsendKBitrate
intrecordSampleRate
intstatsInterval
intrtt
intnumChannels
intsentSampleRate
变量说明

audioLossRate
public float com.ss.bytertc.engine.type.LocalAudioStats.audioLossRate;
java

音频丢包率。此次统计周期内的音频上行丢包率,单位为 % ,取值范围为 [0, 1] 。

sendKBitrate
public float com.ss.bytertc.engine.type.LocalAudioStats.sendKBitrate;
java

发送码率。此次统计周期内的音频发送码率,单位为 kbps 。

recordSampleRate
public int com.ss.bytertc.engine.type.LocalAudioStats.recordSampleRate;
java

采集采样率。此次统计周期内的音频采集采样率信息,单位为 Hz 。

statsInterval
public int com.ss.bytertc.engine.type.LocalAudioStats.statsInterval;
java

统计间隔。此次统计周期的间隔,单位为 ms 。

此字段用于设置回调的统计周期,默认设置为 2s 。

rtt
public int com.ss.bytertc.engine.type.LocalAudioStats.rtt;
java

往返时延。单位为 ms 。

numChannels
public int com.ss.bytertc.engine.type.LocalAudioStats.numChannels;
java

音频声道数。

sentSampleRate
public int com.ss.bytertc.engine.type.LocalAudioStats.sentSampleRate;
java

音频发送采样率。此次统计周期内的音频发送采样率信息,单位为 Hz 。

LocalStreamStats
public class com.ss.bytertc.engine.type.LocalStreamStats
java

本地音/视频流统计信息,统计周期为 2s 。

本地用户发布音/视频流成功后,SDK 会周期性地通过 onLocalStreamStats 通知本地用户发布的音/视频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。

成员变量
类型名称
LocalAudioStatsaudioStats
LocalVideoStatsvideoStats
booleanisScreen
变量说明

audioStats
public LocalAudioStats com.ss.bytertc.engine.type.LocalStreamStats.audioStats;
java

本地设备发送音频流的统计信息,详见 LocalAudioStats 。

videoStats
public LocalVideoStats com.ss.bytertc.engine.type.LocalStreamStats.videoStats;
java

本地设备发送视频流的统计信息,详见 LocalVideoStats 。

isScreen
public boolean com.ss.bytertc.engine.type.LocalStreamStats.isScreen;
java

所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

LocalVideoStats
public class com.ss.bytertc.engine.type.LocalVideoStats
java

本地视频流统计信息,统计周期为 2s 。

本地用户发布视频流成功后,SDK 会周期性地通过 onLocalStreamStats
通知用户发布的视频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。

成员变量
类型名称
floatsentKBitrate
intinputFrameRate
intsentFrameRate
intencoderOutputFrameRate
intrendererOutputFrameRate
intstatsInterval
floatvideoLossRate
intrtt
intencodedBitrate
intencodedFrameWidth
intencodedFrameHeight
intencodedFrameCount
intcodecType
booleanisScreen
变量说明

sentKBitrate
public float com.ss.bytertc.engine.type.LocalVideoStats.sentKBitrate;
java

发送码率。此次统计周期内实际发送的分辨率最大的视频流的发送码率,单位为 Kbps

inputFrameRate
public int com.ss.bytertc.engine.type.LocalVideoStats.inputFrameRate;
java

采集帧率。此次统计周期内的视频采集帧率,单位为 fps 。

sentFrameRate
public int com.ss.bytertc.engine.type.LocalVideoStats.sentFrameRate;
java

发送帧率。此次统计周期内实际发送的分辨率最大的视频流的视频发送帧率,单位为 fps 。

encoderOutputFrameRate
public int com.ss.bytertc.engine.type.LocalVideoStats.encoderOutputFrameRate;
java

编码器输出帧率。当前编码器在此次统计周期内实际发送的分辨率最大的视频流的输出帧率,单位为 fps 。

rendererOutputFrameRate
public int com.ss.bytertc.engine.type.LocalVideoStats.rendererOutputFrameRate;
java

本地渲染帧率。此次统计周期内的本地视频渲染帧率,单位为 fps 。

statsInterval
public int com.ss.bytertc.engine.type.LocalVideoStats.statsInterval;
java

统计间隔,单位为 ms 。
此字段用于设置回调的统计周期,默认设置为 2s 。

videoLossRate
public float com.ss.bytertc.engine.type.LocalVideoStats.videoLossRate;
java

视频丢包率。此次统计周期内的视频上行丢包率,取值范围: [0,1] 。

rtt
public int com.ss.bytertc.engine.type.LocalVideoStats.rtt;
java

往返时延,单位为 ms 。

encodedBitrate
public int com.ss.bytertc.engine.type.LocalVideoStats.encodedBitrate;
java

视频编码码率。此次统计周期内的实际发送的分辨率最大的视频流视频编码码率,单位为 Kbps 。

encodedFrameWidth
public int com.ss.bytertc.engine.type.LocalVideoStats.encodedFrameWidth;
java

实际发送的分辨率最大的视频流的视频编码宽度,单位为 px 。

encodedFrameHeight
public int com.ss.bytertc.engine.type.LocalVideoStats.encodedFrameHeight;
java

实际发送的分辨率最大的视频流的视频编码高度,单位为 px 。

encodedFrameCount
public int com.ss.bytertc.engine.type.LocalVideoStats.encodedFrameCount;
java

此次统计周期内实际发送的分辨率最大的视频流的发送的视频帧总数。

codecType
public int com.ss.bytertc.engine.type.LocalVideoStats.codecType;
java

视频的编码类型,具体参考 VideoCodecType 。

isScreen
public boolean com.ss.bytertc.engine.type.LocalVideoStats.isScreen;
java

所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

LocalVideoStreamError
public enum com.ss.bytertc.engine.type.LocalVideoStreamError
java

本地视频状态改变时的错误码

枚举值
类型说明
LOCAL_VIDEO_STREAM_ERROR_OK(0)状态正常(本地视频状态改变正常时默认返回值)
LOCAL_VIDEO_STREAM_ERROR_FAILURE(1)本地视频流发布失败
LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION(2)没有权限启动本地视频采集设备
LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY(3)本地视频采集设备已被占用
LOCAL_VIDEO_STREAM_ERROR_DEVICE_NOT_FOUND(4)本地视频采集设备不存在或已移除
LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE(5)本地视频采集失败,建议检查采集设备是否正常工作
LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE(6)本地视频编码失败
LOCAL_VIDEO_STREAM_ERROR_DEVICE_DISCONNECTED(7)通话过程中本地视频采集设备被其他程序抢占,导致设备连接中断
LocalVideoStreamState
public enum com.ss.bytertc.engine.type.LocalVideoStreamState
java

本地视频流状态

枚举值
类型说明
LOCAL_VIDEO_STREAM_STATE_STOPPED(0)本地视频采集停止状态(默认初始状态)
本地视频采集关闭时回调该状态,对应错误码 LocalVideoStreamError 中的 LOCAL_VIDEO_STREAM_ERROR_OK
LOCAL_VIDEO_STREAM_STATE_RECORDING(1)本地视频采集设备启动成功
本地视频采集开启时回调该状态,对应错误码 LocalVideoStreamError 中的 LOCAL_VIDEO_STREAM_ERROR_OK
LOCAL_VIDEO_STREAM_STATE_ENCODING(2)本地视频采集后,首帧编码成功
本地视频首帧编码成功时回调该状态,对应错误码 LocalVideoStreamError 中的 LOCAL_VIDEO_STREAM_ERROR_OK
LOCAL_VIDEO_STREAM_STATE_FAILED(3)本地视频启动失败
+ 本地视频采集设备启动失败,对应错误码 LocalVideoStreamError 中的 LOCAL_VIDEO_STREAM_ERROR_FAILURE

+ 检测到没有视频采集设备权限,对应错误码 LocalVideoStreamError 中的 LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION

+ 视频编码失败,对应错误码 LocalVideoStreamError 中的 LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE
MediaDeviceError
public class  com.ss.bytertc.engine.type.MediaDeviceError
java

媒体设备错误类型

成员变量
类型名称
intMEDIA_DEVICE_ERROR_OK
intMEDIA_DEVICE_ERROR_NOPERMISSION
intMEDIA_DEVICE_ERROR_DEVICEBUSY
intMEDIA_DEVICE_ERROR_DEVICEFAILURE
intMEDIA_DEVICE_ERROR_DEVICENOTFOUND
intMEDIA_DEVICE_ERROR_DEVICEDISCONNECTED
intMEDIA_DEVICE_ERROR_DEVICENOCALLBACK
intMEDIA_DEVICE_ERROR_UNSUPPORTFORMAT
变量说明

MEDIA_DEVICE_ERROR_OK
public static final int com.ss.bytertc.engine.type.MediaDeviceError.MEDIA_DEVICE_ERROR_OK = 0;
java

媒体设备正常

MEDIA_DEVICE_ERROR_NOPERMISSION
public static final int com.ss.bytertc.engine.type.MediaDeviceError.MEDIA_DEVICE_ERROR_NOPERMISSION = 1;
java

没有权限启动媒体设备

MEDIA_DEVICE_ERROR_DEVICEBUSY
public static final int com.ss.bytertc.engine.type.MediaDeviceError.MEDIA_DEVICE_ERROR_DEVICEBUSY = 2;
java

媒体设备已经在使用中

MEDIA_DEVICE_ERROR_DEVICEFAILURE
public static final int com.ss.bytertc.engine.type.MediaDeviceError.MEDIA_DEVICE_ERROR_DEVICEFAILURE = 3;
java

媒体设备错误

MEDIA_DEVICE_ERROR_DEVICENOTFOUND
public static final int com.ss.bytertc.engine.type.MediaDeviceError.MEDIA_DEVICE_ERROR_DEVICENOTFOUND = 4;
java

未找到指定的媒体设备

MEDIA_DEVICE_ERROR_DEVICEDISCONNECTED
public static final int com.ss.bytertc.engine.type.MediaDeviceError.MEDIA_DEVICE_ERROR_DEVICEDISCONNECTED = 5;
java

媒体设备被移除

MEDIA_DEVICE_ERROR_DEVICENOCALLBACK
public static final int com.ss.bytertc.engine.type.MediaDeviceError.MEDIA_DEVICE_ERROR_DEVICENOCALLBACK = 6;
java

无采集数据。当媒体设备的预期行为是正常采集,但没有收到采集数据时,将收到该错误。

MEDIA_DEVICE_ERROR_UNSUPPORTFORMAT
public static final int com.ss.bytertc.engine.type.MediaDeviceError.MEDIA_DEVICE_ERROR_UNSUPPORTFORMAT = 7;
java

设备采样率不支持

MediaDeviceState
public class  com.ss.bytertc.engine.type.MediaDeviceState
java

媒体设备状态

通过 onAudioDeviceStateChanged 或 onVideoDeviceStateChanged 回调设备状态。

成员变量
类型名称
intMEDIA_DEVICE_STATE_STARTED
intMEDIA_DEVICE_STATE_STOPPED
intMEDIA_DEVICE_STATE_RUNTIMEERROR
intMEDIA_DEVICE_STATE_ADDED
intMEDIA_DEVICE_STATE_REMOVED
intMEDIA_DEVICE_STATE_INTERRUPTION_BEGAN
intMEDIA_DEVICE_STATE_INTERRUPTION_ENDED
变量说明

MEDIA_DEVICE_STATE_STARTED
public static final int com.ss.bytertc.engine.type.MediaDeviceState.MEDIA_DEVICE_STATE_STARTED = 1;
java

设备开启采集

MEDIA_DEVICE_STATE_STOPPED
public static final int com.ss.bytertc.engine.type.MediaDeviceState.MEDIA_DEVICE_STATE_STOPPED = 2;
java

设备停止采集

MEDIA_DEVICE_STATE_RUNTIMEERROR
public static final int com.ss.bytertc.engine.type.MediaDeviceState.MEDIA_DEVICE_STATE_RUNTIMEERROR = 3;
java

设备运行时错误

例如,当媒体设备的预期行为是正常采集,但没有收到采集数据时,将回调该状态。

MEDIA_DEVICE_STATE_ADDED
public static final int com.ss.bytertc.engine.type.MediaDeviceState.MEDIA_DEVICE_STATE_ADDED = 10;
java

设备已插入

MEDIA_DEVICE_STATE_REMOVED
public static final int com.ss.bytertc.engine.type.MediaDeviceState.MEDIA_DEVICE_STATE_REMOVED = 11;
java

设备被移除

MEDIA_DEVICE_STATE_INTERRUPTION_BEGAN
public static final int com.ss.bytertc.engine.type.MediaDeviceState.MEDIA_DEVICE_STATE_INTERRUPTION_BEGAN= 12;
java

系统通话打断了音视频通话。将在通话结束后自动恢复。

MEDIA_DEVICE_STATE_INTERRUPTION_ENDED
public static final int com.ss.bytertc.engine.type.MediaDeviceState.MEDIA_DEVICE_STATE_INTERRUPTION_ENDED= 13;
java

音视频通话已从系统电话中恢复

MediaDeviceWarning
public class com.ss.bytertc.engine.type.MediaDeviceWarning
java

媒体设备警告

成员变量
类型名称
intMEDIA_DEVICE_WARNING_OK
intMEDIA_DEVICE_WARNING_OPERATION_DENIED
intMEDIA_DEVICE_WARNING_CAPTURE_SILENCE
intMEDIA_DEVICE_WARNING_ANDROID_SYS_SILENCE
intMEDIA_DEVICE_WARNING_ANDROID_SYS_SILENCE_DISAPPEAR
intMEDIA_DEVICE_WARNING_SET_AUDIO_ROUTE_INVALID_SCENARIO
intMEDIA_DEVICE_WARNING_SET_AUDIO_ROUTE_NOT_EXISTS
intMEDIA_DEVICE_WARNING_SET_AUDIO_ROUTE_FAILED_BY_PRIORITY
intMEDIA_DEVICE_WARNING_SET_AUDIO_ROUTE_NOT_VOIP_MODE
intMEDIA_DEVICE_WARNING_SET_AUDIO_ROUTE_DEVICE_NOT_START
变量说明

MEDIA_DEVICE_WARNING_OK
public static final int com.ss.bytertc.engine.type.MediaDeviceWarning.MEDIA_DEVICE_WARNING_OK = 0;
java

无警告

MEDIA_DEVICE_WARNING_OPERATION_DENIED
public static final int com.ss.bytertc.engine.type.MediaDeviceWarning.MEDIA_DEVICE_WARNING_OPERATION_DENIED = 1;
java

非法设备操作。在使用外部设备时,调用了 SDK 内部设备 API。

MEDIA_DEVICE_WARNING_CAPTURE_SILENCE
public static final int com.ss.bytertc.engine.type.MediaDeviceWarning.MEDIA_DEVICE_WARNING_CAPTURE_SILENCE = 2;
java

采集到的数据为静音帧。

MEDIA_DEVICE_WARNING_ANDROID_SYS_SILENCE
public static final int com.ss.bytertc.engine.type.MediaDeviceWarning.MEDIA_DEVICE_WARNING_ANDROID_SYS_SILENCE = 3;
java

Android 特有的静音,系统层面的静音上报

MEDIA_DEVICE_WARNING_ANDROID_SYS_SILENCE_DISAPPEAR
public static final int com.ss.bytertc.engine.type.MediaDeviceWarning.MEDIA_DEVICE_WARNING_ANDROID_SYS_SILENCE_DISAPPEAR = 4;
java

Android 特有的静音消失

MEDIA_DEVICE_WARNING_SET_AUDIO_ROUTE_INVALID_SCENARIO
public static final int com.ss.bytertc.engine.type.MediaDeviceWarning.MEDIA_DEVICE_WARNING_SET_AUDIO_ROUTE_INVALID_SCENARIO = 20;
java

当前 AudioScenario 不支持更改音频路由,设置音频路由失败

MEDIA_DEVICE_WARNING_SET_AUDIO_ROUTE_NOT_EXISTS
public static final int com.ss.bytertc.engine.type.MediaDeviceWarning.MEDIA_DEVICE_WARNING_SET_AUDIO_ROUTE_NOT_EXISTS = 21;
java

音频设备不存在,设置音频路由失败

MEDIA_DEVICE_WARNING_SET_AUDIO_ROUTE_FAILED_BY_PRIORITY
public static final int com.ss.bytertc.engine.type.MediaDeviceWarning.MEDIA_DEVICE_WARNING_SET_AUDIO_ROUTE_FAILED_BY_PRIORITY = 22;
java

音频路由被系统或其他应用占用,设置音频路由失败

MEDIA_DEVICE_WARNING_SET_AUDIO_ROUTE_NOT_VOIP_MODE
public static final int com.ss.bytertc.engine.type.MediaDeviceWarning.MEDIA_DEVICE_WARNING_SET_AUDIO_ROUTE_NOT_VOIP_MODE = 23;
java

当前非通话模式,不支持设置音频路由

MEDIA_DEVICE_WARNING_SET_AUDIO_ROUTE_DEVICE_NOT_START
public static final int com.ss.bytertc.engine.type.MediaDeviceWarning.MEDIA_DEVICE_WARNING_SET_AUDIO_ROUTE_DEVICE_NOT_START = 24;
java

音频设备未启动,设置音频路由失败

MediaStreamType
public enum com.ss.bytertc.engine.type.MediaStreamType
java

媒体流类型

枚举值
类型说明
RTC_MEDIA_STREAM_TYPE_AUDIO(1)只控制音频
RTC_MEDIA_STREAM_TYPE_VIDEO(2)只控制视频
RTC_MEDIA_STREAM_TYPE_BOTH(3)同时控制音频和视频
MessageConfig
public enum com.ss.bytertc.engine.type.MessageConfig
java

发送消息的可靠有序性

枚举值
类型说明
MessageConfigReliableOrdered (0)低延时可靠有序消息
MessageConfigUnreliableOrdered (1)超低延时有序消息
MessageConfigUnreliableUnordered (2)超低延时无序消息
NetworkDetectionLinkType
public enum com.ss.bytertc.engine.type.NetworkDetectionLinkType
java

通话前探测链接的类型。

onNetworkDetectionResult 回调的参数类型

枚举值
类型说明
NetworkDetectionLinkTypeUp (0)上行网络探测
NetworkDetectionLinkTypeDown (1)下行网络探测
NetworkDetectionStopReason
public enum com.ss.bytertc.engine.type.NetworkDetectionStopReason
java

通话前探测的停止原因。

onNetworkDetectionStopped 回调的参数类型

枚举值
类型说明
NetworkDetectionStopReasonUser (0)用户主动停止
NetworkDetectionStopReasonTimeout (1)探测超过三分钟
NetworkDetectionStopReasonConnectionLost (2)探测网络连接断开。

当超过 12s 没有收到回复,SDK 将断开网络连接,并且不再尝试重连。
NetworkDetectionStopReasonStreaming (3)本地开始推拉流,停止探测
NetworkDetectionStopReasonInnerErr (4)网络探测失败,内部异常
NetworkQuality
public class com.ss.bytertc.engine.type.NetworkQuality
java

所属用户的媒体流网络质量。

成员变量
类型名称
intNETWORK_QUALITY_UNKNOWN
intNETWORK_QUALITY_EXCELLENT
intNETWORK_QUALITY_GOOD
intNETWORK_QUALITY_POOR
intNETWORK_QUALITY_BAD
intNETWORK_QUALITY_VERY_BAD
变量说明

NETWORK_QUALITY_UNKNOWN
public static final int com.ss.bytertc.engine.type.NetworkQuality.NETWORK_QUALITY_UNKNOWN = 0;
java

媒体流网络质量未知。

NETWORK_QUALITY_EXCELLENT
public static final int com.ss.bytertc.engine.type.NetworkQuality.NETWORK_QUALITY_EXCELLENT = 1;
java

媒体流网络质量极好。

NETWORK_QUALITY_GOOD
public static final int com.ss.bytertc.engine.type.NetworkQuality.NETWORK_QUALITY_GOOD = 2;
java

媒体流网络质量好。

NETWORK_QUALITY_POOR
public static final int com.ss.bytertc.engine.type.NetworkQuality.NETWORK_QUALITY_POOR = 3;
java

媒体流网络质量较差但不影响沟通。

NETWORK_QUALITY_BAD
public static final int com.ss.bytertc.engine.type.NetworkQuality.NETWORK_QUALITY_BAD = 4;
java

媒体流网络质量差沟通不顺畅。

NETWORK_QUALITY_VERY_BAD
public static final int com.ss.bytertc.engine.type.NetworkQuality.NETWORK_QUALITY_VERY_BAD = 5;
java

媒体流网络质量非常差。

NetworkQualityStats
public class com.ss.bytertc.engine.type.NetworkQualityStats
java

上行/下行网络质量

成员变量
类型名称
Stringuid
doublefractionLost
intrtt
inttotalBandwidth
inttxQuality
intrxQuality
成员函数
返回名称
StringtoString
变量说明

uid
public String com.ss.bytertc.engine.type.NetworkQualityStats.uid;
java

用户 id

fractionLost
public double com.ss.bytertc.engine.type.NetworkQualityStats.fractionLost;
java

本端的上行/下行的丢包率,范围 [0.0,1.0]
当 uid 为本地用户时,代表发布流的上行丢包率。
当 uid 为远端用户时,代表接收所有订阅流的下行丢包率。

rtt
public int com.ss.bytertc.engine.type.NetworkQualityStats.rtt;
java

当 uid 为本地用户时有效,客户端到服务端的往返延时(RTT),单位:ms

totalBandwidth
public int com.ss.bytertc.engine.type.NetworkQualityStats.totalBandwidth;
java

本端的音视频 RTP 包 2 秒内的平均传输速率,单位:bps
当 uid 为本地用户时,代表发送速率。
当 uid 为远端用户时,代表所有订阅流的接收速率。

txQuality
public int com.ss.bytertc.engine.type.NetworkQualityStats.txQuality;
java

上行网络质量分。范围 [0,5],分数越高网络质量越差。

rxQuality
public int com.ss.bytertc.engine.type.NetworkQualityStats.rxQuality;
java

下行网络质量分。范围 [0,5],分数越高网络质量越差。

函数说明

toString
public String com.ss.bytertc.engine.type.NetworkQualityStats.toString()
java
PauseResumeControlMediaType
public enum com.ss.bytertc.engine.type.PauseResumeControlMediaType
java

暂停/恢复接收远端的媒体流类型。

枚举值
类型说明
RTC_PAUSE_RESUME_CONTROL_AUDIO只控制音频,不影响视频
RTC_PAUSE_RESUME_CONTROL_VIDEO只控制视频,不影响音频
RTC_PAUSE_RESUME_CONTROL_AUDIO_AND_VIDEO同时控制音频和视频
PerformanceAlarmMode
public enum com.ss.bytertc.engine.type.PerformanceAlarmMode
java

性能回退的模式

枚举值
类型说明
PERFORMANCE_ALARM_MODE_NORMAL未开启发布性能回退
PERFORMANCE_ALARM_MODE_SIMULCAST已开启发布性能回退
PerformanceAlarmReason
public enum com.ss.bytertc.engine.type.PerformanceAlarmReason
java

性能相关告警的原因

枚举值
类型说明
PERFORMANCE_ALARM_REASON_BANDWIDTH_FALLBACKED网络原因差,造成了发送性能回退。仅在开启发送性能回退时,会收到此原因。
PERFORMANCE_ALARM_REASON_BANDWIDTH_RESUMED网络性能恢复,发送性能回退恢复。仅在开启发送性能回退时,会收到此原因。
PERFORMANCE_ALARM_REASON_PERFORMANCE_FALLBACKED如果未开启发送性能回退,收到此告警时,意味着性能不足;

如果开启了发送性能回退,收到此告警时,意味着性能不足,且已发生发送性能回退。
PERFORMANCE_ALARM_REASON_PERFORMANCE_RESUMED如果未开启发送性能回退,收到此告警时,意味着性能不足已恢复;

如果开启了发送性能回退,收到此告警时,意味着性能不足已恢复,且已发生发送性能回退恢复。
ProblemFeedback
public enum com.ss.bytertc.engine.type.ProblemFeedback
java

音视频质量反馈问题类型

枚举值
类型说明
PROBLEM_NONE(0, "No problem")没有问题
PROBLEM_OTHER_MSG (1,"Other Issues")其他问题
PROBLEM_AUDIO_NOT_CLEAR (1 << 1, "Sound is not clear")有杂音
PROBLEM_VIDEO_NOT_CLEAR (1 << 2, "Video is not clear")视频模糊
PROBLEM_SYNC (1 << 3, "Audio and video is not synchronized")音视频不同步
PROBLEM_AUDIO_LAGGING (1 << 4, "Audio lagging")音频卡顿
PROBLEM_VIDEO_DELAY (1 << 5, "Video Delay")视频延迟
PROBLEM_DISCONNECT (1 << 6, "Disconnect")连接失败
PROBLEM_NO_AUDIO (1 << 7, "No audio")无声音
PROBLEM_NO_VIDEO (1 << 8, "No video")无画面
PROBLEM_AUDIO_STRENGTH (1 << 9, "Too quiet")声音过小
PROBLEM_ECHO (1 << 10, "Echo Noise")有回声
PROBLEM_EAR_BACK_DELAY(1 << 11,"Ear back delay")耳返延迟大
PublishFallbackOption
public enum com.ss.bytertc.engine.type.PublishFallbackOption
java

发布端音视频流回退选项

枚举值
类型说明
kPublishFallbackDisable(0)上行网络不佳或设备性能不足时,不对音视频流作回退处理。默认设置。
kPublishFallbackSimulcastSmallVideoOnly(1)上行网络不佳或设备性能不足时,发布的视频流会从大流到小流依次降级,直到与当前网络性能匹配,具体降级规则参看性能回退文档。
RangeAudioInfo
public class com.ss.bytertc.engine.type.RangeAudioInfo
java

范围语音流信息

成员变量
类型名称
StringuserId
intfactor
变量说明

userId
public String com.ss.bytertc.engine.type.RangeAudioInfo.userId;
java

远端音频发布用户 ID

factor
public int com.ss.bytertc.engine.type.RangeAudioInfo.factor;
java

本地用户听到该远端音频发布用户的衰减系数,范围 [0,100],数值为 0 时表示远端用户音频音量为 0。

RecordingErrorCode
public enum com.ss.bytertc.engine.type.RecordingErrorCode
java

本地录制的错误码

枚举值
类型说明
RECORDING_ERROR_CODE_OK(0)录制正常
RECORDING_ERROR_CODE_NO_PERMISSION(-1)没有文件写权限
RECORDING_ERROR_CODE_NOT_SUPPORT(-2)当前版本 SDK 不支持本地录制功能,请联系技术支持人员
RECORDING_ERROR_CODE_NO_OTHER(-3)其他异常
RecordingFileType
public enum com.ss.bytertc.engine.type.RecordingFileType
java

本地录制文件的存储格式

枚举值
类型说明
RECORDING_FILE_TYPE_AAC(0)aac 格式文件
RECORDING_FILE_TYPE_MP4(1)mp4 格式文件
RecordingState
public enum com.ss.bytertc.engine.type.RecordingState
java

本地录制的状态

枚举值
类型说明
RECORDING_STATE_ERROE(0)录制异常
RECORDING_STATE_PROCESSING(1)录制进行中
RECORDING_STATE_SUCCESS(2)录制文件保存成功,调用 stopFileRecording 结束录制之后才会收到该状态码。
RecordingType
public enum com.ss.bytertc.engine.type.RecordingType
java

本地录制的媒体类型

枚举值
类型说明
RECORD_AUDIO_ONLY(0)只录制音频
RECORD_VIDEO_ONLY(1)只录制视频
RECORD_VIDEO_AND_AUDIO(2)同时录制音频和视频
RemoteAudioStats
public class com.ss.bytertc.engine.type.RemoteAudioStats
java

远端音频流统计信息,统计周期为 2s。

本地用户订阅远端音频流成功后,SDK 会周期性地通过 onRemoteStreamStats 通知本地用户订阅的音频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。

成员变量
类型名称
floataudioLossRate
floatreceivedKBitrate
intstallCount
intstallDuration
longe2eDelay
intplayoutSampleRate
intstatsInterval
intrtt
inttotal_rtt
intquality
intjitterBufferDelay
intnumChannels
intreceivedSampleRate
intfrozenRate
intconcealedSamples
intconcealmentEvent
intdecSampleRate
intdecDuration
变量说明

audioLossRate
public float com.ss.bytertc.engine.type.RemoteAudioStats.audioLossRate;
java

音频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。

receivedKBitrate
public float com.ss.bytertc.engine.type.RemoteAudioStats.receivedKBitrate;
java

接收码率。统计周期内的音频接收码率,单位为 kbps 。

stallCount
public int com.ss.bytertc.engine.type.RemoteAudioStats.stallCount;
java

音频卡顿次数。统计周期内的卡顿次数。

stallDuration
public int com.ss.bytertc.engine.type.RemoteAudioStats.stallDuration;
java

音频卡顿时长。统计周期内的卡顿时长,单位为 ms 。

e2eDelay
public long com.ss.bytertc.engine.type.RemoteAudioStats.e2eDelay;
java

用户体验级别的端到端延时。从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为 ms 。

playoutSampleRate
public int com.ss.bytertc.engine.type.RemoteAudioStats.playoutSampleRate;
java

播放采样率。统计周期内的音频播放采样率信息,单位为 Hz 。

statsInterval
public int com.ss.bytertc.engine.type.RemoteAudioStats.statsInterval;
java

统计间隔。此次统计周期的间隔,单位为 ms 。

rtt
public int com.ss.bytertc.engine.type.RemoteAudioStats.rtt;
java

客户端到服务端数据传输的往返时延,单位为 ms 。

total_rtt
public int com.ss.bytertc.engine.type.RemoteAudioStats.total_rtt;
java

发送端——服务端——接收端全链路数据传输往返时延。单位为 ms 。

quality
public int com.ss.bytertc.engine.type.RemoteAudioStats.quality;
java

远端用户发送的音频流质量。值含义参考 NetworkQuality 。

jitterBufferDelay
public int com.ss.bytertc.engine.type.RemoteAudioStats.jitterBufferDelay;
java

因引入 jitter buffer 机制导致的延时。单位为 ms 。

numChannels
public int com.ss.bytertc.engine.type.RemoteAudioStats.numChannels;
java

音频声道数。

receivedSampleRate
public int com.ss.bytertc.engine.type.RemoteAudioStats.receivedSampleRate;
java

音频接收采样率。统计周期内接收到的远端音频采样率信息,单位为 Hz 。

frozenRate
public int com.ss.bytertc.engine.type.RemoteAudioStats.frozenRate;
java

远端用户在加入房间后发生音频卡顿的累计时长占音频总有效时长的百分比。音频有效时长是指远端用户进房发布音频流后,除停止发送音频流和禁用音频模块之外的音频时长。

concealedSamples
public int com.ss.bytertc.engine.type.RemoteAudioStats.concealedSamples;
java

音频丢包补偿(PLC) 样点总个数。

concealmentEvent
public int com.ss.bytertc.engine.type.RemoteAudioStats.concealmentEvent;
java

音频丢包补偿(PLC) 累计次数。

decSampleRate
public int com.ss.bytertc.engine.type.RemoteAudioStats.decSampleRate;
java

音频解码采样率。统计周期内的音频解码采样率信息,单位为 Hz 。

decDuration
public int com.ss.bytertc.engine.type.RemoteAudioStats.decDuration;
java

此次订阅中,对远端音频流进行解码的累计耗时。单位为 s。

RemoteStreamStats
public class com.ss.bytertc.engine.type.RemoteStreamStats
java

用户订阅的远端音/视频流统计信息以及网络状况,统计周期为 2s 。

订阅远端用户发布音/视频流成功后,SDK 会周期性地通过 onRemoteStreamStats 通知本地用户订阅的远端音/视频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。

成员变量
类型名称
Stringuid
RemoteAudioStatsaudioStats
RemoteVideoStatsvideoStats
booleanisScreen
变量说明

uid
public String com.ss.bytertc.engine.type.RemoteStreamStats.uid;
java

用户 ID 。音/视频来源的远端用户 ID 。

audioStats
public RemoteAudioStats com.ss.bytertc.engine.type.RemoteStreamStats.audioStats;
java

远端音频流的统计信息,详见 RemoteAudioStats

videoStats
public RemoteVideoStats com.ss.bytertc.engine.type.RemoteStreamStats.videoStats;
java

远端视频流的统计信息,详见 RemoteVideoStats

isScreen
public boolean com.ss.bytertc.engine.type.RemoteStreamStats.isScreen;
java

所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

RemoteStreamSwitch
public class com.ss.bytertc.engine.type.RemoteStreamSwitch
java

流切换信息。本地用户订阅的远端流触发回退策略时的流切换信息。

成员变量
类型名称
Stringuid
booleanisScreen
intbefore_video_index
intafter_video_index
booleanbefore_enable
booleanafter_enable
FallbackOrRecoverReasonreason
变量说明

uid
public String com.ss.bytertc.engine.type.RemoteStreamSwitch.uid;
java

订阅的音视频流的发布者的用户 ID

isScreen
public boolean com.ss.bytertc.engine.type.RemoteStreamSwitch.isScreen;
java

是否是屏幕共享流

before_video_index
public int com.ss.bytertc.engine.type.RemoteStreamSwitch.before_video_index;
java

流切换前订阅视频流的分辨率对应的索引

after_video_index
public int com.ss.bytertc.engine.type.RemoteStreamSwitch.after_video_index;
java

流切换后订阅视频流的分辨率对应的索引

before_enable
public boolean com.ss.bytertc.engine.type.RemoteStreamSwitch.before_enable;
java

流切换前是否有视频流

after_enable
public boolean com.ss.bytertc.engine.type.RemoteStreamSwitch.after_enable;
java

流切换后是否有视频流

reason
public FallbackOrRecoverReason com.ss.bytertc.engine.type.RemoteStreamSwitch.reason;
java

流切换原因,详见类型 FallbackOrRecoverReason 。

RemoteUserPriority
public enum com.ss.bytertc.engine.type.RemoteUserPriority
java

远端用户优先级,在性能不足需要回退时,会优先回退优先级低的用户的音视频流。

枚举值
类型说明
REMOTE_USER_PRIORITY_LOW(0)用户优先级为低,默认值。
REMOTE_USER_PRIORITY_MEDIUM(100)用户优先级为正常。
REMOTE_USER_PRIORITY_HIGH(200)用户优先级为高。
RemoteVideoState
public enum com.ss.bytertc.engine.type.RemoteVideoState
java

远端视频流状态。状态改变时,会收到回调:onRemoteVideoStateChanged

枚举值
类型说明
REMOTE_VIDEO_STATE_STOPPED(0)远端视频流默认初始状态
在以下时机回调该状态:

+ 本地用户停止接收远端视频流,对应错误码 RemoteVideoStateChangeReason 中的 REMOTE_VIDEO_STATE_CHANGE_REASON_LOCAL_MUTED。

+ 远端用户停止发送视频流,对应错误码 RemoteVideoStateChangeReason 中的 REMOTE_VIDEO_STATE_CHANGE_REASON_REMOTE_MUTED。

+ 远端用户离开房间,对应错误码 RemoteVideoStateChangeReason 中的 REMOTE_VIDEO_STATE_CHANGE_REASON_REMOTE_OFFLINE。
REMOTE_VIDEO_STATE_STARTING(1)本地用户已接收远端视频首包
收到远端视频首包时回调该状态,对应错误码 RemoteVideoStateChangeReason 中的 REMOTE_VIDEO_STATE_CHANGE_REASON_LOCAL_UNMUTED。
REMOTE_VIDEO_STATE_DECODING(2)远端视频流正在解码,正常播放
在以下时机回调该状态:

+ 成功解码远端视频首帧,对应错误码 RemoteVideoStateChangeReason 中的 REMOTE_VIDEO_STATE_CHANGE_REASON_LOCAL_UNMUTED。

+ 网络由阻塞恢复正常,对应错误码 RemoteVideoStateChangeReason 中的 REMOTE_VIDEO_STATE_CHANGE_REASON_NETWORK_RECOVERY。

+ 本地用户恢复接收远端视频流,对应错误码 RemoteVideoStateChangeReason 中的 REMOTE_VIDEO_STATE_CHANGE_REASON_LOCAL_UNMUTED。

+ 远端用户恢复发送视频流,对应错误码 RemoteVideoStateChangeReason 中的 REMOTE_VIDEO_STATE_CHANGE_REASON_NETWORK_CONGESTION。
REMOTE_VIDEO_STATE_FROZEN(3)远端视频流卡顿
网络阻塞、丢包率大于40%时回调该状态,对应错误码 RemoteVideoStateChangeReason 中的 REMOTE_VIDEO_REASON_NETWORK_CONGESTION 。
REMOTE_VIDEO_STATE_FAILED(4)远端视频流播放失败
RemoteVideoStateChangeReason
public enum com.ss.bytertc.engine.type.RemoteVideoStateChangeReason
java

远端视频流状态改变的原因

枚举值
类型说明
REMOTE_VIDEO_STATE_CHANGE_REASON_INTERNAL(0)内部原因
REMOTE_VIDEO_STATE_CHANGE_REASON_NETWORK_CONGESTION(1)网络阻塞
REMOTE_VIDEO_STATE_CHANGE_REASON_NETWORK_RECOVERY(2)网络恢复正常
REMOTE_VIDEO_STATE_CHANGE_REASON_LOCAL_MUTED(3)本地用户停止接收远端视频流或本地用户禁用视频模块
REMOTE_VIDEO_STATE_CHANGE_REASON_LOCAL_UNMUTED(4)本地用户恢复接收远端视频流或本地用户启用视频模块
REMOTE_VIDEO_STATE_CHANGE_REASON_REMOTE_MUTED(5)远端用户停止发送视频流或远端用户禁用视频模块
REMOTE_VIDEO_STATE_CHANGE_REASON_REMOTE_UNMUTED(6)远端用户恢复发送视频流或远端用户启用视频模块
REMOTE_VIDEO_STATE_CHANGE_REASON_REMOTE_OFFLINE(7)远端用户离开房间
状态转换参看 onUserUnpublishStream/onUserUnpublishScreen。
RemoteVideoStats
public class com.ss.bytertc.engine.type.RemoteVideoStats
java

远端视频流统计信息,统计周期为 2s 。

本地用户订阅远端视频流成功后,SDK 会周期性地通过 onRemoteStreamStats
通知本地用户订阅的远端视频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。

成员变量
类型名称
intwidth
intheight
floatvideoLossRate
floatreceivedKBitrate
intdecoderOutputFrameRate
intrendererOutputFrameRate
intstallCount
intstallDuration
longe2eDelay
booleanisScreen
intstatsInterval
intrtt
intfrozenRate
intcodecType
intvideoIndex
变量说明

width
public int com.ss.bytertc.engine.type.RemoteVideoStats.width;
java

远端视频流宽度

height
public int com.ss.bytertc.engine.type.RemoteVideoStats.height;
java

远端视频流高度

videoLossRate
public float com.ss.bytertc.engine.type.RemoteVideoStats.videoLossRate;
java

视频丢包率。统计周期内的视频下行丢包率,单位为 % ,取值范围为 [0,1] 。

receivedKBitrate
public float com.ss.bytertc.engine.type.RemoteVideoStats.receivedKBitrate;
java

接收码率。统计周期内的视频接收码率,单位为 kbps 。

decoderOutputFrameRate
public int com.ss.bytertc.engine.type.RemoteVideoStats.decoderOutputFrameRate;
java

解码器输出帧率。统计周期内的视频解码器输出帧率,单位 fps 。

rendererOutputFrameRate
public int com.ss.bytertc.engine.type.RemoteVideoStats.rendererOutputFrameRate;
java

渲染帧率。统计周期内的视频渲染帧率,单位 fps 。

stallCount
public int com.ss.bytertc.engine.type.RemoteVideoStats.stallCount;
java

卡顿次数。统计周期内的卡顿次数。

stallDuration
public int com.ss.bytertc.engine.type.RemoteVideoStats.stallDuration;
java

卡顿时长。统计周期内的视频卡顿总时长。单位 ms 。

e2eDelay
public long com.ss.bytertc.engine.type.RemoteVideoStats.e2eDelay;
java

用户体验级别的端到端延时,从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为毫秒

isScreen
public boolean com.ss.bytertc.engine.type.RemoteVideoStats.isScreen;
java

所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

statsInterval
public int com.ss.bytertc.engine.type.RemoteVideoStats.statsInterval;
java

统计间隔,此次统计周期的间隔,单位为 ms 。

此字段用于设置回调的统计周期,目前设置为 2s 。

rtt
public int com.ss.bytertc.engine.type.RemoteVideoStats.rtt;
java

往返时延,单位为 ms 。

frozenRate
public int com.ss.bytertc.engine.type.RemoteVideoStats.frozenRate;
java

远端用户在进房后发生视频卡顿的累计时长占视频总有效时长的百分比(%)。视频有效时长是指远端用户进房发布视频流后,除停止发送视频流和禁用视频模块之外的视频时长。

codecType
public int com.ss.bytertc.engine.type.RemoteVideoStats.codecType;
java

视频的编码类型,具体参考 VideoCodecType 。

videoIndex
public int com.ss.bytertc.engine.type.RemoteVideoStats.videoIndex;
java

对应多种分辨率的流的下标。

RTCRoomStats
public class com.ss.bytertc.engine.type.RTCRoomStats
java

通话相关的统计信息

成员变量
类型名称
inttotalDuration
longtxBytes
longrxBytes
inttxKBitRate
intrxKBitRate
inttxAudioKBitRate
intrxAudioKBitRate
inttxVideoKBitRate
intrxVideoKBitRate
inttxScreenKBitRate
intrxScreenKBitRate
intusers
doublecpuTotalUsage
doublecpuAppUsage
doubletxLostrate
doublerxLostrate
intrtt
inttxJitter
intrxJitter
inttxCellularKBitrate
intrxCellularKBitrate
成员函数
返回名称
voidreset
变量说明

totalDuration
public int com.ss.bytertc.engine.type.RTCRoomStats.totalDuration;
java

进房到退房之间累计时长,单位为 s

txBytes
public long com.ss.bytertc.engine.type.RTCRoomStats.txBytes;
java

本地用户的总发送字节数 (bytes),累计值

rxBytes
public long com.ss.bytertc.engine.type.RTCRoomStats.rxBytes;
java

本地用户的总接收字节数 (bytes),累计值

txKBitRate
public int com.ss.bytertc.engine.type.RTCRoomStats.txKBitRate;
java

发送码率(kbps),获取该数据时的瞬时值

rxKBitRate
public int com.ss.bytertc.engine.type.RTCRoomStats.rxKBitRate;
java

接收码率(kbps),获取该数据时的瞬时值

txAudioKBitRate
public int com.ss.bytertc.engine.type.RTCRoomStats.txAudioKBitRate;
java

音频包的发送码率(kbps),获取该数据时的瞬时值

rxAudioKBitRate
public int com.ss.bytertc.engine.type.RTCRoomStats.rxAudioKBitRate;
java

音频接收码率(kbps),获取该数据时的瞬时值

txVideoKBitRate
public int com.ss.bytertc.engine.type.RTCRoomStats.txVideoKBitRate;
java

视频发送码率(kbps),获取该数据时的瞬时值

rxVideoKBitRate
public int com.ss.bytertc.engine.type.RTCRoomStats.rxVideoKBitRate;
java

视频接收码率(kbps),获取该数据时的瞬时值

txScreenKBitRate
public int com.ss.bytertc.engine.type.RTCRoomStats.txScreenKBitRate;
java

屏幕发送码率(kbps),获取该数据时的瞬时值

rxScreenKBitRate
public int com.ss.bytertc.engine.type.RTCRoomStats.rxScreenKBitRate;
java

屏幕接收码率(kbps),获取该数据时的瞬时值

users
public int com.ss.bytertc.engine.type.RTCRoomStats.users;
java

当前房间内的可见用户人数。

cpuTotalUsage
public double com.ss.bytertc.engine.type.RTCRoomStats.cpuTotalUsage;
java

当前系统的 CPU 使用率 (%)

cpuAppUsage
public double com.ss.bytertc.engine.type.RTCRoomStats.cpuAppUsage;
java

当前应用的 CPU 使用率 (%)

txLostrate
public double com.ss.bytertc.engine.type.RTCRoomStats.txLostrate;
java

当前应用的上行丢包率,取值范围为 [0, 1]

rxLostrate
public double com.ss.bytertc.engine.type.RTCRoomStats.rxLostrate;
java

当前应用的下行丢包率,取值范围为 [0, 1]

rtt
public int com.ss.bytertc.engine.type.RTCRoomStats.rtt;
java

客户端到服务端数据传输的往返时延(单位 ms)

txJitter
public int com.ss.bytertc.engine.type.RTCRoomStats.txJitter;
java

系统上行网络抖动(ms)

rxJitter
public int com.ss.bytertc.engine.type.RTCRoomStats.rxJitter;
java

系统下行网络抖动(ms)

txCellularKBitrate
public int com.ss.bytertc.engine.type.RTCRoomStats.txCellularKBitrate;
java

蜂窝路径发送的码率 (kbps),为获取该数据时的瞬时值

rxCellularKBitrate
public int com.ss.bytertc.engine.type.RTCRoomStats.rxCellularKBitrate;
java

蜂窝路径接收码率 (kbps),为获取该数据时的瞬时值

函数说明

reset
public void com.ss.bytertc.engine.type.RTCRoomStats.reset()
java

重置所有的 RTCRoomStats 成员变量的值,重新开始统计。

RtcUser
public class com.ss.bytertc.engine.type.RtcUser
java

用户信息

成员变量
类型名称
StringuserId
StringmetaData
变量说明

userId
public String com.ss.bytertc.engine.type.RtcUser.userId;
java

用户 id

metaData
public String com.ss.bytertc.engine.type.RtcUser.metaData;
java

元数据

SEIStreamUpdateEvent
public enum com.ss.bytertc.engine.type.SEIStreamUpdateEvent
java

黑帧视频流状态

枚举值
类型说明
SEIStreamUpdateEventStreamAdd (0)远端用户发布黑帧视频流。

纯语音通话场景下,远端用户调用 sendSEIMessage 发送 SEI 数据时,SDK 会自动发布一路黑帧视频流,并触发该回调。
SEIStreamUpdateEventStreamRemove (1)远端黑帧视频流移除。该回调的触发时机包括:

+ 远端用户开启摄像头采集,由语音通话切换至视频通话,黑帧视频流停止发布;

+ 远端用户调用 sendSEIMessage 后 1min 内未有 SEI 数据发送,黑帧视频流停止发布;

+ 远端用户调用 setVideoSourceType 切换至自定义视频采集时,黑帧视频流停止发布。
SourceWantedData
public class com.ss.bytertc.engine.type.SourceWantedData
java

性能回退相关数据

成员变量
类型名称
intwidth
intheight
intframeRate
变量说明

width
public int com.ss.bytertc.engine.type.SourceWantedData.width;
java

如果未开启发送性能回退,此值表示推荐的视频输入宽度;

如果开启了发送性能回退,此值表示当前推流的最大宽度。

height
public int com.ss.bytertc.engine.type.SourceWantedData.height;
java

如果未开启发送性能回退,此值表示推荐的视频输入高度;

如果开启了发送性能回退,此值表示当前推流的最大高度。

frameRate
public int com.ss.bytertc.engine.type.SourceWantedData.frameRate;
java

如果未开启发送性能回退,此值表示推荐的视频输入帧率,单位 fps;

如果开启了发送性能回退,此值表示当前推流的最大帧率,单位 fps。

StreamRemoveReason
public enum com.ss.bytertc.engine.type.StreamRemoveReason
java

房间内远端流移除原因。

枚举值
类型说明
STREAM_REMOVE_REASON_UNPUBLISH(0)远端用户停止发布流。
STREAM_REMOVE_REASON_PUBLISH_FAILED(1)远端用户发布流失败。
STREAM_REMOVE_REASON_KEEP_LIVE_FAILED(2)保活失败。
STREAM_REMOVE_REASON_CLIENT_DISCONNECTED(3)远端用户断网。
STREAM_REMOVE_REASON_REPUBLISH(4)远端用户重新发布流。
STREAM_REMOVE_REASON_OTHER(5)其他原因。
SubscribeFallbackOptions
public enum com.ss.bytertc.engine.type.SubscribeFallbackOptions
java

订阅端音视频流回退选项。

枚举值
类型说明
SUBSCRIBE_FALLBACK_OPTIONS_DISABLED(0)下行网络不佳或设备性能不足时,不对音视频流作回退处理。默认设置。
SUBSCRIBE_FALLBACK_OPTIONS_STREAM_LOW(1)下行网络不佳或设备性能不足时,对视频流做降级处理,具体降级规则参看性能回退文档。

该设置仅对发布端调用 enableSimulcastMode 开启发送多路流功能的情况生效。
SUBSCRIBE_FALLBACK_OPTIONS_AUDIO_ONLY(2)下行网络不佳或设备性能不足时,取消接收视频,仅接收音频。
SubscribeMediaType
public enum com.ss.bytertc.engine.type.SubscribeMediaType
java

订阅的媒体类型

枚举值
类型说明
RTC_SUBSCRIBE_MEDIA_TYPE_NONE既不订阅音频,也不订阅视频
RTC_SUBSCRIBE_MEDIA_TYPE_AUDIO_ONLY只订阅音频,不订阅视频
RTC_SUBSCRIBE_MEDIA_TYPE_VIDEO_ONLY只订阅视频,不订阅音频
RTC_SUBSCRIBE_MEDIA_TYPE_AUDIO_AND_VIDEO同时订阅音频和视频
TorchState
public enum com.ss.bytertc.engine.type.TorchState
java

相机闪光灯状态

枚举值
类型说明
TORCH_STATE_OFF(0)关闭
TORCH_STATE_ON(1)打开
UserOnlineStatus
public class com.ss.bytertc.engine.type.UserOnlineStatus
java

用户在线状态

成员变量
类型名称
intUSER_ONLINE_STATUS_OFFLINE
intUSER_ONLINE_STATUS_ONLINE
intUSER_ONLINE_STATUS_UNREACHABLE
变量说明

USER_ONLINE_STATUS_OFFLINE
public static final int com.ss.bytertc.engine.type.UserOnlineStatus.USER_ONLINE_STATUS_OFFLINE = 0;
java

对端用户离线

对端用户已经调用 logout,或者没有调用 login 进行登录

USER_ONLINE_STATUS_ONLINE
public static final int com.ss.bytertc.engine.type.UserOnlineStatus.USER_ONLINE_STATUS_ONLINE = 1;
java

对端用户在线

对端用户调用 login 登录,并且连接状态正常。

USER_ONLINE_STATUS_UNREACHABLE
public static final int com.ss.bytertc.engine.type.UserOnlineStatus.USER_ONLINE_STATUS_UNREACHABLE = 2;
java

无法获取对端用户在线状态

发生级联错误、对端用户在线状态异常时返回

VideoDeviceType
public enum com.ss.bytertc.engine.type.VideoDeviceType
java

当前视频设备类型

枚举值
类型说明
VIDEO_DEVICE_TYPE_UNKNOWN(-1)未知设备类型
VIDEO_DEVICE_TYPE_RENDER_DEVICE(0)视频渲染设备类型
VIDEO_DEVICE_TYPE_CAPTURE_DEVICE(1)视频采集设备类型
VIDEO_DEVICE_TYPE_SCREEN_CAPTURE_DEVICE(2)屏幕流视频设备
VoiceChangerType
public enum com.ss.bytertc.engine.type.VoiceChangerType
java

变声特效类型。

枚举值
类型说明
VOICE_CHANGER_ORIGINAL(0)原声,不含特效
VOICE_CHANGER_GIANT(1)巨人
VOICE_CHANGER_CHIPMUNK(2)花栗鼠
VOICE_CHANGER_MINIONST(3)小黄人
VOICE_CHANGER_VIBRATO(4)颤音
VOICE_CHANGER_ROBOT(5)机器人
VoiceReverbType
public enum com.ss.bytertc.engine.type.VoiceReverbType
java

混响特效类型。

枚举值
类型说明
VOICE_REVERB_ORIGINAL(0)原声,不含特效
VOICE_REVERB_ECHO(1)回声
VOICE_REVERB_CONCERT(2)演唱会
VOICE_REVERB_ETHEREAL(3)空灵
VOICE_REVERB_KTV(4)KTV
VOICE_REVERB_STUDIO(5)录音棚
ByteWatermark
public class com.ss.bytertc.engine.video.ByteWatermark
java

水印图片相对视频流的位置和大小。

成员变量
类型名称
floatx
floaty
floatwidth
floatheight
变量说明

x
public float com.ss.bytertc.engine.video.ByteWatermark.x;
java

水印图片相对视频流左上角的横向偏移与视频流宽度的比值,取值范围为 [0,1)。

y
public float com.ss.bytertc.engine.video.ByteWatermark.y;
java

水印图片相对视频流左上角的纵向偏移与视频流高度的比值,取值范围为 [0,1)。

width
public  float com.ss.bytertc.engine.video.ByteWatermark.width;
java

水印图片宽度与视频流宽度的比值,取值范围 [0,1)。

height
public float com.ss.bytertc.engine.video.ByteWatermark.height;
java

水印图片高度与视频流高度的比值,取值范围为 [0,1)。

FaceDetectionResult
public class com.ss.bytertc.engine.video.FaceDetectionResult
java

人脸检测结果

成员变量
类型名称
intdetectResult
intimageWidth
intimageHeight
Rectangle[]faces
成员函数
返回名称
StringtoString
变量说明

detectResult
public int com.ss.bytertc.engine.video.FaceDetectionResult.detectResult;
java

人脸检测结果

imageWidth
public int com.ss.bytertc.engine.video.FaceDetectionResult.imageWidth;
java

原始图片宽度(px)

imageHeight
public int com.ss.bytertc.engine.video.FaceDetectionResult.imageHeight;
java

原始图片高度(px)

faces
public Rectangle[] com.ss.bytertc.engine.video.FaceDetectionResult.faces;
java

识别到人脸的矩形框。数组的长度和检测到的人脸数量一致。参看 Rectangle。

函数说明

toString
public String com.ss.bytertc.engine.video.FaceDetectionResult.toString()
java
IVideoSink
public interface com.ss.bytertc.engine.video.IVideoSink
java

自定义视频渲染器。

成员函数
返回名称
voidonFrame
函数说明

onFrame
void com.ss.bytertc.engine.video.IVideoSink.onFrame(
    VideoFrame frame)
java

视频帧回调

传入参数

参数名类型说明
frameVideoFrame视频帧结构类,参看 VideoFrame
PixelFormat
public @interface com.ss.bytertc.engine.video.IVideoSink.PixelFormat
java

视频帧数据格式

成员变量
类型名称
intOriginal
intI420
变量说明

Original
int com.ss.bytertc.engine.video.IVideoSink.PixelFormat.Original = 0;
java

原始视频帧格式

I420
int com.ss.bytertc.engine.video.IVideoSink.PixelFormat.I420 = 1;
java

I420数据格式

Rectangle
public class com.ss.bytertc.engine.video.Rectangle
java

矩形区域

成员变量
类型名称
intx
inty
intwidth
intheight
成员函数
返回名称
RectangleRectangle
StringtoString
变量说明

x
public int com.ss.bytertc.engine.video.Rectangle.x = 0;
java

矩形区域左上角的 x 坐标

y
public int com.ss.bytertc.engine.video.Rectangle.y = 0;
java

矩形区域左上角的 y 坐标

width
public int com.ss.bytertc.engine.video.Rectangle.width = 0;
java

矩形宽度(px)

height
public int com.ss.bytertc.engine.video.Rectangle.height = 0;
java

矩形高度(px)

函数说明

Rectangle
public com.ss.bytertc.engine.video.Rectangle.Rectangle(
    int x,
    int y,
    int w,
    int h)
java

toString
public String com.ss.bytertc.engine.video.Rectangle.toString()
java
RTCWatermarkConfig
public class com.ss.bytertc.engine.video.RTCWatermarkConfig
java

水印参数

成员变量
类型名称
booleanvisibleInPreview
ByteWatermarkpositionInLandscapeMode
ByteWatermarkpositionInPortraitMode
变量说明

visibleInPreview
public boolean com.ss.bytertc.engine.video.RTCWatermarkConfig.visibleInPreview = true;
java

水印是否在视频预览中可见,默认可见。

positionInLandscapeMode
public ByteWatermark com.ss.bytertc.engine.video.RTCWatermarkConfig.positionInLandscapeMode;
java

横屏时的水印位置和大小,参看 ByteWatermark。

positionInPortraitMode
public ByteWatermark com.ss.bytertc.engine.video.RTCWatermarkConfig.positionInPortraitMode;
java

竖屏时的水印位置和大小,参看 ByteWatermark。

ScreenSharingParameters
public class com.ss.bytertc.engine.video.ScreenSharingParameters
java

屏幕共享的编码参数配置

成员变量
类型名称
intmaxWidth
intmaxHeight
intframeRate
intbitrate
变量说明

maxWidth
public int com.ss.bytertc.engine.video.ScreenSharingParameters.maxWidth = 0;
java

屏幕采集编码最大宽度,

maxHeight
public int com.ss.bytertc.engine.video.ScreenSharingParameters.maxHeight = 0;
java

屏幕采集编码最大高度

frameRate
public int com.ss.bytertc.engine.video.ScreenSharingParameters.frameRate = 15;
java

屏幕采集编码帧率, 单位 fps

bitrate
public int com.ss.bytertc.engine.video.ScreenSharingParameters.bitrate = -1;
java

屏幕采集编码码率, -1 为自动码率, SDK 会根据宽高信息选择合适的码率,单位 kbps

VideoCaptureConfig
public class com.ss.bytertc.engine.video.VideoCaptureConfig
java

视频采集配置

成员变量
类型名称
CapturePreferencecapturePreference
intwidth
intheight
intframeRate
变量说明

capturePreference
public CapturePreference com.ss.bytertc.engine.video.VideoCaptureConfig.capturePreference = CapturePreference.AUTO;
java

视频采集模式。参看 CapturePreference。

width
public int com.ss.bytertc.engine.video.VideoCaptureConfig.width;
java

视频采集分辨率的宽度,单位:px。

height
public int com.ss.bytertc.engine.video.VideoCaptureConfig.height;
java

视频采集分辨率的高度,单位:px。

frameRate
public int com.ss.bytertc.engine.video.VideoCaptureConfig.frameRate;
java

视频采集帧率,单位:fps。

CapturePreference
public enum com.ss.bytertc.engine.video.VideoCaptureConfig.CapturePreference
java

视频采集模式

枚举值
类型说明
AUTO(0)(默认)自动设置采集参数。
SDK在开启采集时根据服务端下发的采集配置结合编码参数设置最佳采集参数。
MANUAL(1)手动设置采集参数,包括采集分辨率、帧率。
AUTO_PERFORMANCE(2)采集参数与编码参数一致,即在 setVideoEncoderConfig 中设置的参数。
VideoEncoderConfiguration
public class com.ss.bytertc.engine.video.VideoEncoderConfiguration
java

视频编码配置。参考 设置视频发布参数

成员变量
类型名称
VideoDimensionsdimensions
FrameRateframeRate
intkBitrate
OrientationModeorientationMode
变量说明

dimensions
public VideoDimensions com.ss.bytertc.engine.video.VideoEncoderConfiguration.dimensions;
java

视频编码像素

frameRate
public FrameRate com.ss.bytertc.engine.video.VideoEncoderConfiguration.frameRate;
java

视频编码帧率

kBitrate
public int com.ss.bytertc.engine.video.VideoEncoderConfiguration.kBitrate;
java

视频编码码率

orientationMode
public OrientationMode com.ss.bytertc.engine.video.VideoEncoderConfiguration.orientationMode;
java

视频编码方向模式

OrientationMode
public static enum com.ss.bytertc.engine.video.VideoEncoderConfiguration.OrientationMode
java

视频编码的方向模式

枚举值
类型说明
ORIENTATION_MODE_ADAPTIVE(0)视频输出方向与采集方向一致。
ORIENTATION_MODE_FIXED_LANDSCAPE(1)固定横屏输出视频。若采集到的视频是竖屏模式,则视频编码器会对其进行裁剪。
ORIENTATION_MODE_FIXED_PORTRAIT(2)固定竖屏输出视频。若采集到的视频是横屏模式,则视频编码器会对其进行裁剪。
VideoFrame
public abstract class com.ss.bytertc.engine.video.VideoFrame
java

视频帧

成员函数
返回名称
synchronized voidsetReleaseCallback
synchronized booleanhasReleaseCallback
abstract VideoFrameTypegetFrameType
abstract VideoPixelFormatgetPixelFormat
abstract VideoContentTypegetContentType
abstract longgetTimeStampUs
abstract intgetWidth
abstract intgetHeight
abstract VideoRotationgetRotation
abstract ColorSpacegetColorSpace
abstract CameraIdgetCameraId
abstract intgetNumberOfPlanes
abstract ByteBuffergetPlaneData
abstract intgetPlaneStride
abstract ByteBuffergetExternalDataInfo
abstract ByteBuffergetSupplementaryInfo
abstract intgetTextureID
abstract float[]getTextureMatrix
abstract EGLContextgetEGLContext
synchronized voidretain
synchronized voidrelease
函数说明

setReleaseCallback
public synchronized void com.ss.bytertc.engine.video.VideoFrame.setReleaseCallback(
    Runnable releaseCallback)
java

设置视频帧释放回调,当视频帧的引用计数归 0 时,会执行 releaseCallback

传入参数

参数名类型说明
releaseCallbackRunnable视频帧释放回调

hasReleaseCallback
public synchronized boolean com.ss.bytertc.engine.video.VideoFrame.hasReleaseCallback()
java

用于检查当前的视频帧是否已设置 releaseCallback

返回值

getFrameType
public abstract VideoFrameType com.ss.bytertc.engine.video.VideoFrame.getFrameType()
java

获取视频帧类型,参看 VideoFrameType

getPixelFormat
public abstract VideoPixelFormat com.ss.bytertc.engine.video.VideoFrame.getPixelFormat()
java

获取视频帧格式,参看 VideoPixelFormat

getContentType
public abstract VideoContentType com.ss.bytertc.engine.video.VideoFrame.getContentType()
java

获取视频内容类型

返回值
视频内容类型,参看 VideoContentType。

getTimeStampUs
public abstract long com.ss.bytertc.engine.video.VideoFrame.getTimeStampUs()
java

获取视频帧时间戳,单位:微秒

getWidth
public abstract int com.ss.bytertc.engine.video.VideoFrame.getWidth()
java

获取视频帧宽度,单位:px

getHeight
public abstract int com.ss.bytertc.engine.video.VideoFrame.getHeight()
java

获取视频帧高度,单位:px

getRotation
public abstract VideoRotation com.ss.bytertc.engine.video.VideoFrame.getRotation()
java

获取视频帧旋转角度

getColorSpace
public abstract ColorSpace com.ss.bytertc.engine.video.VideoFrame.getColorSpace()
java

获取视频帧色彩空间,参看 ColorSpace

getCameraId
public abstract CameraId com.ss.bytertc.engine.video.VideoFrame.getCameraId()
java

获取视频帧的摄像头信息,参看 CameraId

getNumberOfPlanes
public abstract int com.ss.bytertc.engine.video.VideoFrame.getNumberOfPlanes()
java

获取视频帧像素平面数量

注意
yuv 数据存储格式分为打包(packed)存储格式和平面(planar)存储格式,planar 格式中 Y、U、V 分平面存储,packed 格式中 Y、U、V 交叉存储

getPlaneData
public abstract ByteBuffer com.ss.bytertc.engine.video.VideoFrame.getPlaneData(
    int planeIndex)
java

获取 plane 数据

传入参数

参数名类型说明
planeIndexintplane 数据索引

getPlaneStride
public abstract int com.ss.bytertc.engine.video.VideoFrame.getPlaneStride(
    int planeIndex)
java

获取指定 plane 中数据行的长度

传入参数

参数名类型说明
planeIndexintplane 数据索引

getExternalDataInfo
public abstract ByteBuffer com.ss.bytertc.engine.video.VideoFrame.getExternalDataInfo()
java

获取 SEI 数据

getSupplementaryInfo
public abstract ByteBuffer com.ss.bytertc.engine.video.VideoFrame.getSupplementaryInfo()
java

获取补充数据指针

getTextureID
public abstract int com.ss.bytertc.engine.video.VideoFrame.getTextureID()
java

获取纹理ID

getTextureMatrix
public abstract float[] com.ss.bytertc.engine.video.VideoFrame.getTextureMatrix()
java

获取纹理矩阵

getEGLContext
public abstract EGLContext com.ss.bytertc.engine.video.VideoFrame.getEGLContext()
java

获取纹理使用的 EGLContext

retain
public synchronized void com.ss.bytertc.engine.video.VideoFrame.retain()
java

对当前的视频帧进行一次引用计数

release
public synchronized void com.ss.bytertc.engine.video.VideoFrame.release()
java

对当前的视频帧减少一次引用计数

VideoDecoderConfig
public enum com.ss.bytertc.engine.video.VideoDecoderConfig
java

视频解码方式

枚举值
类型说明
VIDEO_DECODER_CONFIG_RAW(0)开启 SDK 内部解码,只回调解码后的数据
VIDEO_DECODER_CONFIG_ENCODE(1)开启自定义解码,只回调解码前数据
VIDEO_DECODER_CONFIG_BOTH(2)开启 SDK 内部解码,同时回调解码前和解码后的数据
VideoPreprocessorConfig
public class com.ss.bytertc.engine.video.VideoPreprocessorConfig
java

视频处理配置参数。

成员变量
类型名称
VideoPixelFormatrequired_pixel_format
变量说明

required_pixel_format
public VideoPixelFormat com.ss.bytertc.engine.video.VideoPreprocessorConfig.required_pixel_format = VideoPixelFormat.kVideoPixelFormatUnknown;
java

设置请求的像素格式,参看 VideoPixelFormat。

VideoEncoderConfig
public class com.ss.bytertc.engine.VideoEncoderConfig
java

视频流参数描述

成员变量
类型名称
intwidth
intheight
intframeRate
intmaxBitrate
EncoderPreferenceencodePreference
VideoOrientationorientation
变量说明

width
public int com.ss.bytertc.engine.VideoEncoderConfig.width;
java

视频宽度,单位:px

height
public int com.ss.bytertc.engine.VideoEncoderConfig.height;
java

视频高度,单位:px

frameRate
public int com.ss.bytertc.engine.VideoEncoderConfig.frameRate;
java

视频帧率,单位:fps

maxBitrate
public int com.ss.bytertc.engine.VideoEncoderConfig.maxBitrate = -1;
java

最大编码码率,使用 SDK 内部采集时可选设置,自定义采集时必须设置,单位:kbps。

设为 -1 即适配码率模式,系统将根据输入的分辨率和帧率自动计算适用的码率。

设为 0 则不对视频流进行编码发送。

3.44.1 及以上版本,内部采集时默认值为 -1,3.44.1 以前版本无默认值,需手动设置。

encodePreference
public EncoderPreference com.ss.bytertc.engine.VideoEncoderConfig.encodePreference =
java

编码策略偏好,默认为帧率优先。参看 EncoderPreference。

orientation
public VideoOrientation com.ss.bytertc.engine.VideoEncoderConfig.orientation = VideoOrientation.Adaptive;
java

设置视频编码器输出的画面为横屏或竖屏显示。具体模式参看 VideoOrientation。

注意:
该设置仅影响远端。若希望本地预览画面的横竖屏模式与远端保持一致,则本地需调用 setVideoCaptureConfig,将 CapturePreference 设置为 “AUTO_PERFORMANCE” 用编码参数进行采集。如果你为多路流设置了不同的显示模式,则本地预览默认与大流的模式保持一致。
该设置仅影响远端。若希望本地预览画面的横竖屏模式与远端保持一致,则本地需调用 setVideoCaptureConfig,将 CapturePreference 设置为 “AUTO_PERFORMANCE” 用编码参数进行采集。如果你为多路流设置了不同的显示模式,则本地预览默认与大流的模式保持一致。

CodecMode
public enum com.ss.bytertc.engine.VideoEncoderConfig.CodecMode
java

编码器Mode(使用软编码或者硬编码)

枚举值
类型说明
CODEC_MODE_AUTO(0)自动模式
CODEC_MODE_HARDWARE(1)硬编码模式
CODEC_MODE_SOFTWARE(2)软编码模式
VideoCodecType
public enum com.ss.bytertc.engine.VideoEncoderConfig.VideoCodecType
java

编码模式(H264, ByteVC1)

枚举值
类型说明
CODEC_TYPE_AUTO(0)自动选择编码模式
CODEC_TYPE_H264(1)H264
CODEC_TYPE_BYTEVC1(2)ByteVC1
EncoderPreference
public enum com.ss.bytertc.engine.VideoEncoderConfig.EncoderPreference
java

编码策略偏好。

枚举值
类型说明
Disabled(0)无偏好。不降低帧率和分辨率。
MaintainFramerate(1)(默认值)帧率优先。
MaintainQuality(2)分辨率优先。
Balance(3)平衡帧率与分辨率。
AudioChannel
public enum com.ss.bytertc.engine.data.AudioChannel
java

音频声道

枚举值
类型说明
AUDIO_CHANNEL_AUTO(-1)自动声道,适用于从 SDK 获取音频数据,使用 SDK 内部处理的声道,不经过 resample。

当你需要从 SDK 获取音频数据时,建议设置成该值,避免 resample 带来的性能损失。
AUDIO_CHANNEL_MONO(1)单声道
AUDIO_CHANNEL_STEREO(2)双声道
AudioFrameCallbackMethod
public enum com.ss.bytertc.engine.data.AudioFrameCallbackMethod
java

音频回调方法

枚举值
类型说明
AUDIO_FRAME_CALLBACK_RECORD(0)本地麦克风录制的音频数据回调
AUDIO_FRAME_CALLBACK_PLAYBACK(1)订阅的远端所有用户混音后的音频数据回调
AUDIO_FRAME_CALLBACK_MIXED(2)本地麦克风录制和订阅的远端所有用户混音后的音频数据回调
AUDIO_FRAME_CALLBACK_REMOTE_USER(3)订阅的远端每个用户混音前的音频数据回调
AudioFrameType
public enum com.ss.bytertc.engine.data.AudioFrameType
java

音频帧类型

枚举值
类型说明
FRAME_TYPE_PCM16(0)PCM 16bit
成员函数
返回名称
intvalue
函数说明

value
public int com.ss.bytertc.engine.data.AudioFrameType.value()
java

获取当前值

返回值
当前值

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

音频采样率,单位为 Hz。

枚举值
类型说明
AUDIO_SAMPLE_RATE_AUTO(-1)自动采样率,适用于从 SDK 获取音频数据,使用 SDK 内部处理的采样率,不经过 resample。

当你需要从 SDK 获取音频数据时,建议设置成该值,避免 resample 带来的性能损失。
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 采样率
EchoTestConfig
public class com.ss.bytertc.engine.data.EchoTestConfig
java

音视频回路测试参数

成员变量
类型名称
Viewview
Stringuid
StringroomId
Stringtoken
booleanenableAudio
booleanenableVideo
intaudioReportInterval
成员函数
返回名称
ViewgetEchoRenderView
StringgetEchoUid
StringgetEchoRoomId
StringgetEchoToken
booleangetEchoEnabledAudio
booleangetEchoEnabledVideo
intgetAudioReportInterval
变量说明

view
public View   com.ss.bytertc.engine.data.EchoTestConfig.view;
java

用于渲染接收到的视频的视图

uid
public String com.ss.bytertc.engine.data.EchoTestConfig.uid;
java

进行音视频通话回路测试的用户 ID

roomId
public String com.ss.bytertc.engine.data.EchoTestConfig.roomId;
java

测试用户加入的房间 ID

token
public String com.ss.bytertc.engine.data.EchoTestConfig.token;
java

对用户进房时进行鉴权验证的动态密钥,用于保证音视频通话回路测试的安全性。

enableAudio
public boolean com.ss.bytertc.engine.data.EchoTestConfig.enableAudio;
java

是否检测音频。检测设备为系统默认音频设备。

enableVideo
public boolean com.ss.bytertc.engine.data.EchoTestConfig.enableVideo;
java

是否检测视频。PC 端默认检测列表中第一个视频设备。

注意:
视频的发布参数固定为:分辨率 640px × 360px,帧率 15fps。
视频的发布参数固定为:分辨率 640px × 360px,帧率 15fps。

audioReportInterval
public int com.ss.bytertc.engine.data.EchoTestConfig.audioReportInterval;
java

音量信息提示间隔,单位:ms,默认为 100ms

函数说明

getEchoRenderView
public View com.ss.bytertc.engine.data.EchoTestConfig.getEchoRenderView()
java

getEchoUid
public String com.ss.bytertc.engine.data.EchoTestConfig.getEchoUid()
java

getEchoRoomId
public String com.ss.bytertc.engine.data.EchoTestConfig.getEchoRoomId()
java

getEchoToken
public String com.ss.bytertc.engine.data.EchoTestConfig.getEchoToken()
java

getEchoEnabledAudio
public boolean com.ss.bytertc.engine.data.EchoTestConfig.getEchoEnabledAudio()
java

getEchoEnabledVideo
public boolean com.ss.bytertc.engine.data.EchoTestConfig.getEchoEnabledVideo()
java

getAudioReportInterval
public int com.ss.bytertc.engine.data.EchoTestConfig.getAudioReportInterval()
java
LocalAudioStreamError
public enum com.ss.bytertc.engine.data.LocalAudioStreamError
java

本地音频流状态改变时的错误码。

SDK 通过 onLocalAudioStateChanged 回调该错误码。

枚举值
类型说明
LOCAL_AUDIO_STREAM_ERROR_OK(0)本地音频状态正常
LOCAL_AUDIO_STREAM_ERROR_FAILURE(1)本地音频出错原因未知
LOCAL_AUDIO_STREAM_ERROR_DEVICE_NO_PERMISSION(2)没有权限启动本地音频录制设备
LOCAL_AUDIO_STREAM_ERROR_RECORD_FAILURE(4)本地音频录制失败,建议你检查录制设备是否正常工作
LOCAL_AUDIO_STREAM_ERROR_ENCODE_FAILURE(5)本地音频编码失败
LOCAL_AUDIO_STREAM_ERROR_NO_RECORDING_DEVICE(6)没有可用的音频录制设备
成员函数
返回名称
intvalue
函数说明

value
public int com.ss.bytertc.engine.data.LocalAudioStreamError.value()
java

获取当前值

返回值
当前值

LocalAudioStreamState
public enum com.ss.bytertc.engine.data.LocalAudioStreamState
java

本地音频流状态。

SDK 通过 onLocalAudioStateChanged 回调该状态。

枚举值
类型说明
LOCAL_AUDIO_STREAM_STATE_STOPPED(0)本地音频默认初始状态。

麦克风停止工作时回调该状态,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorOk 。
LOCAL_AUDIO_STREAM_STATE_RECORDING(1)本地音频录制设备启动成功。

采集到音频首帧时回调该状态,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorOk 。
LOCAL_AUDIO_STREAM_STATE_ENCODING(2)本地音频首帧编码成功。

音频首帧编码成功时回调该状态,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorOk 。
LOCAL_AUDIO_STREAM_STATE_FAILED(3)本地音频启动失败,在以下时机回调该状态:

+ 本地录音设备启动失败,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorRecordFailure 。

+ 检测到没有录音设备权限,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorDeviceNoPermission。

+ 音频编码失败,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorEncodeFailure。
成员函数
返回名称
intvalue
函数说明

value
public int com.ss.bytertc.engine.data.LocalAudioStreamState.value()
java

获取当前值

返回值
当前值

RecordingConfig
public class com.ss.bytertc.engine.data.RecordingConfig
java

本地录制参数配置

成员变量
类型名称
StringdirPath
RecordingFileTyperecordingFileType
变量说明

dirPath
public String com.ss.bytertc.engine.data.RecordingConfig.dirPath;
java

录制文件保存的绝对路径。你需要指定一个有读写权限的合法路径。

recordingFileType
public RecordingFileType com.ss.bytertc.engine.data.RecordingConfig.recordingFileType = RecordingFileType.RECORDING_FILE_TYPE_MP4;
java

录制存储文件格式,参看 RecordingFileType

RecordingInfo
public class com.ss.bytertc.engine.data.RecordingInfo
java

本地录制的详细信息

成员变量
类型名称
StringfilePath
VideoCodecTypevideoCodecType
intwidth
intheight
变量说明

filePath
public String com.ss.bytertc.engine.data.RecordingInfo.filePath;
java

录制文件的绝对路径,包含文件名和文件后缀

videoCodecType
public VideoCodecType com.ss.bytertc.engine.data.RecordingInfo.videoCodecType;
java

录制文件的视频编码类型,参看 参看 VideoCodecType

width
public int com.ss.bytertc.engine.data.RecordingInfo.width;
java

录制视频的宽,单位:像素。纯音频录制请忽略该字段

height
public int com.ss.bytertc.engine.data.RecordingInfo.height;
java

录制视频的高,单位:像素。纯音频录制请忽略该字段

RecordingProgress
public class com.ss.bytertc.engine.data.RecordingProgress
java

本地录制进度

成员变量
类型名称
longduration
longfileSize
变量说明

duration
public long com.ss.bytertc.engine.data.RecordingProgress.duration;
java

当前文件的累计录制时长,单位:毫秒

fileSize
public long com.ss.bytertc.engine.data.RecordingProgress.fileSize;
java

当前录制文件的大小,单位:byte

RemoteAudioState
public enum com.ss.bytertc.engine.data.RemoteAudioState
java

用户订阅的远端音频流状态。

SDK 通过 onRemoteAudioStateChanged 回调该状态。

枚举值
类型说明
REMOTE_AUDIO_STATE_STOPPED(0)远端音频流默认初始状态,在以下时机回调该状态:

+ 本地用户停止接收远端音频流,对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonLocalMuted

+ 远端用户停止发送音频流,对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonRemoteMuted

+ 远端用户离开房间,对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonRemoteOffline
REMOTE_AUDIO_STATE_STARTING(1)开始接收远端音频流首包。

刚收到远端音频流首包时,会触发回调 onRemoteAudioStateChanged,
对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonLocalUnmuted 。
REMOTE_AUDIO_STATE_DECODING(2)远端音频流正在解码,正常播放,在以下时机回调该状态:

+ 成功解码远端音频首帧,对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonLocalUnmuted

+ 网络由阻塞恢复正常,对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonNetworkRecovery

+ 本地用户恢复接收远端音频流,对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonLocalUnmuted

+ 远端用户恢复发送音频流,对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonRemoteUnmuted
REMOTE_AUDIO_STATE_FROZEN(3)远端音频流卡顿。
网络阻塞导致丢包率大于 40% 时回调该状态,对应原因是
RemoteAudioStateChangeReason 中的 kRemoteAudioReasonNetworkCongestion
成员函数
返回名称
intvalue
函数说明

value
public int com.ss.bytertc.engine.data.RemoteAudioState.value()
java

获取当前值

返回值
当前值

RemoteAudioStateChangeReason
public enum com.ss.bytertc.engine.data.RemoteAudioStateChangeReason
java

远端音频流状态改变的原因。
SDK 通过 onRemoteAudioStateChanged 回调该错误码。

枚举值
类型说明
REMOTE_AUDIO_STATE_CHANGE_REASON_INTERNAL(0)内部原因
REMOTE_AUDIO_STATE_CHANGE_REASON_NETWORK_CONGESTION(1)网络阻塞
REMOTE_AUDIO_STATE_CHANGE_REASON_NETWORK_RECOVERY(2)网络恢复正常
REMOTE_AUDIO_STATE_CHANGE_REASON_LOCAL_MUTED(3)本地用户停止接收远端音频流
REMOTE_AUDIO_STATE_CHANGE_REASON_LOCAL_UNMUTED(4)本地用户恢复接收远端音频流
REMOTE_AUDIO_STATE_CHANGE_REASON_REMOTE_MUTED(5)远端用户停止发送音频流
REMOTE_AUDIO_STATE_CHANGE_REASON_REMOTE_UNMUTED(6)远端用户恢复发送音频流
REMOTE_AUDIO_STATE_CHANGE_REASON_REMOTE_OFFLINE(7)远端用户离开房间
成员函数
返回名称
intvalue
函数说明

value
public int com.ss.bytertc.engine.data.RemoteAudioStateChangeReason.value()
java

获取当前值

返回值
当前值

RemoteStreamKey
public class com.ss.bytertc.engine.data.RemoteStreamKey
java

远端流信息

成员函数
返回名称
StringgetRoomId
StringgetUserId
StreamIndexgetStreamIndex
函数说明

getRoomId
public String com.ss.bytertc.engine.data.RemoteStreamKey.getRoomId()
java

获取房间 ID

getUserId
public String com.ss.bytertc.engine.data.RemoteStreamKey.getUserId()
java

获取用户 ID

getStreamIndex
public StreamIndex com.ss.bytertc.engine.data.RemoteStreamKey.getStreamIndex()
java

获取流属性,包括主流、屏幕流。参看 StreamIndex

RemoteVideoConfig
public class com.ss.bytertc.engine.data.RemoteVideoConfig
java

远端视频帧信息

成员函数
返回名称
RemoteVideoConfigRemoteVideoConfig
函数说明

RemoteVideoConfig
public com.ss.bytertc.engine.data.RemoteVideoConfig.RemoteVideoConfig(
    int width,
    int height,
    int framerate)
java

远端视频参数设置

传入参数

参数名类型说明
widthint视频宽度,单位:px
heightint视频高度,单位:px
framerateint期望订阅的最高帧率,单位:fps,默认值为 0,设为大于 0 的值时开始生效。
当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。
仅码流支持 SVC 分级编码特性时方可生效。
RTCASRConfig
public class com.ss.bytertc.engine.data.RTCASRConfig
java

使用自动语音识别服务所需校验信息

成员变量
类型名称
StringuserId
StringaccessToken
StringsecretKey
ASRAuthorizationTypeauthorizationType
Stringcluster
StringappId
变量说明

userId
public String com.ss.bytertc.engine.data.RTCASRConfig.userId;
java

用户 ID

accessToken
public String com.ss.bytertc.engine.data.RTCASRConfig.accessToken;
java

访问令牌

secretKey
public String com.ss.bytertc.engine.data.RTCASRConfig.secretKey;
java

私钥。Signature 鉴权模式下不能为空,token 鉴权模式下为空。参看关于鉴权

authorizationType
public ASRAuthorizationType com.ss.bytertc.engine.data.RTCASRConfig.authorizationType;
java

鉴权方式

cluster
public String com.ss.bytertc.engine.data.RTCASRConfig.cluster;
java

场景信息,参看业务集群

appId
public String com.ss.bytertc.engine.data.RTCASRConfig.appId;
java

应用 ID

ASRAuthorizationType
public enum com.ss.bytertc.engine.data.RTCASRConfig.ASRAuthorizationType
java

语音识别服务鉴权方式,详情请咨询语音识别服务相关人员

枚举值
类型说明
ASR_AUTHORIZATION_TYPE_TOKEN(0)Token 鉴权
ASR_AUTHORIZATION_TYPE_SIGNATURE(1)Signature 鉴权
VideoFrameInfo
public class com.ss.bytertc.engine.data.VideoFrameInfo
java

视频帧信息

成员变量
类型名称
VideoRotationrotation
成员函数
返回名称
intgetWidth
intgetHeight
变量说明

rotation
public VideoRotation com.ss.bytertc.engine.data.VideoFrameInfo.rotation = VideoRotation.VIDEO_ROTATION_0;
java

视频帧顺时针旋转角度。参看 VideoRotation。

函数说明

getWidth
public int com.ss.bytertc.engine.data.VideoFrameInfo.getWidth()
java

获取宽度(像素)

getHeight
public int com.ss.bytertc.engine.data.VideoFrameInfo.getHeight()
java

获取高度(像素)

VideoPictureType
public enum com.ss.bytertc.engine.data.VideoPictureType
java

编码帧类型

枚举值
类型说明
VIDEO_PICTURE_TYPE_UNKNOWN(0)未知类型
VIDEO_PICTURE_TYPE_I(1)I帧,关键帧,编解码不需要参考其他视频帧
VIDEO_PICTURE_TYPE_P(2)P帧,向前参考帧,编解码需要参考前一帧视频帧
VIDEO_PICTURE_TYPE_B(3)B帧,前后参考帧,编解码需要参考前后两帧视频帧
VideoRotation
public enum com.ss.bytertc.engine.data.VideoRotation
java

视频帧旋转角度

枚举值
类型说明
VIDEO_ROTATION_0(0)顺时针旋转 0 度
VIDEO_ROTATION_90(90)顺时针旋转 90 度
VIDEO_ROTATION_180(180)顺时针旋转 180 度
VIDEO_ROTATION_270(270)顺时针旋转 270 度
VideoSourceType
public enum com.ss.bytertc.engine.data.VideoSourceType
java

视频输入源类型

枚举值
类型说明
VIDEO_SOURCE_TYPE_EXTERNAL(0)自定义采集视频源
VIDEO_SOURCE_TYPE_INTERNAL(1)内部采集视频源
VIDEO_SOURCE_TYPE_ENCODED_WITH_SIMULCAST(2)自定义编码视频源。

你仅需推送分辨率最大的一路编码后视频流,SDK 将自动转码生成多路小流
VIDEO_SOURCE_TYPE_ENCODED_WITHOUT_SIMULCAST(3)自定义编码视频源。

SDK 不会自动生成多路流,你需要自行生成并推送多路流
RTCEncodedVideoFrame
public class com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame
java

视频帧信息

成员变量
类型名称
ByteBufferbuffer
longtimestampUs
longtimestampDtsUs
intwidth
intheight
VideoCodecTypevideoCodecType
VideoPictureTypevideoPictureType
VideoRotationvideoRotation
变量说明

buffer
public final ByteBuffer com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.buffer;
java

视频帧数据指针地址

timestampUs
public long com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.timestampUs;
java

视频采集时间戳,单位:微秒

timestampDtsUs
public long com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.timestampDtsUs;
java

视频编码时间戳,单位:微秒

width
public int com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.width;
java

视频分辨率的宽度,单位:px

height
public int com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.height;
java

视频分辨率的高度,单位:px

videoCodecType
public VideoCodecType com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.videoCodecType;
java

视频编码类型。参看 VideoCodecType

videoPictureType
public VideoPictureType com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.videoPictureType;
java

视频帧类型。参看 VideoPictureType

videoRotation
public VideoRotation com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.videoRotation;
java

视频帧旋转角度,默认旋转 0 度。参看 VideoRotation

VideoDimensions
public class com.ss.bytertc.engine.video.VideoDimensions
java

视频编码像素

成员变量
类型名称
intwidth
intheight
变量说明

width
public int com.ss.bytertc.engine.video.VideoDimensions.width;
java

宽

height
public int com.ss.bytertc.engine.video.VideoDimensions.height;
java

高

CpuBufferVideoFrameBuilder
public class com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder
java

构建 CpuBuffer 的视频帧

成员函数
返回名称
CpuBufferVideoFrameBuildersetTimeStampUs
CpuBufferVideoFrameBuildersetWidth
CpuBufferVideoFrameBuildersetHeight
CpuBufferVideoFrameBuildersetRotation
CpuBufferVideoFrameBuildersetColorSpace
CpuBufferVideoFrameBuildersetPlaneData
CpuBufferVideoFrameBuildersetPlaneStride
CpuBufferVideoFrameBuildersetExternalDataInfo
CpuBufferVideoFrameBuildersetSupplementaryInfo
CpuBufferVideoFrameBuildersetReleaseCallback
VideoFramebuild
函数说明

setTimeStampUs
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setTimeStampUs(
    long timeStampUs)
java

设置视频帧的时间戳

传入参数

参数名类型说明
timeStampUslong视频帧时间戳

setWidth
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setWidth(
    int width)
java

设置视频帧宽度

传入参数

参数名类型说明
widthint视频帧宽度,单位:像素

setHeight
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setHeight(
    int height)
java

设置视频帧高度

传入参数

参数名类型说明
heightint视频帧高度,单位:像素

setRotation
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setRotation(
    VideoRotation rotation)
java

设置视频帧旋转角度

传入参数

参数名类型说明
rotationVideoRotation视频帧旋转角度,参看 VideoRotation

setColorSpace
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setColorSpace(
    ColorSpace colorSpace)
java

设置视频帧色彩空间

传入参数

参数名类型说明
colorSpaceColorSpace视频帧色彩空间,参看 ColorSpace

setPlaneData
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setPlaneData(
    int planeIndex,
    ByteBuffer buffer)
java

设置像素平面数据

传入参数

参数名类型说明
planeIndexint像素平面数据索引
bufferByteBufferplane 要设置的 ByteBuffer,如果设置的是一个 DirectBuffer,则不会发生拷贝,如果不是,则会发生一次拷贝

setPlaneStride
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setPlaneStride(
    int planeIndex,
    int stride)
java

设置指定像素平面的跨距

传入参数

参数名类型说明
planeIndexint像素平面数据索引
strideint当前像素平面的跨度

setExternalDataInfo
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setExternalDataInfo(
    ByteBuffer externalDataInfo)
java

设置 SEI 数据

传入参数

参数名类型说明
externalDataInfoByteBufferSEI 数据,如果设置的是一个 DirectBuffer,则不会发生拷贝,如果不是,则会发生一次拷贝

setSupplementaryInfo
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setSupplementaryInfo(
    ByteBuffer supplementaryInfo)
java

设置补充数据指针

传入参数

参数名类型说明
supplementaryInfoByteBuffer补充数据指针,如果设置的是一个 DirectBuffer,则不会发生拷贝,如果不是,则会发生一次拷贝

setReleaseCallback
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setReleaseCallback(
    Runnable releaseCallback)
java

设置视频帧的释放回调,当视频帧的引用计数归 0 时,会执行 releaseCallback

传入参数

参数名类型说明
releaseCallbackRunnable视频帧的释放回调

build
public VideoFrame com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.build()
java

获取到创建好的视频帧

返回值
创建好的视频帧,参看 VideoFrame

GLTextureVideoFrameBuilder
public class com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder
java

构建纹理格式视频数据返回帧

成员函数
返回名称
GLTextureVideoFrameBuildersetTimeStampUs
GLTextureVideoFrameBuildersetWidth
GLTextureVideoFrameBuildersetHeight
GLTextureVideoFrameBuildersetRotation
GLTextureVideoFrameBuildersetColorSpace
GLTextureVideoFrameBuildersetExternalDataInfo
GLTextureVideoFrameBuildersetSupplementaryInfo
GLTextureVideoFrameBuildersetTextureID
GLTextureVideoFrameBuildersetTextureMatrix
GLTextureVideoFrameBuildersetEGLContext
GLTextureVideoFrameBuildersetReleaseCallback
VideoFramebuild
函数说明

setTimeStampUs
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setTimeStampUs(
    long timeStampUs)
java

设置视频帧的时间戳

传入参数

参数名类型说明
timeStampUslong视频帧时间戳

setWidth
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setWidth(
    int width)
java

设置视频帧宽度

传入参数

参数名类型说明
widthint视频帧宽度,单位:像素

setHeight
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setHeight(
    int height)
java

设置视频帧高度

传入参数

参数名类型说明
heightint视频帧高度,单位:像素

setRotation
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setRotation(
    VideoRotation rotation)
java

设置视频帧旋转角度

传入参数

参数名类型说明
rotationVideoRotation视频帧旋转角度,参看 VideoRotation

setColorSpace
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setColorSpace(
    ColorSpace colorSpace)
java

设置视频帧色彩空间

传入参数

参数名类型说明
colorSpaceColorSpace视频帧色彩空间,参看 ColorSpace

setExternalDataInfo
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setExternalDataInfo(
    ByteBuffer externalDataInfo)
java

设置 SEI 数据

传入参数

参数名类型说明
externalDataInfoByteBufferSEI 数据,如果设置的是一个 DirectBuffer,则不会发生拷贝,如果不是,则会发生一次拷贝

setSupplementaryInfo
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setSupplementaryInfo(
    ByteBuffer supplementaryInfo)
java

设置补充数据指针

传入参数

参数名类型说明
supplementaryInfoByteBuffer补充数据指针,如果设置的是一个 DirectBuffer,则不会发生拷贝,如果不是,则会发生一次拷贝

setTextureID
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setTextureID(
    int textureID)
java

设置视频帧的纹理 ID

传入参数

参数名类型说明
textureIDint纹理 ID

setTextureMatrix
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setTextureMatrix(
    float[] textureMatrix)
java

设置视频帧纹理矩阵

传入参数

参数名类型说明
textureMatrixfloat[]视频帧纹理矩阵

setEGLContext
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setEGLContext(
    EGLContext eglContext)
java

设置视频帧的 EGLContext

传入参数

参数名类型说明
eglContextEGLContext视频帧的 EGLContext

setReleaseCallback
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setReleaseCallback(
    Runnable releaseCallback)
java

设置视频帧的释放回调,当视频帧的引用计数归 0 时,会执行 releaseCallback

传入参数

参数名类型说明
releaseCallbackRunnable视频帧的释放回调

build
public VideoFrame com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.build()
java

获取到创建好的视频帧

返回值
创建好的视频帧,参看 VideoFrame

RTCRoomConfig
public class com.ss.bytertc.engine.RTCRoomConfig
java

房间参数配置

成员变量
类型名称
ChannelProfileprofile
booleanisAutoPublish
booleanisAutoSubscribeAudio
booleanisAutoSubscribeVideo
RemoteVideoConfigremoteVideoConfig
变量说明

profile
public ChannelProfile com.ss.bytertc.engine.RTCRoomConfig.profile;
java

房间模式,参看 ChannelProfile,默认为 CHANNEL_PROFILE_COMMUNICATION,进房后不可更改。

isAutoPublish
public boolean com.ss.bytertc.engine.RTCRoomConfig.isAutoPublish;
java

是否自动发布音视频流,默认为自动发布。

创建和加入多房间时,只能将其中一个房间设置为自动发布。

若调用 setUserVisibility 将自身可见性设为 false,无论是默认的自动发布流还是手动设置的自动发布流都不会进行发布,你需要将自身可见性设为 true 后方可发布。

isAutoSubscribeAudio
public boolean com.ss.bytertc.engine.RTCRoomConfig.isAutoSubscribeAudio;
java

是否自动订阅音频流,默认为自动订阅。

isAutoSubscribeVideo
public boolean com.ss.bytertc.engine.RTCRoomConfig.isAutoSubscribeVideo;
java

是否自动订阅主视频流,默认为自动订阅。

屏幕流始终自动订阅,不受该参数影响。

remoteVideoConfig
public RemoteVideoConfig com.ss.bytertc.engine.RTCRoomConfig.remoteVideoConfig = null;
java

远端视频流参数,参看 RemoteVideoConfig

SubscribeConfig
public class com.ss.bytertc.engine.SubscribeConfig
java

选择订阅配置

成员变量
类型名称
booleanisScreen
booleansubVideo
booleansubAudio
intsub_width
intsub_height
intframerate
成员函数
返回名称
SubscribeConfigSubscribeConfig
变量说明

isScreen
public boolean com.ss.bytertc.engine.SubscribeConfig.isScreen;
java

是否是屏幕流

subVideo
public boolean com.ss.bytertc.engine.SubscribeConfig.subVideo;
java

是否订阅视频

subAudio
public boolean com.ss.bytertc.engine.SubscribeConfig.subAudio;
java

是否订阅音频

sub_width
public int com.ss.bytertc.engine.SubscribeConfig.sub_width = 0;
java

视频宽度,单位:px

sub_height
public int com.ss.bytertc.engine.SubscribeConfig.sub_height = 0;
java

视频高度,单位:px

framerate
public int com.ss.bytertc.engine.SubscribeConfig.framerate = 0;
java

期望订阅的最高帧率,单位:fps,默认值为 0,设为大于 0 的值时开始生效。

当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。

仅码流支持 SVC 分级编码特性时方可生效。

函数说明

SubscribeConfig
public com.ss.bytertc.engine.SubscribeConfig.SubscribeConfig(
    boolean isScreen,
    boolean subVideo,
    boolean subAudio,
    int videoIndex,
    int svcLayer,
    int sub_width,
    int sub_height,
    int sub_video_index)
java
SVCLayer
public enum com.ss.bytertc.engine.SubscribeConfig.SVCLayer
java

时域分层订阅层级

枚举值
类型说明
SVCLayerDefault(0)不指定分层(默认值)
SVCLayerBase(1)T0层
SVCLayerMain(2)T0+T1层
SVCLayerHigh(3)T0+T1+T2层
SubscribeState
public enum com.ss.bytertc.engine.SubscribeState
java

订阅媒体流状态

枚举值
类型说明
SUBSCRIBE_STATE_SUCCESS订阅/取消订阅流成功
SUBSCRIBE_STATE_FAILED_NOT_IN_ROOM订阅/取消订阅流失败,本地用户未在房间中
SUBSCRIBE_STATE_FAILED_STREAM_NOT_FOUND订阅/取消订阅流失败,房间内未找到指定的音视频流
SUBSCRIBE_STATE_FAILED_SIGNAL订阅/取消订阅流失败,信令错误,请重试
SubscribeVideoConfig
public class com.ss.bytertc.engine.SubscribeVideoConfig
java

视频订阅配置信息

成员函数
返回名称
SubscribeVideoConfigSubscribeVideoConfig
函数说明

SubscribeVideoConfig
public com.ss.bytertc.engine.SubscribeVideoConfig.SubscribeVideoConfig(
    int videoIndex,
    int priority)
java

视频订阅配置信息

传入参数

参数名类型说明
videoIndexint订阅的视频流分辨率下标。
通过此参数指定希望订阅的流。在此之前,远端用户已经通过调用 setVideoEncoderConfig 方法,启动发布多路不同分辨率的视频流。编号 0 至 3代表流质量从高至低。
默认值为 0,即订阅第一路流。
如果不想更改之前的设置,可以输入 -1。
priorityint远端用户优先级,参看 RemoteUserPriority,默认值为 0。
SysStats
public class com.ss.bytertc.engine.SysStats
java

CPU 和内存统计信息

成员变量
类型名称
intcpu_cores
doublecpu_app_usage
doublecpu_total_usage
doublememory_usage
longfull_memory
longtotal_memory_usage
longfree_memory
doublememory_ratio
doubletotal_memory_ratio
变量说明

cpu_cores
public int com.ss.bytertc.engine.SysStats.cpu_cores;
java

设备的 CPU 核数

cpu_app_usage
public double com.ss.bytertc.engine.SysStats.cpu_app_usage;
java

应用的 CPU 使用率,取值范围为 [0, 1]。

cpu_total_usage
public double com.ss.bytertc.engine.SysStats.cpu_total_usage;
java

系统的 CPU 使用率,取值范围为 [0, 1]。

memory_usage
public double com.ss.bytertc.engine.SysStats.memory_usage;
java

应用的内存占用大小(单位 MB)

full_memory
public long com.ss.bytertc.engine.SysStats.full_memory;
java

设备的内存大小 单位:MB

total_memory_usage
public long com.ss.bytertc.engine.SysStats.total_memory_usage;
java

系统已使用内存 MB

free_memory
public long com.ss.bytertc.engine.SysStats.free_memory;
java

系统当前空闲内存(MB)

memory_ratio
public double com.ss.bytertc.engine.SysStats.memory_ratio;
java

当前应用的内存使用率(单位 %)

total_memory_ratio
public double com.ss.bytertc.engine.SysStats.total_memory_ratio;
java

系统内存使用率(单位 %)

UserInfo
public class com.ss.bytertc.engine.UserInfo
java

用户信息

成员函数
返回名称
UserInfoUserInfo
函数说明

UserInfo
public com.ss.bytertc.engine.UserInfo.UserInfo(
    String uid,
    String extraInfo)
java

用户信息

传入参数

参数名类型说明
uidString用户 ID。该字符串符合正则表达式:[a-zA-Z0-9_@\-]{1,128}。
extraInfoString用户的额外信息,最大长度为 200 字节。会在 onUserJoined 中回调给远端用户。
VideoCanvas
public class com.ss.bytertc.engine.VideoCanvas
java

视频帧渲染设置

成员变量
类型名称
intRENDER_MODE_HIDDEN
intRENDER_MODE_FIT
intRENDER_MODE_Fill
ViewrenderView
intrenderMode
StringroomId
Stringuid
StringstreamId
booleanisScreen
intbackground_color
变量说明

RENDER_MODE_HIDDEN
public static final int com.ss.bytertc.engine.VideoCanvas.RENDER_MODE_HIDDEN = 1;
java

视窗填满优先。

视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。

缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长大于等于视窗对应边长。

RENDER_MODE_FIT
public static final int com.ss.bytertc.engine.VideoCanvas.RENDER_MODE_FIT = 2;
java

视频帧内容全部显示优先。

视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将填充 background_color。

缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长小于等于视窗对应边长。

RENDER_MODE_Fill
public static final int com.ss.bytertc.engine.VideoCanvas.RENDER_MODE_Fill = 3;
java

视频帧自适应画布

视频帧非等比缩放,直至画布被填满。在此过程中,视频帧的长宽比例可能会发生变化。

renderView
public View com.ss.bytertc.engine.VideoCanvas.renderView;
java

需要渲染的视图

renderMode
public int com.ss.bytertc.engine.VideoCanvas.renderMode;
java

渲染模式:可选 RENDER_MODE_HIDDEN, RENDER_MODE_FIT 和 RENDER_MODE_Fill。

roomId
public String com.ss.bytertc.engine.VideoCanvas.roomId;
java

房间 ID,必填。

uid
public String com.ss.bytertc.engine.VideoCanvas.uid;
java

用户 ID

streamId
public String com.ss.bytertc.engine.VideoCanvas.streamId;
java

视图对应的公共流ID

isScreen
public boolean com.ss.bytertc.engine.VideoCanvas.isScreen;
java

是否是屏幕流

background_color
public int com.ss.bytertc.engine.VideoCanvas.background_color;
java

用于填充画布空白部分的背景颜色。取值范围是 [0x0000000, 0xFFFFFFFF]。默认值是 0x00000000。其中,透明度设置无效。

AudioPlayType
public enum com.ss.bytertc.ktv.data.AudioPlayType
java

音乐播放类型。

枚举值
类型说明
AUDIO_PLAY_TYPE_LOCAL(0)仅本地播放。
AUDIO_PLAY_TYPE_REMOTE(1)仅远端播放。
AUDIO_PLAY_TYPE_LOCAL_AND_REMOTE(2)本地、远端同时播放。
AudioTrackType
public enum com.ss.bytertc.ktv.data.AudioTrackType
java

原唱伴唱类型。

枚举值
类型说明
AUDIO_TRACK_TYPE_ORIGINAL(1)播放原唱。
AUDIO_TRACK_TYPE_ACCOMPANY(2)播放伴唱。
DownloadFileType
public enum com.ss.bytertc.ktv.data.DownloadFileType
java

下载文件类型。

枚举值
类型说明
DOWNLOAD_FILE_TYPE_MUSIC(1)音频文件。
DOWNLOAD_FILE_TYPE_KRC(2)KRC 歌词文件。
DOWNLOAD_FILE_TYPE_LRC(3)LRC 歌词文件。
DOWNLOAD_FILE_TYPE_MIDI(4)MIDI 文件。
DownloadLyricType
public enum com.ss.bytertc.ktv.data.DownloadLyricType
java

歌词文件类型。

枚举值
类型说明
DOWNLOAD_LYRIC_TYPE_KRC(0)KRC 歌词文件。
DOWNLOAD_LYRIC_TYPE_LRC(1)LRC 歌词文件。
DownloadResult
public class com.ss.bytertc.ktv.data.DownloadResult
java

歌曲下载信息。

成员变量
类型名称
StringmusicId
DownloadFileTypefileType
StringfilePath
变量说明

musicId
public String com.ss.bytertc.ktv.data.DownloadResult.musicId;
java

音乐 ID。

fileType
public DownloadFileType com.ss.bytertc.ktv.data.DownloadResult.fileType;
java

下载文件类型,参看 DownloadFileType。

filePath
public String com.ss.bytertc.ktv.data.DownloadResult.filePath;
java

文件存放路径。

HotMusicInfo
public class com.ss.bytertc.ktv.data.HotMusicInfo
java

热榜歌曲数据。

成员变量
类型名称
MusicHotTypehotType
StringhotName
Music[]musics
变量说明

hotType
public MusicHotType com.ss.bytertc.ktv.data.HotMusicInfo.hotType;
java

热榜类别,参看 MusicHotType。多个热榜类别可以按位或组合。

hotName
public String com.ss.bytertc.ktv.data.HotMusicInfo.hotName;
java

热榜名称。

musics
public Music[] com.ss.bytertc.ktv.data.HotMusicInfo.musics;
java

歌曲数据,参看 Music。

LyricStatus
public enum com.ss.bytertc.ktv.data.LyricStatus
java

歌词格式类型。

枚举值
类型说明
LYRIC_STATUS_NONE(0)无歌词。
LYRIC_STATUS_KRC(1)KRC 歌词。
LYRIC_STATUS_LRC(2)LRC 歌词。
LYRIC_STATUS_KRC_AND_LRC(4)KRC 歌词和 LRC 歌词均有。
Music
public class com.ss.bytertc.ktv.data.Music
java

歌曲数据。

成员变量
类型名称
StringmusicId
StringmusicName
Stringsinger
StringvendorId
StringvendorName
longupdateTimestamp
StringposterUrl
LyricStatuslyricStatus
intduration
booleanenableScore
intclimaxStartTime
intclimaxEndTime
变量说明

musicId
public String com.ss.bytertc.ktv.data.Music.musicId;
java

音乐 ID。

musicName
public String com.ss.bytertc.ktv.data.Music.musicName;
java

音乐名称。

singer
public String com.ss.bytertc.ktv.data.Music.singer;
java

歌手。

vendorId
public String com.ss.bytertc.ktv.data.Music.vendorId;
java

版权商 ID。

vendorName
public String com.ss.bytertc.ktv.data.Music.vendorName;
java

版权商名称。

updateTimestamp
public long com.ss.bytertc.ktv.data.Music.updateTimestamp;
java

最新更新时间戳,单位为毫秒。

posterUrl
public String com.ss.bytertc.ktv.data.Music.posterUrl;
java

封面地址。

lyricStatus
public LyricStatus com.ss.bytertc.ktv.data.Music.lyricStatus;
java

歌词格式类型,参看 LyricStatus。

duration
public int com.ss.bytertc.ktv.data.Music.duration;
java

歌曲长度,单位为毫秒。

enableScore
public boolean com.ss.bytertc.ktv.data.Music.enableScore;
java

歌曲是否支持打分。

climaxStartTime
public int com.ss.bytertc.ktv.data.Music.climaxStartTime;
java

歌曲高潮片段开始时间,单位为毫秒。

climaxEndTime
public int com.ss.bytertc.ktv.data.Music.climaxEndTime;
java

歌曲高潮片段停止时间,单位为毫秒。

MusicFilterType
public enum com.ss.bytertc.ktv.data.MusicFilterType
java

歌曲过滤方式。

枚举值
类型说明
MUSIC_FILTER_TYPE_NONE(0)不过滤。
MUSIC_FILTER_TYPE_WITHOUT_LYRIC(1<<0)过滤没有歌词的歌曲。
MUSIC_FILTER_TYPE_UNSUPPORTED_SCORE(1<<1)过滤不支持打分的歌曲。
MUSIC_FILTER_TYPE_UNSUPPORTED_ACCOMPANY(1<<2)过滤不支持伴唱切换的歌曲。
MUSIC_FILTER_TYPE_UNSUPPORTED_CLIMAX(1<<3)过滤没有高潮片段的歌曲。
MusicHotType
public enum com.ss.bytertc.ktv.data.MusicHotType
java

热榜类别。

枚举值
类型说明
MUSIC_HOT_TYPE_CONTENT_CENTER(1 << 0)火山内容中心热歌榜。
MUSIC_HOT_TYPE_PROJECT(1 << 1)项目热歌榜。
PlayState
public enum com.ss.bytertc.ktv.data.PlayState
java

音乐播放状态。

枚举值
类型说明
PLAY_STATE_PLAYING(1)播放中。
PLAY_STATE_PAUSED(2)暂停中。
PLAY_STATE_STOPPED(3)已停止。
PLAY_STATE_FAILED(4)播放失败。
PLAY_STATE_FINISHED(5)播放结束。