NetworkTimeInfo
public class com.ss.bytertc.engine.NetworkTimeInfo
java

网络时间信息

成员变量
类型名称
longtimestamp
变量说明

timestamp
public long com.ss.bytertc.engine.NetworkTimeInfo.timestamp;
java

网络时间,单位:ms

RemoteVideoRenderConfig
public class com.ss.bytertc.engine.RemoteVideoRenderConfig
java

远端视频帧渲染设置

成员变量
类型名称
intrenderMode
intbackgroundColor
VideoRotationrenderRotation
变量说明

renderMode
public int com.ss.bytertc.engine.RemoteVideoRenderConfig.renderMode;
java

渲染模式。

backgroundColor
public int com.ss.bytertc.engine.RemoteVideoRenderConfig.backgroundColor;
java

用于填充画布空白部分的背景颜色。取值范围是 [0x00000000, 0xFFFFFFFF]。默认值是 0x00000000。其中,透明度设置无效。

renderRotation
public VideoRotation com.ss.bytertc.engine.RemoteVideoRenderConfig.renderRotation;
java

视频帧旋转角度。参看 VideoRotation。默认为 0 度,即不做旋转处理。

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

ScreenVideoEncoderConfig
public class com.ss.bytertc.engine.ScreenVideoEncoderConfig
java

屏幕流编码配置。参考 设置视频发布参数。

成员变量
类型名称
intwidth
intheight
intframeRate
intmaxBitrate
intminBitrate
EncoderPreferenceencodePreference
变量说明

width
public int com.ss.bytertc.engine.ScreenVideoEncoderConfig.width;
java

屏幕流宽度,单位:px。

height
public int com.ss.bytertc.engine.ScreenVideoEncoderConfig.height;
java

屏幕流高度,单位:px。

frameRate
public int com.ss.bytertc.engine.ScreenVideoEncoderConfig.frameRate;
java

屏幕流帧率,单位:fps。

maxBitrate
public int com.ss.bytertc.engine.ScreenVideoEncoderConfig.maxBitrate = -1;
java

最大编码码率,使用 SDK 内部采集时可选设置,自定义采集时必须设置,单位:kbps。
设为 -1 即适配码率模式,系统将根据输入的分辨率和帧率自动计算适用的码率。
设为 0 则不对视频流进行编码发送。
3.44 及以上版本,内部采集时默认值为 -1,3.44 以前版本无默认值,需手动设置。

minBitrate
public int com.ss.bytertc.engine.ScreenVideoEncoderConfig.minBitrate = 0;
java

最小编码码率,使用 SDK 内部采集时可选设置,自定义采集时必须设置,单位:kbps。
最小编码码率必须小于或等于最大编码,否则不对视频流进行编码发送。

encodePreference
public EncoderPreference com.ss.bytertc.engine.ScreenVideoEncoderConfig.encodePreference =
java

屏幕流编码模式。参看 EncoderPreference。

EncoderPreference
public enum com.ss.bytertc.engine.ScreenVideoEncoderConfig.EncoderPreference
java

屏幕流编码模式。默认采用流畅模式。

枚举值
类型说明
MaintainFramerate(1)流畅模式,优先保障帧率。适用于共享游戏、视频等动态画面。
MaintainQuality(2)清晰模式,优先保障分辨率。适用于共享PPT、文档、图片等静态画面。
SubscribeConfig
public class com.ss.bytertc.engine.SubscribeConfig
java

选择订阅配置

成员变量
类型名称
booleanisScreen
booleansubVideo
booleansubAudio
intvideoIndex
intsubWidth
intsubHeight
intframerate
变量说明

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

是否订阅音频

videoIndex
public int com.ss.bytertc.engine.SubscribeConfig.videoIndex;
java

订阅的视频流分辨率下标。

用户可以在一路流中发布多个不同分辨率的视频。因此订阅流时,需要指定订阅的具体分辨率。此参数即用于指定需订阅的分辨率的下标,默认值为 0 。

subWidth
public int com.ss.bytertc.engine.SubscribeConfig.subWidth = 0;
java

视频宽度,单位:px

subHeight
public int com.ss.bytertc.engine.SubscribeConfig.subHeight = 0;
java

视频高度,单位:px

framerate
public int com.ss.bytertc.engine.SubscribeConfig.framerate = 0;
java

期望订阅的最高帧率,单位:fps,默认值为 0,设为大于 0 的值时开始生效。

当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。

仅码流支持 SVC 分级编码特性时方可生效。

SVCLayer
public enum com.ss.bytertc.engine.SubscribeConfig.SVCLayer
java

时域分层订阅层级

枚举值
类型说明
DEFAULT(0)不指定分层(默认值)
BASE(1)T0层
MAIN(2)T0+T1层
HIGH(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 和内存统计信息

成员变量
类型名称
intcpuCores
doublecpuAppUsage
doublecpuTotalUsage
doublememoryUsage
longfullMemory
longtotalMemoryUsage
longfreeMemory
doublememoryRatio
doubletotalMemoryRatio
变量说明

cpuCores
public int com.ss.bytertc.engine.SysStats.cpuCores;
java

设备的 CPU 核数

cpuAppUsage
public double com.ss.bytertc.engine.SysStats.cpuAppUsage;
java

应用的 CPU 使用率,取值范围为 [0, 1]。

cpuTotalUsage
public double com.ss.bytertc.engine.SysStats.cpuTotalUsage;
java

系统的 CPU 使用率,取值范围为 [0, 1]。

memoryUsage
public double com.ss.bytertc.engine.SysStats.memoryUsage;
java

应用的内存占用大小(单位 MB)

fullMemory
public long com.ss.bytertc.engine.SysStats.fullMemory;
java

设备的内存大小 单位:MB

totalMemoryUsage
public long com.ss.bytertc.engine.SysStats.totalMemoryUsage;
java

系统已使用内存 MB

freeMemory
public long com.ss.bytertc.engine.SysStats.freeMemory;
java

系统当前空闲内存(MB)

memoryRatio
public double com.ss.bytertc.engine.SysStats.memoryRatio;
java

当前应用的内存使用率(单位 %)

totalMemoryRatio
public double com.ss.bytertc.engine.SysStats.totalMemoryRatio;
java

系统内存使用率(单位 %)

UserInfo
public class com.ss.bytertc.engine.UserInfo
java

用户信息

成员变量
类型名称
Stringuid
StringextraInfo
成员函数
返回名称
UserInfoUserInfo
变量说明

uid
public String com.ss.bytertc.engine.UserInfo.uid;
java

用户 ID。该字符串符合正则表达式:[a-zA-Z0-9_@\-\.]{1,128}。

你需要自行设置或管理 uid,并保证同一房间内每个 uid 的唯一性。

extraInfo
public String com.ss.bytertc.engine.UserInfo.extraInfo;
java

用户的额外信息,最大长度为 200 字节。会在 onUserJoined 中回调给远端用户。

函数说明

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
intbackgroundColor
VideoRotationrenderRotation
变量说明

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(1), RENDER_MODE_FIT(2) 和 RENDER_MODE_FILL(3)。默认值为 RENDER_MODE_HIDDEN(1)。

backgroundColor
public int com.ss.bytertc.engine.VideoCanvas.backgroundColor;
java

用于填充画布空白部分的背景颜色。取值范围是 [0x00000000, 0xFFFFFFFF]。默认值是 0x00000000。其中,透明度设置无效。

renderRotation
public VideoRotation com.ss.bytertc.engine.VideoCanvas.renderRotation;
java

视频帧旋转角度。参看 VideoRotation。默认为 0 度,即不做旋转处理。

该设置仅对远端视频有效,对本地视频设置不生效。

VideoEncoderConfig
public class com.ss.bytertc.engine.VideoEncoderConfig
java

视频流参数描述

成员变量
类型名称
intwidth
intheight
intframeRate
intmaxBitrate
intminBitrate
EncoderPreferenceencodePreference
变量说明

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 以前版本无默认值,需手动设置。

minBitrate
public int com.ss.bytertc.engine.VideoEncoderConfig.minBitrate = 0;
java

视频最小编码码率, 单位 kbps。编码码率不会低于 minBitrate。

默认值为 0。

范围:[0, maxBitrate),当 maxBitrate < minBitrate 时,为适配码率模式。

以下情况,设置本参数无效:

encodePreference
public EncoderPreference com.ss.bytertc.engine.VideoEncoderConfig.encodePreference =
java

编码策略偏好,默认为帧率优先。参看 EncoderPreference。

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)无偏好。不降低帧率和分辨率。
MAINTAIN_FRAMERATE(1)(默认值)帧率优先。分辨率不变。
MAINTAIN_QUALITY(2)分辨率优先。
BALANCE(3)平衡帧率与分辨率。
AudioAlignmentMode
public enum com.ss.bytertc.engine.data.AudioAlignmentMode
java

远端音频流精准对齐模式

枚举值
类型说明
AUDIO_ALIGNMENT_MODE_OFF(0)不对齐
AUDIO_ALIGNMENT_MODE_AUDIOMIXING(1)远端音频流都对齐伴奏进度同步播放
AudioChannel
public enum com.ss.bytertc.engine.data.AudioChannel
java

音频声道。

枚举值
类型说明
AUDIO_CHANNEL_AUTO(-1)默认设置。双声道。
AUDIO_CHANNEL_MONO(1)单声道
AUDIO_CHANNEL_STEREO(2)双声道
AudioEffectPlayerConfig
public class com.ss.bytertc.engine.data.AudioEffectPlayerConfig
java

混音配置

成员变量
类型名称
AudioMixingTypetype
intplayCount
intstartPos
intpitch
变量说明

type
public AudioMixingType com.ss.bytertc.engine.data.AudioEffectPlayerConfig.type = AudioMixingType.AUDIO_MIXING_TYPE_PLAYOUT_AND_PUBLISH;
java

混音播放类型,详见 AudioMixingType

playCount
public int com.ss.bytertc.engine.data.AudioEffectPlayerConfig.playCount = 1;
java

混音播放次数

startPos
public int com.ss.bytertc.engine.data.AudioEffectPlayerConfig.startPos = 0;
java

混音起始位置。默认值为 0,单位为毫秒。

pitch
public int com.ss.bytertc.engine.data.AudioEffectPlayerConfig.pitch = 0;
java

与音乐文件原始音调相比的升高/降低值,取值范围为 [-12,12],默认值为 0。每相邻两个值的音高距离相差半音,正值表示升调,负值表示降调。

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

音频参数格式

成员变量
类型名称
AudioSampleRatesampleRate
AudioChannelchannel
intsamplesPerCall
成员函数
返回名称
AudioFormatAudioFormat
变量说明

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

音频采样率,参看 AudioSampleRate。

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

音频声道,参看 AudioChannel。

samplesPerCall
public int com.ss.bytertc.engine.data.AudioFormat.samplesPerCall;
java

单次回调的音频帧中包含的采样点数。默认值为 0,此时,采样点数取最小值。
最小值为回调间隔是 0.01s 时的值,即 sampleRate 最大值是 2048`。超出取值范围时,采样点数取默认值。
该参数仅在设置读写回调时生效,调用 enableAudioFrameCallback 开启只读模式回调时设置该参数不生效。

函数说明

AudioFormat
public com.ss.bytertc.engine.data.AudioFormat.AudioFormat(
    AudioSampleRate sampleRate,
    AudioChannel channel,
    int samplesPerCall)
java
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)订阅的远端每个用户混音前的音频数据回调
AudioFrameSource
public enum com.ss.bytertc.engine.data.AudioFrameSource
java

音频文件录制内容来源。

枚举值
类型说明
AUDIO_FRAME_SOURCE_MIC(0)本地麦克风采集的音频数据。
AUDIO_FRAME_SOURCE_PLAYBACK(1)远端所有用户混音后的数据
AUDIO_FRAME_SOURCE_MIXED(2)本地麦克风和所有远端用户音频流的混音后的数据
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

获取当前值

返回值
当前值

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

混音配置

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

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 回调,默认不回调。

syncProgressToRecordFrame
public boolean com.ss.bytertc.engine.data.AudioMixingConfig.syncProgressToRecordFrame = false;
java

在采集音频数据时,附带本地混音文件播放进度的时间戳。启用此功能会提升远端人声和音频文件混音播放时的同步效果。

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)软件耳返音频。
AUDIO_FRAME_PROCESSOR_SCREEN(4)屏幕共享音频。
AudioPropertiesConfig
public class com.ss.bytertc.engine.data.AudioPropertiesConfig
java

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

成员变量
类型名称
intinterval
booleanenableSpectrum
booleanenableVad
AudioReportModelocalMainReportMode
AudioPropertiesModeaudioReportMode
floatsmooth
booleanenableVoicePitch
变量说明

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

信息提示间隔,单位:ms

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

是否开启音频频谱检测

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

是否开启人声检测 (VAD)

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

音量回调模式。详见 AudioReportMode。

audioReportMode
public AudioPropertiesMode com.ss.bytertc.engine.data.AudioPropertiesConfig.audioReportMode = AudioPropertiesMode.AUDIO_PROPERTIES_MODE_MICRO/;"
java

onLocalAudioPropertiesReport 中包含音频数据的范围。参看 AudioPropertiesMode。
默认仅包含本地麦克风采集的音频数据和本地屏幕音频采集数据,不包含本地混音音频数据。

smooth
public float com.ss.bytertc.engine.data.AudioPropertiesConfig.smooth = 1.0f;
java

适用于音频属性信息提示的平滑系数。取值范围是 (0.0, 1.0]。

默认值为 1.0,不开启平滑效果;值越小,提示音量平滑效果越明显。如果要开启平滑效果,可以设置为 0.3。

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

是否回调本地用户的人声基频。

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

音频属性信息

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

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)结果

voicePitch
public double com.ss.bytertc.engine.data.AudioPropertiesInfo.voicePitch = 0;
java

本地用户的人声基频,单位为赫兹。

同时满足以下两个条件时,返回的值为本地用户的人声基频:

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

onLocalAudioPropertiesReport 中包含的音频信息的范围。

枚举值
类型说明
AUDIO_PROPERTIES_MODE_MICROPHONE(0)仅包含本地麦克风采集的音频数据和本地屏幕音频采集数据。
AUDIO_PROPERTIES_MODE_AUDIOMIXING(1)包含以下信息:
+ 本地麦克风采集的音频数据和本地屏幕音频采集数据;
+ 本地混音的音频数据。
静态函数
返回名称
static AudioPropertiesModefromId
函数说明

fromId
public static AudioPropertiesMode com.ss.bytertc.engine.data.AudioPropertiesMode.fromId(
    int id)
java
AudioQuality
public enum com.ss.bytertc.engine.data.AudioQuality
java

音频质量。

枚举值
类型说明
AUDIO_QUALITY_LOW(0)低音质
AUDIO_QUALITY_MEDIUM(1)中音质
AUDIO_QUALITY_HIGH(2)高音质
AUDIO_QUALITY_ULTRA_HIGH(3)超高音质
AudioRecordingConfig
public class com.ss.bytertc.engine.data.AudioRecordingConfig
java

音频录制配置

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

absoluteFileName
public String com.ss.bytertc.engine.data.AudioRecordingConfig.absoluteFileName;
java

录制文件路径。一个有读写权限的绝对路径,包含文件名和文件后缀。
录制文件的格式仅支持 .aac 和 .wav。

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

录音采样率。参看 AudioSampleRate。

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

录音音频声道。参看 AudioChannel。
如果录制时设置的的音频声道数与采集时的音频声道数不同:

frameSource
public AudioFrameSource com.ss.bytertc.engine.data.AudioRecordingConfig.frameSource;
java

录音内容来源,参看 AudioFrameSource。
默认为 AUDIO_FRAME_SOURCE_MIXED(2)。

quality
public AudioQuality com.ss.bytertc.engine.data.AudioRecordingConfig.quality;
java

录音音质。仅在录制文件格式为 .aac 时可以设置。参看 AudioQuality。
采样率为 32kHz 时,不同音质录制文件(时长为 10min)的大小分别是:

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_DEFAULT(-1)默认设备。通过 setDefaultAudioRoute 设置的音频路由。
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

获取当前值

返回值
当前值

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

音频采样率,单位为 Hz。

枚举值
类型说明
AUDIO_SAMPLE_RATE_AUTO(-1)默认设置。48000Hz。
AUDIO_SAMPLE_RATE_8000(8000)8000Hz
AUDIO_SAMPLE_RATE_16000(16000)16000Hz
AUDIO_SAMPLE_RATE_32000(32000)32000Hz
AUDIO_SAMPLE_RATE_44100(44100)44100Hz
AUDIO_SAMPLE_RATE_48000(48000)48000Hz
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_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

视频帧色彩空间

枚举值
类型说明
UNKNOWN(0)色彩空间未知
BT601_LIMITED_RANGE(1)BT.601数字编码标准,色彩空间[16-235]
BT601_FULL_RANGE(2)BT.601数字编码标准,颜色空间[0-255]
BT709_LIMITED_RANGE(3)BT.7091数字编码标准,颜色空间[16-235]
BT709_FULL_RANGE(4)BT.7091数字编码标准,颜色空间[0-255]
DataMessageSourceType
public enum com.ss.bytertc.engine.data.DataMessageSourceType
java

数据消息来源

枚举值
类型说明
DATA_MESSAGE_SOURCE_TYPE_DEFAULT(0)通过客户端或服务端的插入的自定义消息。
DATA_MESSAGE_SOURCE_TYPE_SYSTEM(1)系统数据,包含音量指示信息。
EarMonitorMode
public enum com.ss.bytertc.engine.data.EarMonitorMode
java

是否开启耳返功能。

枚举值
类型说明
EAR_MONITOR_MODE_OFF(0)关闭(默认设置)
EAR_MONITOR_MODE_ON(1)开启
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
EngineConfig
public class com.ss.bytertc.engine.data.EngineConfig
java

引擎配置

成员变量
类型名称
intENGINE_CONFIG_VALID
intENGINE_CONFIG_INVALID_APP_ID
intENGINE_CONFIG_INVALID_NATIVE_LIB_PATH
StringappID
ObjecteglContext
StringnativeLoadPath
JSONObjectparameters
变量说明

ENGINE_CONFIG_VALID
public static final int com.ss.bytertc.engine.data.EngineConfig.ENGINE_CONFIG_VALID = 0;
java

EngineConfig 有效

ENGINE_CONFIG_INVALID_APP_ID
public static final int com.ss.bytertc.engine.data.EngineConfig.ENGINE_CONFIG_INVALID_APP_ID = 1;
java

EngineConfig 无效,AppID 无效

ENGINE_CONFIG_INVALID_NATIVE_LIB_PATH
public static final int com.ss.bytertc.engine.data.EngineConfig.ENGINE_CONFIG_INVALID_NATIVE_LIB_PATH = 2;
java

EngineConfig 无效,nativeLoadPath 无效

appID
public String com.ss.bytertc.engine.data.EngineConfig.appID;
java

必填,每个应用的唯一标识符,由 RTC 控制台随机生成的。不同的 AppId 生成的实例在 RTC 中进行音视频通话完全独立,无法互通。

eglContext
public Object com.ss.bytertc.engine.data.EngineConfig.eglContext = null;
java

选填,如果需要支持外部纹理硬编码,则需要以 JObject 方式传入 eglContext

nativeLoadPath
public String com.ss.bytertc.engine.data.EngineConfig.nativeLoadPath = null;
java

选填,so文件加载地址,如果需要插件库动态加载,可以通过该字段设置动态库地址

parameters
public JSONObject com.ss.bytertc.engine.data.EngineConfig.parameters = null;
java

选填,私有参数。如需使用请联系技术支持人员。

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

基础美颜模式。

枚举值
类型说明
WHITE(0)美白。
SMOOTH(1)磨皮。
SHARPEN(2)锐化。
CLEAR(3)清晰,需集成 v4.4.2+ 版本的特效 SDK。
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。

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

本地音频流状态改变时的错误码。

枚举值
类型说明
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

获取当前值

返回值
当前值

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

本地日志输出等级。

枚举值
类型说明
INFO(0)信息级别。
WARNING(1)(默认值)警告级别。
ERROR(2)错误级别。
NONE(3)关闭日志。
MediaInputType
public enum com.ss.bytertc.engine.data.MediaInputType
java

视频输入类型

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

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

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

混音配置

成员变量
类型名称
AudioMixingTypetype
intplayCount
intstartPos
longcallbackOnProgressInterval
booleansyncProgressToRecordFrame
booleanautoPlay
变量说明

type
public AudioMixingType com.ss.bytertc.engine.data.MediaPlayerConfig.type = AudioMixingType.AUDIO_MIXING_TYPE_PLAYOUT_AND_PUBLISH;
java

混音播放类型,详见 AudioMixingType

playCount
public int com.ss.bytertc.engine.data.MediaPlayerConfig.playCount = 1;
java

混音播放次数

startPos
public int com.ss.bytertc.engine.data.MediaPlayerConfig.startPos = 0;
java

混音起始位置。默认值为 0,单位为毫秒。

callbackOnProgressInterval
public long com.ss.bytertc.engine.data.MediaPlayerConfig.callbackOnProgressInterval = 0;
java

设置音频文件混音时,收到 onMediaPlayerPlayingProgress 的间隔。单位毫秒。

syncProgressToRecordFrame
public boolean com.ss.bytertc.engine.data.MediaPlayerConfig.syncProgressToRecordFrame = false;
java

在采集音频数据时,附带本地混音文件播放进度的时间戳。启用此功能会提升远端人声和音频文件混音播放时的同步效果。

autoPlay
public boolean com.ss.bytertc.engine.data.MediaPlayerConfig.autoPlay = true;
java

是否自动播放。如果不自动播放,调用 start 播放音乐文件。

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

音频源

成员变量
类型名称
MediaPlayerCustomSourceModemode
MediaPlayerCustomSourceStreamTypetype
变量说明

mode
public  MediaPlayerCustomSourceMode com.ss.bytertc.engine.data.MediaPlayerCustomSource.mode = MediaPlayerCustomSourceMode.PUSH;
java

数据源模式,详见 MediaPlayerCustomSourceMode。

type
public  MediaPlayerCustomSourceStreamType com.ss.bytertc.engine.data.MediaPlayerCustomSource.type = MediaPlayerCustomSourceStreamType.RAW;
java

数据源类型,详见 MediaPlayerCustomSourceStreamType

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

自定义音频源模式

枚举值
类型说明
PUSH(0)当播放来自本地的 PCM 数据时,使用此选项。
PULL(1)当播放来自内存的音频数据时,使用此选项。
静态函数
返回名称
static MediaPlayerCustomSourceModefromId
函数说明

fromId
public static MediaPlayerCustomSourceMode com.ss.bytertc.engine.data.MediaPlayerCustomSourceMode.fromId(
    int id)
java
MediaPlayerCustomSourceSeekWhence
public enum com.ss.bytertc.engine.data.MediaPlayerCustomSourceSeekWhence
java

音频数据的起始读取位置。

枚举值
类型说明
SET(0)从音频数据的头开始读取,读取的实际偏移量为参数 offset 的值。
CUR(1)从音频数据的某一位置开始读取,读取的实际偏移量为音频数据当前的读取位置位置加上参数 offset 的值。
END(2)从音频数据的尾开始读取,读取的实际数据偏移量为用户传入的音频数据大小加上参数 offset 的值。
SIZE(3)返回音频数据的大小。
MediaPlayerCustomSourceStreamType
public enum com.ss.bytertc.engine.data.MediaPlayerCustomSourceStreamType
java

自定义音频流类型

枚举值
类型说明
RAW(0)当播放来自本地的 PCM 数据时,使用此选项。
ENCODED(1)当播放来自内存的音频数据时,使用此选项。
静态函数
返回名称
static MediaPlayerCustomSourceStreamTypefromId
函数说明

fromId
public static MediaPlayerCustomSourceStreamType com.ss.bytertc.engine.data.MediaPlayerCustomSourceStreamType.fromId(
    int id)
java
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 坐标

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

播放错误码。

枚举值
类型说明
OK(0)正常
FORMAT_NOT_SUPPORT(1)不支持此类型
INVALID_PATH(2)无效的播放路径
INVALID_STATE(3)未满足前序接口调用的要求。请查看具体接口文档。
INVALID_POSITION(4)设置播放位置出错。
INVALID_VOLUME(5)音量参数不合法。
INVALID_PITCH(6)音调参数设置不合法。
INVALID_AUDIO_TRACK_INDEX(7)音轨参数设置不合法。
INVALID_PLAYBACK_SPEED(8)播放速度参数设置不合法
INVALID_EFFECT_ID(9)音效 ID 异常。还未加载或播放文件,就调用其他 API。
PlayerState
public enum com.ss.bytertc.engine.data.PlayerState
java

播放状态。

枚举值
类型说明
IDLE(0)播放未启动
PRELOADED(1)已加载
OPENED(2)已打开
PLAYING(3)正在播放
PAUSED(4)播放已暂停
STOPPED(5)播放已停止/或结束
FAILED(6)播放失败
Position
public class com.ss.bytertc.engine.data.Position
java

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

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

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

x 坐标

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

y 坐标

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

z 坐标

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

用户在空间音频坐标系里的位置信息。

成员变量
类型名称
Positionposition
HumanOrientationorientation
变量说明

position
public Position com.ss.bytertc.engine.data.PositionInfo.position;
java

用户在空间音频坐标系里的位置,需自行建立空间直角坐标系。参看 Position。

orientation
public HumanOrientation com.ss.bytertc.engine.data.PositionInfo.orientation;
java

用户在空间音频坐标系里的三维朝向信息。三个向量需要两两垂直。参看 HumanOrientation。

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) 之间时,收听到的音量根据距离呈衰减效果。

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

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

本地录制参数配置

成员变量
类型名称
StringdirPath
RecordingFileTyperecordingFileType
变量说明

dirPath
public String com.ss.bytertc.engine.data.RecordingConfig.dirPath;
java

录制文件保存的绝对路径,需精确到文件夹,文件名由 RTC 自动生成。你需要确保对该路径具有读写权限。

recordingFileType
public RecordingFileType com.ss.bytertc.engine.data.RecordingConfig.recordingFileType = RecordingFileType.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

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

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

用户订阅的远端音频流状态。

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

+ 本地用户停止接收远端音频流,对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonLocalMuted

+ 远端用户停止发送音频流,对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonRemoteMuted

+ 远端用户离开房间,对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonRemoteOffline
REMOTE_AUDIO_STATE_STARTING(1)开始接收远端音频流首包。
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

远端音频流状态改变的原因。

枚举值
类型说明
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

获取当前值

返回值
当前值

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

远端流的镜像类型。

枚举值
类型说明
NONE(0)(默认值)远端视频渲染无镜像效果。
RENDER(1)远端视频渲染有镜像效果。
RemoteStreamKey
public class com.ss.bytertc.engine.data.RemoteStreamKey
java

远端流信息

成员变量
类型名称
StringroomId
StringuserId
StreamIndexstreamIndex
成员函数
返回名称
StringgetRoomId
StringgetUserId
StreamIndexgetStreamIndex
booleanhasNullProperty
变量说明

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

房间 ID

userId
public String com.ss.bytertc.engine.data.RemoteStreamKey.userId;
java

用户 ID

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

流属性,包括主流、屏幕流。参看 StreamIndex

函数说明

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

hasNullProperty
public boolean com.ss.bytertc.engine.data.RemoteStreamKey.hasNullProperty()
java

检查当前类中是否有为空的字段

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

远端视频帧信息

成员变量
类型名称
intwidth
intheight
intframerate
成员函数
返回名称
RemoteVideoConfigRemoteVideoConfig
变量说明

width
public int com.ss.bytertc.engine.data.RemoteVideoConfig.width = 0;
java

视频宽度,单位:px

height
public int com.ss.bytertc.engine.data.RemoteVideoConfig.height = 0;
java

视频高度,单位:px

framerate
public int com.ss.bytertc.engine.data.RemoteVideoConfig.framerate = 0;
java

期望订阅的最高帧率,单位:fps,默认值为 0 即满帧订阅,设为大于 0 的值时开始生效。

当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。

仅码流支持 SVC 分级编码特性时方可生效。

函数说明

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 分级编码特性时方可生效。
ReturnStatus
public enum com.ss.bytertc.engine.data.ReturnStatus
java

方法调用结果。

枚举值
类型说明
RETURN_STATUS_SUCCESS(0)成功。
RETURN_STATUS_FAILURE(-1)失败。
RETURN_STATUS_PARAMETER_ERR(-2)参数错误。
RETURN_STATUS_WRONG_STATE(-3)接口状态错误。
RETURN_STATUS_HAS_IN_ROOM(-4)失败,用户已在房间内。
RETURN_STATUS_HAS_IN_LOGIN(-5)失败,用户已登录。
RETURN_STATUS_HAS_IN_ECHO_TEST(-6)失败,用户已经在进行通话回路测试中。
RETURN_STATUS_NEITHER_VIDEO_NOR_AUDIO(-7)失败,音视频均未采集。
RETURN_STATUS_ROOMID_IN_USE(-8)失败,该 roomId 已被使用。
RETURN_STATUS_SCREEN_NOT_SUPPORT(-9)失败,屏幕流不支持。
RETURN_STATUS_NOT_SUPPORT(-10)失败,不支持该操作。
RETURN_STATUS_RESOURCE_OVERFLOW(-11)失败,资源已占用。
RETURN_STATUS_AUDIO_NO_FRAME(-101)失败,没有音频帧。
RETURN_STATUS_AUDIO_NOT_IMPLEMENTED(-102)失败,未实现。
RETURN_STATUS_AUDIO_NO_PERMISSION(-103)失败,采集设备无麦克风权限,尝试初始化设备失败。
RETURN_STATUS_AUDIO_DEVICE_NOT_EXISTS(-104)失败,设备不存在。当前没有设备或设备被移除时返回该值。
RETURN_STATUS_AUDIO_DEVICE_FORMAT_NOT_SUPPORT(-105)失败,设备音频格式不支持。
RETURN_STATUS_AUDIO_DEVICE_NO_DEVICE(-106)失败,系统无可用设备。
RETURN_STATUS_AUDIO_DEVICE_CAN_NOT_USE(-107)失败,当前设备不可用,需更换设备。
RETURN_STATUS_AUDIO_DEVICE_INIT_FAILED(-108)系统错误,设备初始化失败。
RETURN_STATUS_AUDIO_DEVICE_START_FAILED(-109)系统错误,设备开启失败。
RETURN_STATUS_NATIVE_IN_VALID(-201)失败。底层未初始化,engine 无效。
RETURN_STATUS_VIDEO_TIMESTAMP_WARNING(-202)警告。推送视频帧到 RTC SDK 时,相邻视频帧的时间戳差异应当和推帧操作的间隔相同。如果不同,会收到此警告。
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 鉴权
RTCLogConfig
public class com.ss.bytertc.engine.data.RTCLogConfig
java

本地日志参数。

成员变量
类型名称
StringlogPath
intlogFileSize
LocalLogLevellogLevel
StringlogFilenamePrefix
变量说明

logPath
public String com.ss.bytertc.engine.data.RTCLogConfig.logPath;
java

日志存储路径,必填。

logFileSize
public int com.ss.bytertc.engine.data.RTCLogConfig.logFileSize = 10;
java

日志文件最大占用的总空间,单位为 MB,选填。取值范围为 1~100 MB,默认值为 10 MB。
若 logFileSize < 1,取 1 MB。若 logFileSize > 100,取 100 MB。

其中,单个日志文件最大为 2 MB:

logLevel
public LocalLogLevel com.ss.bytertc.engine.data.RTCLogConfig.logLevel = LocalLogLevel.WARNING;
java

日志等级,参看 LocalLogLevel,默认为警告级别,选填。

logFilenamePrefix
public String com.ss.bytertc.engine.data.RTCLogConfig.logFilenamePrefix;
java

日志文件名前缀,选填。该字符串必须符合正则表达式:[a-zA-Z0-9_@-.]{1,128}。
最终的日志文件名为前缀 + "_" + 文件创建时间 + "_rtclog".log,如 logPrefix_2023-05-25_172324_rtclog.log。

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)采集音频和视频
SEICountPerFrame
public enum com.ss.bytertc.engine.data.SEICountPerFrame
java

SEI 发送模式。

枚举值
类型说明
SEI_COUNT_PER_FRAME_SINGLE(0)单发模式。即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 按队列逐帧发送。
SEI_COUNT_PER_FRAME_MULTI(1)多发模式。即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 随下个视频帧同时发送。
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

视频内容类型

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

视频降噪模式。

枚举值
类型说明
VIDEO_DENOISE_MODE_OFF(0)视频降噪关闭。
VIDEO_DENOISE_MODE_AUTO(1)视频降噪开启,由 ByteRTC 后台配置视频降噪算法。
VideoDenoiseModeChangedReason
public enum com.ss.bytertc.engine.data.VideoDenoiseModeChangedReason
java

视频降噪模式状态改变原因。

枚举值
类型说明
VIDEO_DENOISE_MODE_CHANGED_REASON_NULL(-1)未知原因导致视频降噪状态改变。
VIDEO_DENOISE_MODE_CHANGED_REASON_API_OFF(0)通过调用setVideoDenoiser 成功关闭视频降噪。
VIDEO_DENOISE_MODE_CHANGED_REASON_API_ON(1)通过调用setVideoDenoiser 成功开启视频降噪。
VIDEO_DENOISE_MODE_CHANGED_REASON_CONFIG_DISABLED(2)后台未配置视频降噪,视频降噪开启失败,请联系技术人员解决。
VIDEO_DENOISE_MODE_CHANGED_REASON_CONFIG_ENABLED(3)后台配置开启了视频降噪。
VIDEO_DENOISE_MODE_CHANGED_REASON_INTERNAL_EXCEPTION(4)由于内部发生了异常,视频降噪关闭。
VIDEO_DENOISE_MODE_CHANGED_REASON_DYNAMIC_CLOSE(5)当前设备性能过载,已动态关闭视频降噪模式。
VIDEO_DENOISE_MODE_CHANGED_REASON_DYNAMIC_OPEN(6)当前设备性能裕量充足,已动态开启视频降噪模式。
VIDEO_DENOISE_MODE_CHANGED_REASON_RESOLUTION(7)分辨率导致视频降噪状态发生改变。分辨率过高会导致性能消耗过大,从而导致视频降噪模式关闭。若希望继续使用视频降噪,可选择降低分辨率。
VideoFrameType
public enum com.ss.bytertc.engine.data.VideoFrameType
java

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

枚举值
类型说明
RAW_MEMORY(0)CPU Buffer
GL_TEXTURE(2)GL Texture
VideoFrameInfo
public class com.ss.bytertc.engine.data.VideoFrameInfo
java

视频帧信息

成员变量
类型名称
intwidth
intheight
VideoRotationrotation
变量说明

width
public int com.ss.bytertc.engine.data.VideoFrameInfo.width = 0;
java

宽(像素)

height
public int com.ss.bytertc.engine.data.VideoFrameInfo.height = 0;
java

高(像素)

rotation
public VideoRotation com.ss.bytertc.engine.data.VideoFrameInfo.rotation = VideoRotation.VIDEO_ROTATION_0;
java

视频帧顺时针旋转角度。参看 VideoRotation。

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

视频帧朝向

枚举值
类型说明
ADAPTIVE(0)(默认)使用相机输出的原始视频帧的角度,不对视频帧进行额外旋转。
PORTRAIT(1)固定为竖屏,将相机采集到的视频帧转换为竖屏,在整个 RTC 链路中传递竖屏帧。
LANDSCAPE(2)固定为横屏,将相机采集到的视频帧转换为横屏,在整个 RTC 链路中传递横屏帧。
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帧,前后参考帧,编解码需要参考前后两帧视频帧
VideoPixelFormat
public enum com.ss.bytertc.engine.data.VideoPixelFormat
java

视频帧的数据格式

枚举值
类型说明
UNKNOWN(0)未知格式
I420(1)I420 格式
NV12(2)NV12 格式
NV21(3)NV21 格式
RGBA(5)RGBA 格式
TEXTURE_2D(GLES10.GL_TEXTURE_2D)Texture2D 格式
TEXTURE_OES(GLES11Ext.GL_TEXTURE_EXTERNAL_OES)TextureOES 格式
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 度
VideoRotationMode
public enum com.ss.bytertc.engine.data.VideoRotationMode
java

视频旋转模式

枚举值
类型说明
FOLLOW_APP(0)App 方向
FOLLOW_GSENSOR(1)重力方向
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 不会自动生成多路流,你需要自行生成并推送多路流
VideoSuperResolutionMode
public enum com.ss.bytertc.engine.data.VideoSuperResolutionMode
java

超分模式。

枚举值
类型说明
VIDEO_SUPER_RESOLUTION_MODE_OFF(0)关闭超分。
VIDEO_SUPER_RESOLUTION_MODE_ON(1)开启超分。
VideoSuperResolutionModeChangedReason
public enum com.ss.bytertc.engine.data.VideoSuperResolutionModeChangedReason
java

超分状态改变原因。

枚举值
类型说明
VIDEO_SUPER_RESOLUTION_MODE_CHANGED_REASON_API_OFF(0)调用 setRemoteVideoSuperResolution 成功关闭超分。
VIDEO_SUPER_RESOLUTION_MODE_CHANGED_REASON_API_ON(1)调用 setRemoteVideoSuperResolution 成功开启超分。
VIDEO_SUPER_RESOLUTION_MODE_CHANGED_REASON_RESOLUTION_EXCEED(2)开启超分失败,远端视频流的原始视频分辨率超过 640 × 360 px。
VIDEO_SUPER_RESOLUTION_MODE_CHANGED_REASON_OVER_USE(3)开启超分失败,已对一路远端流开启超分。
VIDEO_SUPER_RESOLUTION_MODE_CHANGED_REASON_DEVICE_NOT_SUPPORT(4)设备不支持使用超分辨率。
VIDEO_SUPER_RESOLUTION_MODE_CHANGED_REASON_DYNAMIC_CLOSE(5)当前设备性能存在风险,已动态关闭超分。
VIDEO_SUPER_RESOLUTION_MODE_CHANGED_REASON_OTHER_SETTING_DISABLED(6)超分因其他原因关闭。
VIDEO_SUPER_RESOLUTION_MODE_CHANGED_REASON_OTHER_SETTING_ENABLED(7)超分因其他原因开启。
VIDEO_SUPER_RESOLUTION_MODE_CHANGED_REASON_NO_COMPONENT(8)SDK 没有编译超分组件。
VIDEO_SUPER_RESOLUTION_MODE_CHANGED_REASON_STREAM_NOT_EXIST(9)远端流不存在。房间 ID 或用户 ID 无效,或对方没有发布流。
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

虚拟背景类型。

枚举值
类型说明
COLOR使用纯色背景替换视频原有背景。
IMAGE使用自定义图片背景替换视频原有背景。
ZoomConfigType
public enum com.ss.bytertc.engine.data.ZoomConfigType
java

数码变焦参数类型

枚举值
类型说明
ZOOM_FOCUS_OFFSET(0)设置缩放系数
ZOOM_MOVE_OFFSET(1)设置移动步长
ZoomDirectionType
public enum com.ss.bytertc.engine.data.ZoomDirectionType
java

数码变焦操作类型

枚举值
类型说明
CAMERA_MOVE_LEFT(0)相机向左移动
CAMERA_MOVE_RIGHT(1)相机向右移动
CAMERA_MOVE_UP(2)相机向上移动
CAMERA_MOVE_DOWN(3)相机向下移动
CAMERA_ZOOM_OUT(4)相机缩小焦距
CAMERA_ZOOM_IN(5)相机放大焦距
CAMERA_RESET(6)恢复到原始大小
RTCASRErrorCode
public enum com.ss.bytertc.engine.handler.IRTCASREngineEventHandler.RTCASRErrorCode
java

语音识别服务错误码。

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

枚举值
类型说明
NETWORK_INTERRUPTED(-1)网络连接中断,服务不可用,内部会进行重连
ALREADY_STARTED(-2)重复调用 startASR。开启语音识别服务后,你需要先调用 stopASR 停止语音识别服务,才能二次调用 startASR 再次开启服务。
TOKEN_EMPTY(-3)语音识别服务所需 token 为空
SIGNATURE_KEY_EMPTY(-4)Signature 鉴权模式下 secretKey 为空
USERID_NULL(-5)用户 ID 为空
APPID_NULL(-6)应用 ID 为空
CLUSTER_NULL(-7)语音识别服务 cluster 为空
OPERATION_DENIED(-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)端云一体合流。SDK 智能决策在客户端或服务端完成合流。
使用前,请联系技术支持同学开通,否则不生效。
成员函数
返回名称
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
成员函数
返回名称
booleangetFieldVideoConfigBFrame
voidsetUrl
voidsetRoomId
voidsetUserId
voidsetVideo
voidsetAudio
voidsetSpatialConfig
voidsetClientMixParam
voidsetLayout
ByteRTCStreamMixingTypegetMixType
voidsetMixType
StringgetUrl
VideoConfiggetVideo
AudioConfiggetAudio
SpatialConfiggetSpatialConfig
ClientMixParamgetClientMixParam
LayoutgetLayout
void[deprecated] setAction
变量说明

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。

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

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

设置推流 CDN 地址。仅支持 RTMP 协议,Url 必须满足正则 /^rtmps?:\/\//。
本参数不支持过程中更新。

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

设置推流房间 ID。roomId 和 userId 长度相加不得超过 126 字节。
本参数不支持过程中更新。

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

设置推流用户 ID。roomId 和 userId 长度相加不得超过 126 字节。
本参数不支持过程中更新。

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

Deprecated since 3.50 and will be deleted in 3.55, use startLiveTranscoding, updateLiveTranscoding, stopLiveTranscoding instead.

设置转推直播动作参数。

传入参数

参数名类型说明
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。

setSpatialConfig
public void com.ss.bytertc.engine.live.LiveTranscoding.setSpatialConfig(
    SpatialConfig spatialConfig)
java

设置推流 CDN 的空间音频参数。

传入参数

参数名类型说明
spatialConfigSpatialConfig空间音频参数。详见 SpatialConfig 数据类型。

setClientMixParam
public void com.ss.bytertc.engine.live.LiveTranscoding.setClientMixParam(
    ClientMixParam param)
java

设置客户端合流配置参数。

传入参数

参数名类型说明
paramClientMixParam客户端合流配置参数。详见 ClientMixParam 数据类型。

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。

getSpatialConfig
public SpatialConfig com.ss.bytertc.engine.live.LiveTranscoding.getSpatialConfig()
java

获取空间音频配置参数。

返回值
当前空间音频配置参数。详见 SpatialConfig 数据类型。

getClientMixParam
public ClientMixParam com.ss.bytertc.engine.live.LiveTranscoding.getClientMixParam()
java

获取客户端合流配置参数。

返回值
当前客户端合流配置参数。详见 ClientMixParam 数据类型。

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

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

返回值
当前视频流合流整体布局,参看 Layout。

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

客户端合流回调视频格式。设置为系统不支持的格式时,自动回调系统默认格式。

枚举值
类型说明
YUV_I420(0)YUV I420。Android、Windows 默认回调格式。支持系统:Android、Windows。
TEXTURE_2D(1)OpenGL GL_TEXTURE_2D 格式纹理。支持系统:安卓。
CVPIXEL_BUFFER_BGRA(2)CVPixelBuffer BGRA。iOS 默认回调格式。支持系统: iOS。
YUV_NV12(3)YUV NV12。macOS 默认回调格式。支持系统: macOS。
成员函数
返回名称
intgetValue
函数说明

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

获取合流输出内容类型。

返回值
合流输出内容类型

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)视频帧自适应画布。
视频尺寸非等比例缩放,把窗口充满。在此过程中,视频帧的长宽比例可能会发生变化。
[deprecated] RENDER_UNKNOWN(0)
成员函数
返回名称
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
VideoConfigsetBFrame
VideoConfigsetKBitRate
VideoConfigsetWidth
VideoConfigsetHeight
函数说明

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

设置视频编码格式。
本参数不支持过程中更新。

传入参数

参数名类型说明
codecVideoCodecType视频编码格式,参看 VideoCodecType。默认值为 VIDEO_CODEC_TYPE_H264("H264")。

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

设置合流视频帧率。

传入参数

参数名类型说明
fpsint合流视频帧率。单位为 FPS,取值范围为 [1,60], 默认值为 15 FPS。

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

设置视频 I 帧时间间隔。
本参数不支持过程中更新。

传入参数

参数名类型说明
gopint视频 I 帧时间间隔。单位为秒,取值范围为 [1, 5],默认值为 2 秒。

setBFrame
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.setBFrame(
    boolean useBFrame)
java

设置是否使用B帧(仅在服务端合流生效)。

传入参数

参数名类型说明
useBFrameboolean是否使用B帧。取值含义如下:
• true: 使用B帧
• false: 不使用B帧

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 px。
设置值为非偶数时,自动向上取偶数。

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

设置合流视频高度。

传入参数

参数名类型说明
heightint合流视频高度。单位为 px,范围为 [2, 1920],必须是偶数。默认值为 360 px。
设置值为非偶数时,自动向上取偶数。
VideoCodecType
public enum com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.VideoCodecType
java

视频编码格式。

枚举值
类型说明
VIDEO_CODEC_TYPE_H264("H264")H.264 格式,默认值。
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(
    AudioCodecType codec)
java

设置音频编码格式。

传入参数

参数名类型说明
codecAudioCodecType音频编码格式,参看 AudioCodecType。默认值为 AAC。
本参数不支持过程中更新。

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

设置音频码率。

传入参数

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

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

设置音频采样率。

传入参数

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

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")。
AudioCodecType
public enum com.ss.bytertc.engine.live.LiveTranscoding.AudioConfig.AudioCodecType
java

音频编码格式。

枚举值
类型说明
AUDIO_CODEC_TYPE_AAC("AAC")AAC 格式。
成员函数
返回名称
StringgetValue
函数说明

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

获取音频编码格式。

返回值
音频编码格式。

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

推流 CDN 的空间音频参数。

成员函数
返回名称
SpatialConfigsetAudienceSpatialPosition
SpatialConfigsetAudienceSpatialOrientation
SpatialConfigsetEnableSpatialRender
函数说明

setAudienceSpatialPosition
public SpatialConfig com.ss.bytertc.engine.live.LiveTranscoding.SpatialConfig.setAudienceSpatialPosition(
    Position pos)
java

设置听众的空间位置。听众指收听来自 CDN 的音频流的用户。

传入参数

参数名类型说明
posPosition听众的空间位置,参看 Position。

setAudienceSpatialOrientation
public SpatialConfig com.ss.bytertc.engine.live.LiveTranscoding.SpatialConfig.setAudienceSpatialOrientation(
    HumanOrientation orientation)
java

设置听众的空间朝向。听众指收听来自 CDN 的音频流的用户。

传入参数

参数名类型说明
orientationHumanOrientation听众的空间朝向。参看 HumanOrientation。

setEnableSpatialRender
public SpatialConfig com.ss.bytertc.engine.live.LiveTranscoding.SpatialConfig.setEnableSpatialRender(
    boolean enableSpatialRender)
java

设置是否开启推流 CDN 时的空间音频效果。

传入参数

参数名类型说明
enableSpatialRenderboolean是否开启推流 CDN 时的空间音频效果:
• true:开启;
• false:关闭。

注意
当你启用此效果时,你需要设定推流中各个 SpatialConfig 的 spatialPosition 值,实现空间音频效果。

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

客户端合流参数。

成员函数
返回名称
ClientMixParamsetClientMixUseAudioMixer
ClientMixParamsetClientMixUseOriginalFrame
voidsetClientMixVideoFormat
函数说明

setClientMixUseAudioMixer
public ClientMixParam com.ss.bytertc.engine.live.LiveTranscoding.ClientMixParam.setClientMixUseAudioMixer(
    Boolean enable)
java

Available since 3.50

设置客户端合流是否使用混音。

传入参数

参数名类型说明
enableBoolean是否使用混音,默认为 true。

返回值
参看 ClientMixParam。

setClientMixUseOriginalFrame
public ClientMixParam com.ss.bytertc.engine.live.LiveTranscoding.ClientMixParam.setClientMixUseOriginalFrame(
    Boolean enable)
java

Available since 3.50

设置客户端合流是否使用原始视频帧。

传入参数

参数名类型说明
enableBoolean是否使用原始视频帧,默认为 false。

返回值
参看 ClientMixParam。

setClientMixVideoFormat
public void com.ss.bytertc.engine.live.LiveTranscoding.ClientMixParam.setClientMixVideoFormat(
    TranscoderClientMixVideoFormat format)
java

Available since 3.50

设置客户端合流回调视频格式。设置为系统不支持的格式时,自动回调系统默认格式。

传入参数

参数名类型说明
formatTranscoderClientMixVideoFormat客户端合流回调视频格式,参看 TranscoderClientMixVideoFormat。
Region
public static class com.ss.bytertc.engine.live.LiveTranscoding.Region
java

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

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

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 为底层,值越大越上层。默认值为 0。

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

(仅服务端合流支持设置)设置透明度。

传入参数

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

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

(仅服务端合流支持设置)设置圆角半径。

传入参数

参数名类型说明
radiusdouble圆角半径相对画布宽度的比例。默认值为 0.0。

注意
做范围判定时,首先根据画布的宽高,将 width,height,和 radius 分别转换为像素值:width_px,height_px,和 radius_px。然后判定是否满足 radius_px < min(width_px/2, height_px/2):若满足,则设置成功;若不满足,则将 radius_px 设定为 min(width_px/2, height_px/2),然后将 radius 设定为 radius_px 相对画布宽度的比例值。

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。默认值为 1。

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

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

传入参数

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

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

设置用户视频相对大小。

传入参数

参数名类型说明
widthdouble视频流对应区域宽度相对整体画面的归一化比例,取值的范围为 [0.0, 1.0]。默认值为 1.0。
heightdouble视频流对应区域高度相对整体画面的归一化比例,取值的范围为 [0.0, 1.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。

spatialPosition
public Region com.ss.bytertc.engine.live.LiveTranscoding.Region.spatialPosition(
    float x,
    float y,
    float z)
java

设置当前region空间音频位置

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

设置某用户是否应用空间音频效果。

传入参数

参数名类型说明
applySpatialAudioboolean该用户是否应用空间音频效果:
• true:启用(默认值)
• false:禁用
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 数据,长度不超过 4 KB。

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合流背景颜色,用十六进制颜色码(HEX)表示。例如,#FFFFFF 表示纯白,#000000 表示纯黑。默认值为 #000000。
MixedStreamConfig
public class com.ss.bytertc.engine.live.MixedStreamConfig
java

转推直播配置参数。

静态函数
返回名称
static MixedStreamConfigdefaultMixedStreamConfig
成员函数
返回名称
MixedStreamConfigsetUserID
StringgetUserID
MixedStreamConfigsetRoomID
StringgetRoomID
MixedStreamConfigsetPushURL
StringgetPushURL
MixedStreamConfigsetExpectedMixingType
ByteRTCStreamMixingTypegetExpectedMixingType
MixedStreamConfigsetAudioConfig
MixedStreamAudioConfiggetAudioConfig
MixedStreamConfigsetServerControlConfig
MixedStreamServerControlConfiggetServerControlConfig
MixedStreamConfigsetVideoConfig
MixedStreamVideoConfiggetVideoConfig
MixedStreamConfigsetClientMixConfig
MixedStreamConfigsetSpatialConfig
MixedStreamSpatialConfiggetSpatialConfig
MixedStreamConfigsetLayout
MixedStreamLayoutConfiggetLayout
booleangetMixedStreamVideoConfigBFrame
函数说明

defaultMixedStreamConfig
public static MixedStreamConfig com.ss.bytertc.engine.live.MixedStreamConfig.defaultMixedStreamConfig()
java

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

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

setUserID
public MixedStreamConfig com.ss.bytertc.engine.live.MixedStreamConfig.setUserID(
    String userID)
java

设置推流用户 ID。本参数不支持过程中更新。建议设置。

传入参数

参数名类型说明
userIDString推流用户 ID。roomId 和 userId 长度相加不得超过 126 字节。

getUserID
public String com.ss.bytertc.engine.live.MixedStreamConfig.getUserID()
java

获取推流用户 ID。

setRoomID
public MixedStreamConfig com.ss.bytertc.engine.live.MixedStreamConfig.setRoomID(
    String roomID)
java

设置推流用户所在的房间 ID。本参数不支持过程中更新。建议设置。

传入参数

参数名类型说明
roomIDString推流用户所在的房间 ID。roomId 和 userId 长度相加不得超过 126 字节。

getRoomID
public String com.ss.bytertc.engine.live.MixedStreamConfig.getRoomID()
java

获取推流用户所在的房间 ID。

setPushURL
public MixedStreamConfig com.ss.bytertc.engine.live.MixedStreamConfig.setPushURL(
    String pushURL)
java

设置推流 CDN 地址。仅支持 RTMP 协议,Url 必须满足正则 /^rtmps?:\/\//。建议设置。
本参数不支持过程中更新。

传入参数

参数名类型说明
pushURLString推流 CDN 地址。

getPushURL
public String com.ss.bytertc.engine.live.MixedStreamConfig.getPushURL()
java

获取推流 CDN 地址。

setExpectedMixingType
public MixedStreamConfig com.ss.bytertc.engine.live.MixedStreamConfig.setExpectedMixingType(
    ByteRTCStreamMixingType expectedMixingType)
java

设置合流类型。建议设置。

传入参数

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

注意
本参数不支持过程中更新。

getExpectedMixingType
public ByteRTCStreamMixingType com.ss.bytertc.engine.live.MixedStreamConfig.getExpectedMixingType()
java

获取合流类型。

setAudioConfig
public MixedStreamConfig com.ss.bytertc.engine.live.MixedStreamConfig.setAudioConfig(
    MixedStreamAudioConfig audioConfig)
java

设置音频转码配置参数。建议设置。

传入参数

参数名类型说明
audioConfigMixedStreamAudioConfig音频转码配置参数,参看 MixedStreamAudioConfig。

getAudioConfig
public MixedStreamAudioConfig com.ss.bytertc.engine.live.MixedStreamConfig.getAudioConfig()
java

获取音频转码配置参数。

setServerControlConfig
public MixedStreamConfig com.ss.bytertc.engine.live.MixedStreamConfig.setServerControlConfig(
    MixedStreamServerControlConfig serverControlConfig)
java

Available since 3.56

设置服务端合流控制参数。

传入参数

参数名类型说明
serverControlConfigMixedStreamServerControlConfig服务端合流控制参数,参看 MixedStreamServerControlConfig。

getServerControlConfig
public MixedStreamServerControlConfig com.ss.bytertc.engine.live.MixedStreamConfig.getServerControlConfig()
java

Available since 3.56

获取服务端合流控制参数的设置。

setVideoConfig
public MixedStreamConfig com.ss.bytertc.engine.live.MixedStreamConfig.setVideoConfig(
    MixedStreamVideoConfig videoConfig)
java

设置视频转码配置参数。建议设置。

传入参数

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

getVideoConfig
public MixedStreamVideoConfig com.ss.bytertc.engine.live.MixedStreamConfig.getVideoConfig()
java

获取视频转码配置参数。

setClientMixConfig
public MixedStreamConfig com.ss.bytertc.engine.live.MixedStreamConfig.setClientMixConfig(
    MixedStreamClientMixConfig clientMixConfig)
java

设置客户端合流配置参数。建议设置。

传入参数

参数名类型说明
clientMixConfigMixedStreamClientMixConfig客户端合流配置参数。详见 MixedStreamClientMixConfig 数据类型。

setSpatialConfig
public MixedStreamConfig com.ss.bytertc.engine.live.MixedStreamConfig.setSpatialConfig(
    MixedStreamSpatialConfig spatialConfig)
java

设置推流 CDN 的空间音频参数。

传入参数

参数名类型说明
spatialConfigMixedStreamSpatialConfig空间音频参数。详见 MixedStreamSpatialConfig 数据类型。

getSpatialConfig
public MixedStreamSpatialConfig com.ss.bytertc.engine.live.MixedStreamConfig.getSpatialConfig()
java

获取推流 CDN 的空间音频参数。

setLayout
public MixedStreamConfig com.ss.bytertc.engine.live.MixedStreamConfig.setLayout(
    MixedStreamLayoutConfig layout)
java

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

传入参数

参数名类型说明
layoutMixedStreamLayoutConfig视频流合流整体布局参数,参看 MixedStreamLayoutConfig。

getLayout
public MixedStreamLayoutConfig com.ss.bytertc.engine.live.MixedStreamConfig.getLayout()
java

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

getMixedStreamVideoConfigBFrame
public boolean com.ss.bytertc.engine.live.MixedStreamConfig.getMixedStreamVideoConfigBFrame()
java
MixedStreamClientMixVideoFormat
public enum com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamClientMixVideoFormat
java

客户端合流回调视频格式。设置为系统不支持的格式时,自动回调系统默认格式。

枚举值
类型说明
MIXED_STREAM_CLIENT_MIX_VIDEO_FORMAT_YUV_I420(0)YUV I420。Android、Windows 默认回调格式。支持系统:Android、Windows。
MIXED_STREAM_CLIENT_MIX_VIDEO_FORMAT_TEXTURE_2D(1)OpenGL GL_TEXTURE_2D 格式纹理。支持系统:安卓。
MIXED_STREAM_CLIENT_MIX_VIDEO_FORMAT_CVPIXEL_BUFFER_BGRA(2)CVPixelBuffer BGRA。iOS 默认回调格式。支持系统: iOS。
MIXED_STREAM_CLIENT_MIX_VIDEO_FORMAT_YUV_NV12(3)YUV NV12。macOS 默认回调格式。支持系统: macOS。
成员函数
返回名称
intgetValue
函数说明

getValue
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamClientMixVideoFormat.getValue()
java

获取合流输出内容类型。

返回值
合流输出内容类型

MixedStreamMediaType
public enum com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamMediaType
java

合流输出内容类型

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

getValue
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamMediaType.getValue()
java

获取合流输出内容类型。

返回值
合流输出内容类型

MixedStreamSEIContentMode
public enum com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamSEIContentMode
java

服务端合流转推 SEI 内容。

枚举值
类型说明
MIXED_STREAM_SEI_CONTENT_MODE_DEFAULT(0)视频流中包含全部的 SEI 信息。默认设置。
MIXED_STREAM_SEI_CONTENT_MODE_ENABLE_VOLUME_INDICATION(1)随非关键帧传输的 SEI 数据中仅包含音量信息。

当设置 setEnableVolumeIndication 为 true 时,此参数设置生效。
MixedStreamRenderMode
public enum com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamRenderMode
java

图片或视频流的缩放模式。

枚举值
类型说明
MIXED_STREAM_RENDER_MODE_HIDDEN(1)视窗填满优先,默认值。
视频尺寸等比缩放,直至视窗被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。
MIXED_STREAM_RENDER_MODE_FIT(2)视频帧内容全部显示优先。
视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成背景颜色。
MIXED_STREAM_RENDER_MODE_ADAPTIVE(3)视频帧自适应画布。
视频尺寸非等比例缩放,把窗口充满。在此过程中,视频帧的长宽比例可能会发生变化。
成员函数
返回名称
intgetValue
函数说明

getValue
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamRenderMode.getValue()
java

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

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

MixedStreamLayoutRegionType
public enum com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionType
java

合流布局区域类型

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

getValue
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionType.getValue()
java

获取合流布局区域类型。

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

MixedStreamAudioProfile
public enum com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAudioProfile
java

AAC 编码规格。

枚举值
类型说明
MIXED_STREAM_AUDIO_PROFILE_LC("LC")AAC-LC 规格,默认值。
MIXED_STREAM_AUDIO_PROFILE_HEV1("HEv1")HE-AAC v1 规格。
MIXED_STREAM_AUDIO_PROFILE_HEV2("HEv2")HE-AAC v2 规格。
成员函数
返回名称
StringgetValue
函数说明

getValue
public String com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAudioProfile.getValue()
java

获取 AAC 编码规格。

返回值
AAC 编码规格。

MixedStreamPushMode
public enum com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamPushMode
java

服务端合流转推发起模式。

枚举值
类型说明
ON_STREAM(0)无用户发布媒体流时,发起合流任务无效。默认设置。

当有用户发布媒体流时,才能发起合流任务。
ON_START_REQUEST(1)无用户发布媒体流时,可以使用占位图发起合流任务。

占位图设置参看 setAlternateImageURL 和 setAlternateImageFillMode。
MixedStreamAlternateImageFillMode
public enum com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAlternateImageFillMode
java

服务端合流占位图填充模式。

枚举值
类型说明
FIT (0)占位图跟随用户原始视频帧相同的比例缩放。默认设置。
FILL (1)占位图不跟随用户原始视频帧相同的比例缩放,保持图片原有比例。
MixedStreamVideoConfig
public static class com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig
java

视频转码配置参数。值不合法或未设置时,自动使用默认值。

成员函数
返回名称
MixedStreamVideoConfigsetFps
intgetFps
MixedStreamVideoConfigsetGop
intgetGop
MixedStreamVideoConfigsetBitrate
intgetBitrate
MixedStreamVideoConfigsetWidth
intgetWidth
MixedStreamVideoConfigsetHeight
intgetHeight
MixedStreamVideoConfigsetEnableBframe
booleangetEnableBframe
MixedStreamVideoConfigsetVideoCodec
MixedStreamVideoCodecTypegetVideoCodec
函数说明

setFps
public MixedStreamVideoConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.setFps(
    int fps)
java

设置合流视频帧率。建议设置。

传入参数

参数名类型说明
fpsint合流视频帧率。单位为 FPS,取值范围为 [1,60], 默认值为 15 FPS。

getFps
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.getFps()
java

获取合流视频帧率。

setGop
public MixedStreamVideoConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.setGop(
    int gop)
java

设置视频 I 帧时间间隔。建议设置。
本参数不支持过程中更新。

传入参数

参数名类型说明
gopint视频 I 帧时间间隔。单位为秒,取值范围为 [1, 5],默认值为 2 秒。

getGop
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.getGop()
java

获取视频 I 帧时间间隔。

setBitrate
public MixedStreamVideoConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.setBitrate(
    int bitrate)
java

设置合流视频码率。建议设置。

传入参数

参数名类型说明
bitrateint合流视频码率。单位为 Kbps,取值范围为 [1,10000],默认值为自适应模式。

getBitrate
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.getBitrate()
java

获取合流视频码率。

setWidth
public MixedStreamVideoConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.setWidth(
    int width)
java

设置合流视频宽度。建议设置。

传入参数

参数名类型说明
widthint合流视频宽度。单位为 px,范围为 [2, 1920],必须是偶数。默认值为 640 px。
设置值为非偶数时,自动向上取偶数。

getWidth
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.getWidth()
java

获取合流视频宽度。

setHeight
public MixedStreamVideoConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.setHeight(
    int height)
java

设置合流视频高度。建议设置。

传入参数

参数名类型说明
heightint合流视频高度。单位为 px,范围为 [2, 1920],必须是偶数。默认值为 360 px。
设置值为非偶数时,自动向上取偶数。

getHeight
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.getHeight()
java

获取合流视频高度。

setEnableBframe
public MixedStreamVideoConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.setEnableBframe(
    boolean enableBframe)
java

设置是否使用B帧(仅在服务端合流生效)。

传入参数

参数名类型说明
enableBframeboolean是否使用B帧。取值含义如下:
• true: 使用B帧
• false: 不使用B帧

getEnableBframe
public boolean com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.getEnableBframe()
java

获取是否使用B帧(仅在服务端合流生效)的设置。

setVideoCodec
public MixedStreamVideoConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.setVideoCodec(
    MixedStreamVideoCodecType videoCodec)
java

设置视频编码格式。建议设置。
本参数不支持过程中更新。

传入参数

参数名类型说明
videoCodecMixedStreamVideoCodecType视频编码格式,参看 MixedStreamVideoCodecType。默认值为 MIXED_STREAM_VIDEO_CODEC_TYPE_H264("H264")。

getVideoCodec
public MixedStreamVideoCodecType com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.getVideoCodec()
java

获取视频编码格式。

MixedStreamVideoCodecType
public enum com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.MixedStreamVideoCodecType
java

视频编码格式。

枚举值
类型说明
MIXED_STREAM_VIDEO_CODEC_TYPE_H264("H264")H.264 格式,默认值。
MIXED_STREAM_VIDEO_CODEC_TYPE_BYTEVC1("ByteVC1")ByteVC1 格式。
成员函数
返回名称
StringgetValue
函数说明

getValue
public String com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.MixedStreamVideoCodecType.getValue()
java

获取视频编码格式。

返回值
视频编码格式。

MixedStreamAudioConfig
public static class com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAudioConfig
java

音频转码配置参数。值不合法或未设置时,自动使用默认值。

成员函数
返回名称
MixedStreamAudioConfigsetChannels
intgetChannels
MixedStreamAudioConfigsetSampleRate
intgetSampleRate
MixedStreamAudioConfigsetBitrate
intgetBitrate
MixedStreamAudioConfigsetAudioCodec
MixedStreamAudioCodecTypegetAudioCodec
MixedStreamAudioConfigsetAudioProfile
MixedStreamAudioProfilegetAudioProfile
函数说明

setChannels
public MixedStreamAudioConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAudioConfig.setChannels(
    int channels)
java

设置声道数。建议设置。

传入参数

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

getChannels
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAudioConfig.getChannels()
java

获取声道数。

setSampleRate
public MixedStreamAudioConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAudioConfig.setSampleRate(
    int sampleRate)
java

设置音频采样率。建议设置。

传入参数

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

getSampleRate
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAudioConfig.getSampleRate()
java

获取音频采样率。

setBitrate
public MixedStreamAudioConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAudioConfig.setBitrate(
    int bitrate)
java

设置音频码率。建议设置。

传入参数

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

getBitrate
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAudioConfig.getBitrate()
java

获取音频码率。

setAudioCodec
public MixedStreamAudioConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAudioConfig.setAudioCodec(
    MixedStreamAudioCodecType audioCodec)
java

设置音频编码格式。建议设置。

传入参数

参数名类型说明
audioCodecMixedStreamAudioCodecType音频编码格式,参看 MixedStreamAudioCodecType。默认值为 MIXED_STREAM_AUDIO_CODEC_TYPE_AAC("AAC")。
本参数不支持过程中更新。

getAudioCodec
public MixedStreamAudioCodecType com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAudioConfig.getAudioCodec()
java

获取音频编码格式。

setAudioProfile
public MixedStreamAudioConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAudioConfig.setAudioProfile(
    MixedStreamAudioProfile audioProfile)
java

设置 AAC 编码规格。建议设置。

传入参数

参数名类型说明
audioProfileMixedStreamAudioProfileAAC 规格,参看 MixedStreamAudioProfile。默认值为 MIXED_STREAM_AUDIO_PROFILE_LC("LC")。

getAudioProfile
public MixedStreamAudioProfile com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAudioConfig.getAudioProfile()
java

获取 AAC 编码规格。

MixedStreamAudioCodecType
public enum com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAudioConfig.MixedStreamAudioCodecType
java

音频编码格式。

枚举值
类型说明
MIXED_STREAM_AUDIO_CODEC_TYPE_AAC("AAC")AAC 格式。
成员函数
返回名称
StringgetValue
函数说明

getValue
public String com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamAudioConfig.MixedStreamAudioCodecType.getValue()
java

获取音频编码格式。

返回值
音频编码格式。

MixedStreamServerControlConfig
public static class com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig
java

服务端合流控制参数。

成员函数
返回名称
MixedStreamServerControlConfigsetSeiPayloadType
intgetSeiPayloadType
MixedStreamServerControlConfigsetSeiPayloadUuid
StringgetSeiPayloadUuid
MixedStreamServerControlConfigsetVolumeIndicationInterval
floatgetVolumeIndicationInterval
MixedStreamServerControlConfigsetEnableVolumeIndication
booleangetEnableVolumeIndication
MixedStreamServerControlConfigsetIsAddVolumeValue
booleangetIsAddVolumeValue
MixedStreamServerControlConfigsetSeiContentMode
MixedStreamSEIContentModegetSeiContentMode
MixedStreamServerControlConfigsetTalkVolume
intgetTalkVolume
MixedStreamServerControlConfigsetPushStreamMode
MixedStreamPushModegetPushStreamMode
MixedStreamServerControlConfigsetMediaType
MixedStreamMediaTypegetMediaType
函数说明

setSeiPayloadType
public MixedStreamServerControlConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.setSeiPayloadType(
    int seiPayloadType)
java

Available since 3.56

设置合流转推 SEI 信息的 payload type。

传入参数

参数名类型说明
seiPayloadTypeint默认值为 100,只支持设置 5 和 100。

返回值
MixedStreamServerControlConfig,参看 MixedStreamServerControlConfig。

注意
在转推直播的过程中,该参数不支持变更。

getSeiPayloadType
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.getSeiPayloadType()
java

Available since 3.56

获取合流转推 SEI 信息的 payload type。

setSeiPayloadUuid
public MixedStreamServerControlConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.setSeiPayloadUuid(
    String seiPayloadUuid)
java

Available since 3.56

设置合流转推 SEI 信息的 Payload UUID。

传入参数

参数名类型说明
seiPayloadUuidString该参数长度需为32位,否则会收到错误码为1091的回调。该参数每个字符的范围需为 [0, 9] [a, f] [A, F]。
该参数不应带有-字符,如系统自动生成的 UUID 中带有-,则应删去。

返回值
MixedStreamServerControlConfig,参看 MixedStreamServerControlConfig。

注意
PayloadType 为 5 时,必须填写 PayloadUUID,否则会收到错误回调,错误码为1091。 PayloadType 不是 5 时,不需要填写 PayloadUUID,如果填写会被后端忽略。
在转推直播的过程中,该参数不支持变更。

getSeiPayloadUuid
public String com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.getSeiPayloadUuid()
java

Available since 3.56

获取合流转推 SEI 信息的 Payload UUID。

setVolumeIndicationInterval
public MixedStreamServerControlConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.setVolumeIndicationInterval(
    float volumeIndicationInterval)
java

Available since 3.56

设置声音信息提示间隔。

传入参数

参数名类型说明
volumeIndicationIntervalfloat提示间隔,单位为秒,取值范围为 [0.3,+∞),默认值为 2。
此值仅取整百毫秒。若传入两位及以上小数,则四舍五入取第一位小数的值。例如,若传入 0.36,则取 0.4。

getVolumeIndicationInterval
public float com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.getVolumeIndicationInterval()
java

Available since 3.56

获取音量提示间隔。

setEnableVolumeIndication
public MixedStreamServerControlConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.setEnableVolumeIndication(
    boolean enableVolumeIndication)
java

Available since 3.56

设置是否开启单独发送声音提示 SEI 的功能。

传入参数

参数名类型说明
enableVolumeIndicationboolean是否开启单独发送声音提示 SEI:
• true:开启;
• false:关闭。(默认值)

注意
开启后,你可以通过 setSeiContentMode 控制 SEI 的内容是否只携带声音信息。

getEnableVolumeIndication
public boolean com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.getEnableVolumeIndication()
java

Available since 3.56

获取是否开启单独发送声音提示 SEI 功能的设置。

setIsAddVolumeValue
public MixedStreamServerControlConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.setIsAddVolumeValue(
    boolean addVolumeValue)
java

Available since 3.56

设置声音信息 SEI 是否包含音量值。

传入参数

参数名类型说明
addVolumeValueboolean是否包含音量值:
• true:包含;
• false:不包含。默认值。

getIsAddVolumeValue
public boolean com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.getIsAddVolumeValue()
java

Available since 3.56

获取声音信息 SEI 是否包含音量值的设置。

setSeiContentMode
public MixedStreamServerControlConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.setSeiContentMode(
    MixedStreamSEIContentMode seiContentMode)
java

Available since 3.56

设置 SEI 内容。

传入参数

参数名类型说明
seiContentModeMixedStreamSEIContentModeSEI 内容,参看 MixedStreamSEIContentMode。

getSeiContentMode
public MixedStreamSEIContentMode com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.getSeiContentMode()
java

Available since 3.56

获取 SEI 内容设置。

setTalkVolume
public MixedStreamServerControlConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.setTalkVolume(
    int talkVolume)
java

Available since 3.56

设置有效音量大小。

传入参数

参数名类型说明
talkVolumeint有效音量大小,取值范围为 [0, 255],默认值为 0。
超出取值范围则自动调整为默认值,即 0。

getTalkVolume
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.getTalkVolume()
java

Available since 3.56

获取有效音量大小。

setPushStreamMode
public MixedStreamServerControlConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.setPushStreamMode(
    MixedStreamPushMode pushStreamMode)
java

Available since 3.57

设置是否在没有用户发布流的情况下发起转推直播。

传入参数

参数名类型说明
pushStreamModeMixedStreamPushMode合流任务发起模式。具体参看 MixedStreamPushMode。
该参数在发起合流任务后的转推直播过程中不支持动态变更。

getPushStreamMode
public MixedStreamPushMode com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.getPushStreamMode()
java

Available since 3.57

获取合流任务发起模式的设置。

setMediaType
public MixedStreamServerControlConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.setMediaType(
    MixedStreamMediaType mediaType)
java

Available since 3.57

设置合流推到 CDN 时输出的媒体流类型。

传入参数

参数名类型说明
mediaTypeMixedStreamMediaType输出的媒体流类型。参看 MixedStreamMediaType。
默认输出音视频流。支持输出纯音频流,但暂不支持输出纯视频流。

getMediaType
public MixedStreamMediaType com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.getMediaType()
java

Available since 3.57

获取合流推到 CDN 时输出的媒体流类型设置。

MixedStreamSpatialConfig
public static class com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamSpatialConfig
java

推流 CDN 的空间音频参数。

成员函数
返回名称
MixedStreamSpatialConfigsetAudienceSpatialPosition
PositiongetAudienceSpatialPosition
MixedStreamSpatialConfigsetAudienceSpatialOrientation
HumanOrientationgetAudienceSpatialOrientation
MixedStreamSpatialConfigsetEnableSpatialRender
booleangetEnableSpatialRender
函数说明

setAudienceSpatialPosition
public MixedStreamSpatialConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamSpatialConfig.setAudienceSpatialPosition(
    Position pos)
java

设置听众的空间位置。听众指收听来自 CDN 的音频流的用户。

传入参数

参数名类型说明
posPosition听众的空间位置,参看 Position。

getAudienceSpatialPosition
public Position com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamSpatialConfig.getAudienceSpatialPosition()
java

获取听众的空间位置。

setAudienceSpatialOrientation
public MixedStreamSpatialConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamSpatialConfig.setAudienceSpatialOrientation(
    HumanOrientation orientation)
java

设置听众的空间朝向。听众指收听来自 CDN 的音频流的用户。

传入参数

参数名类型说明
orientationHumanOrientation听众的空间朝向。参看 HumanOrientation。

getAudienceSpatialOrientation
public HumanOrientation com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamSpatialConfig.getAudienceSpatialOrientation()
java

获取听众的空间朝向。

setEnableSpatialRender
public MixedStreamSpatialConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamSpatialConfig.setEnableSpatialRender(
    boolean enableSpatialRender)
java

设置是否开启推流 CDN 时的空间音频效果。

传入参数

参数名类型说明
enableSpatialRenderboolean是否开启推流 CDN 时的空间音频效果:
• true:开启;
• false:关闭。

注意
当你启用此效果时,你需要设定推流中各个 MixedStreamSpatialConfig 的 Position 值,实现空间音频效果。

getEnableSpatialRender
public boolean com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamSpatialConfig.getEnableSpatialRender()
java

获取是否开启推流 CDN 空间音频效果的设置。

MixedStreamClientMixConfig
public static class com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamClientMixConfig
java

客户端合流参数。

成员函数
返回名称
MixedStreamClientMixConfigsetVideoFormat
MixedStreamClientMixVideoFormatgetVideoFormat
MixedStreamClientMixConfigsetUseAudioMixer
booleangetUseAudioMixer
函数说明

setVideoFormat
public MixedStreamClientMixConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamClientMixConfig.setVideoFormat(
    MixedStreamClientMixVideoFormat videoFormat)
java

设置客户端合流回调视频格式。设置为系统不支持的格式时,自动回调系统默认格式。

传入参数

参数名类型说明
videoFormatMixedStreamClientMixVideoFormat客户端合流回调视频格式,参看 MixedStreamClientMixVideoFormat。

getVideoFormat
public MixedStreamClientMixVideoFormat com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamClientMixConfig.getVideoFormat()
java

获取客户端合流回调视频格式。

setUseAudioMixer
public MixedStreamClientMixConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamClientMixConfig.setUseAudioMixer(
    boolean useAudioMixer)
java

设置客户端合流是否使用混音。

传入参数

参数名类型说明
useAudioMixerboolean是否使用混音,默认为 true。

返回值
参看 MixedStreamClientMixConfig。

getUseAudioMixer
public boolean com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamClientMixConfig.getUseAudioMixer()
java

获取客户端合流是否使用混音的设置。

MixedStreamLayoutRegionConfig
public static class com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig
java

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

成员函数
返回名称
MixedStreamLayoutRegionConfigsetRoomID
StringgetRoomID
MixedStreamLayoutRegionConfigsetUserID
StringgetUserID
MixedStreamLayoutRegionConfigsetLocationX
intgetLocationX
MixedStreamLayoutRegionConfigsetLocationY
intgetLocationY
MixedStreamLayoutRegionConfigsetWidth
intgetWidth
MixedStreamLayoutRegionConfigsetHeight
doublegetHeight
MixedStreamLayoutRegionConfigsetZOrder
intgetZOrder
MixedStreamLayoutRegionConfigsetAlpha
doublegetAlpha
MixedStreamLayoutRegionConfigsetCornerRadius
doublegetCornerRadius
MixedStreamLayoutRegionConfigsetMediaType
MixedStreamMediaTypegetMediaType
MixedStreamLayoutRegionConfigsetRegionContentType
MixedStreamLayoutRegionTypegetRegionContentType
MixedStreamLayoutRegionConfigsetRenderMode
MixedStreamRenderModegetRenderMode
booleangetIsLocalUser
MixedStreamLayoutRegionConfigsetIsLocalUser
MixedStreamLayoutRegionConfigsetStreamType
MixedStreamVideoTypegetStreamType
MixedStreamLayoutRegionConfigsetImageWaterMark
byte[]getImageWaterMark
MixedStreamLayoutRegionConfigsetImageWaterMarkConfig
MixedStreamLayoutRegionImageWaterMarkConfiggetImageWaterMarkConfig
MixedStreamLayoutRegionConfigsetAlternateImageFillMode
MixedStreamAlternateImageFillModegetAlternateImageFillMode
MixedStreamLayoutRegionConfigsetAlternateImageURL
StringgetAlternateImageURL
MixedStreamLayoutRegionConfigsetSpatialPosition
PositiongetSpatialPosition
MixedStreamLayoutRegionConfigsetApplySpatialAudio
booleangetApplySpatialAudio
函数说明

setRoomID
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setRoomID(
    String roomID)
java

设置视频流发布用户的房间 ID。建议设置。

传入参数

参数名类型说明
roomIDString房间 ID。必填。

getRoomID
public String com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getRoomID()
java

获取视频流发布用户的房间 ID。

setUserID
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setUserID(
    String userID)
java

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

传入参数

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

getUserID
public String com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getUserID()
java

获取视频流发布用户的用户 ID。

setLocationX
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setLocationX(
    int locationX)
java

Available since 3.57

设置单个用户画面左上角在整个画布坐标系中的 X 坐标(pixel),即以画布左上角为原点,用户画面左上角相对于原点的横向位移。

传入参数

参数名类型说明
locationXint用户画面左上角的横坐标。取值范围为 [0, 整体画布宽度)。默认值为 0。

getLocationX
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getLocationX()
java

Available since 3.57

获取单个用户画面左上角的横坐标。

setLocationY
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setLocationY(
    int locationY)
java

Available since 3.57

设置单个用户画面左上角在整个画布坐标系中的 Y 坐标(pixel),即以画布左上角为原点,用户画面左上角相对于原点的纵向位移。

传入参数

参数名类型说明
locationYint用户画面左上角的纵坐标。取值范围为 [0, 整体画布高度)。默认值为 0。

getLocationY
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getLocationY()
java

Available since 3.57

获取单个用户画面左上角的纵坐标。

setWidth
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setWidth(
    int width)
java

Available since 3.57

设置单个用户画面的宽度。

传入参数

参数名类型说明
widthint用户画面宽度。取值范围为 [0, 整体画布宽度],默认值为 360。

getWidth
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getWidth()
java

Available since 3.57

获取单个用户画面的宽度。

setHeight
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setHeight(
    int height)
java

Available since 3.57

设置单个用户画面的高度。

传入参数

参数名类型说明
heightint用户画面高度。取值范围为 [0, 整体画布高度],默认值为 640。

getHeight
public double com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getHeight()
java

Available since 3.57

获取单个用户画面的高度。

setZOrder
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setZOrder(
    int zOrder)
java

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

传入参数

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

getZOrder
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getZOrder()
java

获取用户视频布局在画布中的层级。

setAlpha
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setAlpha(
    double alpha)
java

(仅服务端合流支持设置)设置透明度。

传入参数

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

getAlpha
public double com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getAlpha()
java

获取透明度。

setCornerRadius
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setCornerRadius(
    double cornerRadius)
java

(仅服务端合流支持设置)设置圆角半径。

传入参数

参数名类型说明
cornerRadiusdouble圆角半径相对画布宽度的比例。默认值为 0.0。

注意
做范围判定时,首先根据画布的宽高,将 width,height,和 radius 分别转换为像素值:width_px,height_px,和 radius_px。然后判定是否满足 radius_px < min(width_px/2, height_px/2):若满足,则设置成功;若不满足,则将 radius_px 设定为 min(width_px/2, height_px/2),然后将 radius 设定为 radius_px 相对画布宽度的比例值。

getCornerRadius
public double com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getCornerRadius()
java

获取圆角半径。

传入参数

参数名类型说明
cornerRadius****圆角半径相对画布宽度的比例。默认值为 0.0。

注意
做范围判定时,首先根据画布的宽高,将 width,height,和 radius 分别转换为像素值:width_px,height_px,和 radius_px。然后判定是否满足 radius_px < min(width_px/2, height_px/2):若满足,则设置成功;若不满足,则将 radius_px 设定为 min(width_px/2, height_px/2),然后将 radius 设定为 radius_px 相对画布宽度的比例值。

setMediaType
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setMediaType(
    MixedStreamMediaType mediaType)
java

(仅服务端合流支持设置)设置合流内容类型。

传入参数

参数名类型说明
mediaTypeMixedStreamMediaType合流内容控制。默认值为 MIXED_STREAM_MEDIA_TYPE_AUDIO_AND_VIDEO(0),参看 MixedStreamMediaType。

getMediaType
public MixedStreamMediaType com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getMediaType()
java

获取合流内容类型。

setRegionContentType
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setRegionContentType(
    MixedStreamLayoutRegionType regionContentType)
java

设置合流布局区域类型。

传入参数

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

getRegionContentType
public MixedStreamLayoutRegionType com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getRegionContentType()
java

获取合流布局区域类型。

setRenderMode
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setRenderMode(
    MixedStreamRenderMode renderMode)
java

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

传入参数

参数名类型说明
renderModeMixedStreamRenderMode图片或视频流的缩放模式,参看 MixedStreamRenderMode。默认值为 1。

getRenderMode
public MixedStreamRenderMode com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getRenderMode()
java

获取图片或视频流渲染的缩放模式。

getIsLocalUser
public boolean com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getIsLocalUser()
java

是否本地用户。

返回值

setIsLocalUser
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setIsLocalUser(
    boolean islocalUser)
java

设置是否是本地用户。

传入参数

参数名类型说明
islocalUserboolean标识是否是本地用户
• true: 是
• false: 否
客户端合流时,必须为 true。

setStreamType
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setStreamType(
    MixedStreamVideoType streamType)
java

设置 region 中的流类型是主流还是屏幕流。仅服务端合流支持合屏幕流。

传入参数

参数名类型说明
streamTypeMixedStreamVideoType流类型,参看 MixedStreamVideoType。

getStreamType
public MixedStreamVideoType com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getStreamType()
java

获取 region 中的流类型。

setImageWaterMark
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setImageWaterMark(
    byte[] imageWaterMark)
java

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

传入参数

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

getImageWaterMark
public byte[] com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getImageWaterMark()
java

获取图片合流区域类型对应的数据。

setImageWaterMarkConfig
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setImageWaterMarkConfig(
    MixedStreamLayoutRegionImageWaterMarkConfig imageWaterMarkConfig)
java

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

传入参数

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

getImageWaterMarkConfig
public MixedStreamLayoutRegionImageWaterMarkConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getImageWaterMarkConfig()
java

获取图片合流布局区域数据的对应参数。

setAlternateImageFillMode
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setAlternateImageFillMode(
    MixedStreamAlternateImageFillMode alternateImageFillMode)
java

Available since 3.57

设置占位图的填充模式。

该方法用来控制当用户停止发布视频流,画面恢复为占位图后,此时占位图的填充模式。

传入参数

参数名类型说明
alternateImageFillModeMixedStreamAlternateImageFillMode占位图的填充模式。参看 MixedStreamAlternateImageFillMode。

getAlternateImageFillMode
public MixedStreamAlternateImageFillMode com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getAlternateImageFillMode()
java

Available since 3.57

获取占位图的填充模式设置。

setAlternateImageURL
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setAlternateImageURL(
    String alternateImageUrl)
java

Available since 3.57

设置占位图的 URL,长度小于 1024 字符.

getAlternateImageURL
public String com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getAlternateImageURL()
java

Available since 3.57

获取占位图的 URL。

setSpatialPosition
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setSpatialPosition(
    Position spatialPosition)
java

设置当前 region 空间音频位置。

传入参数

参数名类型说明
spatialPositionPosition当前 region 的空间音频位置。

getSpatialPosition
public Position com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getSpatialPosition()
java

获取当前 region 空间音频位置。

setApplySpatialAudio
public MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setApplySpatialAudio(
    boolean applySpatialAudio)
java

设置某用户是否应用空间音频效果。

传入参数

参数名类型说明
applySpatialAudioboolean该用户是否应用空间音频效果:
• true:启用(默认值)
• false:禁用

getApplySpatialAudio
public boolean com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.getApplySpatialAudio()
java

获取某用户是否应用空间音频效果的设置。

MixedStreamLayoutRegionImageWaterMarkConfig
public static class com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.MixedStreamLayoutRegionImageWaterMarkConfig
java

图片合流相关参数。

成员函数
返回名称
MixedStreamLayoutRegionImageWaterMarkConfigsetImageHeight
intgetImageHeight
MixedStreamLayoutRegionImageWaterMarkConfigsetImageWidth
intgetImageWidth
函数说明

setImageHeight
public MixedStreamLayoutRegionImageWaterMarkConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.MixedStreamLayoutRegionImageWaterMarkConfig.setImageHeight(
    int imageHeight)
java

设置原始图片的高度。

传入参数

参数名类型说明
imageHeightint原始图片高度,单位为 px。

getImageHeight
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.MixedStreamLayoutRegionImageWaterMarkConfig.getImageHeight()
java

获取原始图片的高度。

setImageWidth
public MixedStreamLayoutRegionImageWaterMarkConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.MixedStreamLayoutRegionImageWaterMarkConfig.setImageWidth(
    int imageWidth)
java

设置原始图片的宽度。

传入参数

参数名类型说明
imageWidthint原始图片宽度,单位为 px。

getImageWidth
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.MixedStreamLayoutRegionImageWaterMarkConfig.getImageWidth()
java

获取原始图片的宽度。

MixedStreamVideoType
public enum com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.MixedStreamVideoType
java

region中流的类型属性

枚举值
类型说明
MIXED_STREAM_VIDEO_TYPE_MAIN(0)主流。包括:

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

+ 通过自定义采集,采集到的流。
MIXED_STREAM_VIDEO_TYPE_SCREEN(1)屏幕流。
成员函数
返回名称
intgetValue
函数说明

getValue
public int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.MixedStreamVideoType.getValue()
java
MixedStreamLayoutConfig
public static class com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutConfig
java

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

成员函数
返回名称
MixedStreamLayoutConfigsetBackgroundColor
StringgetBackgroundColor
MixedStreamLayoutConfigsetBackgroundImageURL
StringgetBackgroundImageURL
MixedStreamLayoutConfigsetRegions
MixedStreamLayoutRegionConfig[]getRegions
MixedStreamLayoutConfigsetUserConfigExtraInfo
StringgetUserConfigExtraInfo
函数说明

setBackgroundColor
public MixedStreamLayoutConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutConfig.setBackgroundColor(
    String backgroundColor)
java

设置画布的背景颜色。建议设置。值不合法或未设置时,自动使用默认值。

传入参数

参数名类型说明
backgroundColorString合流背景颜色,用十六进制颜色码(HEX)表示。例如,#FFFFFF 表示纯白,#000000 表示纯黑。默认值为 #000000。

getBackgroundColor
public String com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutConfig.getBackgroundColor()
java

获取画布的背景颜色。

setBackgroundImageURL
public MixedStreamLayoutConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutConfig.setBackgroundImageURL(
    String backgroundImageURL)
java

Available since 3.57

设置合流后整体画布的背景图片 URL。

传入参数

参数名类型说明
backgroundImageURLString背景图片 URL,长度最大为 1024 bytes。支持的图片格式包括:JPG, JPEG, PNG。如果背景图片的宽高和整体屏幕的宽高不一致,背景图片会缩放到铺满屏幕。

getBackgroundImageURL
public String com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutConfig.getBackgroundImageURL()
java

Available since 3.57

获取背景图片的地址。

setRegions
public MixedStreamLayoutConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutConfig.setRegions(
    MixedStreamLayoutRegionConfig[] regions)
java

设置用户布局信息列表。建议设置。

传入参数

参数名类型说明
regionsMixedStreamLayoutRegionConfig[]用户布局信息列表。为 MixedStreamLayoutRegionConfig 数据类型的数组。每一个该类型对象为一路单独的视频流的布局信息。
值不合法或未设置时,自动使用默认值。

getRegions
public MixedStreamLayoutRegionConfig[] com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutConfig.getRegions()
java

获取用户布局信息列表。

setUserConfigExtraInfo
public MixedStreamLayoutConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutConfig.setUserConfigExtraInfo(
    String userConfigExtraInfo)
java

设置透传的 App 数据

传入参数

参数名类型说明
userConfigExtraInfoString透传的 App 数据,长度不超过 4 KB。

getUserConfigExtraInfo
public String com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutConfig.getUserConfigExtraInfo()
java

获取透传的 App 数据。

MixedStreamType
public enum com.ss.bytertc.engine.live.MixedStreamType
java

合流类型

枚举值
类型说明
MIXED_STREAM_TYPE_BY_SERVER(0)服务端合流。
MIXED_STREAM_TYPE_BY_CLIENT(1)端云一体合流。SDK 智能决策在客户端或服务端完成合流。
成员函数
返回名称
MixedStreamTypeMixedStreamType
函数说明

MixedStreamType
com.ss.bytertc.engine.live.MixedStreamType.MixedStreamType(
    int value)
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

推流 CDN 地址。仅支持 RTMP 协议,Url 必须满足正则 /^rtmps?:\/\//。
本参数不支持过程中更新。

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要加载的动态库名称
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

视频帧数据指针地址
buffer 为 Direct 类型且 size 需和 capacity 相等

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

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

公共流参数。

成员变量
类型名称
StringACTION_START
StringACTION_CHANGED
StringACTION_STOPPED
静态函数
返回名称
static PublicStreaminggetDefualtPublicStreaming
成员函数
返回名称
voidsetRoomId
voidsetAction
voidsetVideo
voidsetLayout
VideoConfiggetVideo
LayoutgetLayout
变量说明

ACTION_START
public static final String com.ss.bytertc.engine.publicstream.PublicStreaming.ACTION_START = "started";
java

设置公共流发布动作参数:开启公共流推流功能。

ACTION_CHANGED
public static final String com.ss.bytertc.engine.publicstream.PublicStreaming.ACTION_CHANGED = "layoutChanged";
java

设置公共流发布动作参数:更新视频公共流布局。

ACTION_STOPPED
public static final String com.ss.bytertc.engine.publicstream.PublicStreaming.ACTION_STOPPED = "stopped";
java

设置公共流发布动作参数:停止公共流推流功能。

函数说明

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

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

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

setRoomId
public void com.ss.bytertc.engine.publicstream.PublicStreaming.setRoomId(
    String roomId)
java

设置 roomId。

传入参数

参数名类型说明
roomIdString

setAction
public void com.ss.bytertc.engine.publicstream.PublicStreaming.setAction(
    String action)
java

设置公共流发布动作参数。

传入参数

参数名类型说明
actionString公共流发布动作。可选取值如下:
• ACTION_START: 开启发布
• ACTION_CHANGED: 更新公共流布局
• ACTION_STOPPED: 停止发布

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

设置公共流视频参数。

传入参数

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

注意
建议先调用 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 数据类型。

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 数据类型。

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

获取当前公共流的布局模式。

返回值
当前使用的布局模式。

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

设置公共流的布局模式。

传入参数

参数名类型说明
layoutModeint公共流的目标布局模式:
• 0: 自动模式。默认值。
• 2: 自定义模式。

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

释放音频帧。

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

降噪模式。降噪算法受调用 joinRoom 时设置的房间模式影响。

枚举值
类型说明
ANS_MODE_DISABLE(0)关闭所有音频降噪能力。
ANS_MODE_LOW(1)适用于微弱降噪。
ANS_MODE_MEDIUM(2)适用于抑制中度平稳噪声,如空调声和风扇声。
ANS_MODE_HIGH(3)适用于抑制嘈杂非平稳噪声,如键盘声、敲击声、碰撞声、动物叫声。
ANS_MODE_AUTOMATIC(4)启用音频降噪能力。具体的降噪算法由 RTC 智能决策。
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)(默认)音乐场景。
此场景适用于对音乐表现力有要求的场景,如音乐直播等。
注意:在此场景下,使用蓝牙耳麦时,会通过手机自带麦克风采集音频。因此,不适用“通话时手机放在包里”等类似场景。使用 AUDIO_SCENARIO_HIGHQUALITY_COMMUNICATION 可以不受此限制。
此外,使用扬声器时,开关麦可能发生音量突变。
不同音频设备,开麦和闭麦状态下的使用的音量类型:






闭麦开麦
内置扬声器媒体音量通话音量
内置听筒通话音量通话音量
有线耳机/ USB 耳机/ 外置声卡媒体音量媒体音量
蓝牙耳机媒体音量媒体音量
AUDIO_SCENARIO_HIGHQUALITY_COMMUNICATION(1)高质量通话场景。兼顾外放/蓝牙耳机时的音频体验。
此场景适用于对音乐表现力有要求,但又希望能够使用蓝牙耳麦进行音频采集的场景。
注意:在此场景下,使用内置扬声器/听筒时,开关麦可能发生音量突变。使用 AUDIO_SCENARIO_HIGHQUALITY_CHAT 可以避免此种情况。
不同音频设备,开麦和闭麦状态下的使用的音量类型:






闭麦开麦
内置扬声器媒体音量通话音量
内置听筒通话音量通话音量
有线耳机/ USB 耳机/ 外置声卡媒体音量媒体音量
蓝牙耳机通话音量通话音量
AUDIO_SCENARIO_COMMUNICATION(2)纯通话音量场景。

可以最大程度地消除回声,使通话清晰度达到最优。此场景下,无论客户端音频采集播放设备和采集播放状态,全程使用通话音量,不会有音量突变的听感。
适用于需要频繁上下麦的通话或会议场景。
但是,此场景会压低使用媒体音量进行播放的其他音频的音量,且音质会变差。
AUDIO_SCENARIO_MEDIA(3)媒体场景。

当设备是内置听筒时,使用通话音量。其余情况使用媒体音量。
注意:在此场景下,使用蓝牙耳麦时,会通过手机自带麦克风采集音频。因此,不适用“通话时手机放在包里”等类似场景。
外放通话时,可能出现回声和啸叫,请联系技术支持人员。
AUDIO_SCENARIO_GAME_STREAMING(4)游戏媒体场景。

若外放通话且无游戏音效消除优化时音质不理想,请联系技术支持人员。
不同音频设备,开麦和闭麦状态下的使用的音量类型:






闭麦开麦
内置扬声器媒体音量媒体音量
听筒通话音量通话音量
有线耳机/ USB 耳机/ 外置声卡媒体音量媒体音量
蓝牙耳机通话音量通话音量
AUDIO_SCENARIO_HIGHQUALITY_CHAT(5)高质量畅聊场景。

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

不同音频设备,开麦和闭麦状态下的使用的音量类型:







闭麦开麦
内置扬声器通话音量通话音量
听筒通话音量通话音量
有线耳机/ USB 耳机/ 外置声卡媒体音量媒体音量
蓝牙耳机通话音量通话音量
AudioSelectionPriority
public enum com.ss.bytertc.engine.type.AudioSelectionPriority
java

音频选路优先级设置

枚举值
类型说明
AUDIO_SELECTION_PRIORITY_NORMAL(0)正常,参加音频选路
AUDIO_SELECTION_PRIORITY_HIGIH(1)高优先级,跳过音频选路
AudioRecordingState
public enum com.ss.bytertc.engine.type.AudioRecordingState
java

录音配置

枚举值
类型说明
AUDIO_RECORDING_STATE_ERROR(0)录制异常
AUDIO_RECORDING_STATE_PROCESSING(1)录制进行中
AUDIO_RECORDING_STATE_SUCCESS(2)已结束录制,并且录制文件保存成功。
ChannelProfile
public enum com.ss.bytertc.engine.type.ChannelProfile
java

房间模式

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

调用 setAudioProfile 改变音频参数配置

枚举值
类型说明
CHANNEL_PROFILE_COMMUNICATION(0)普通音频通话,默认模式

与 CHANNEL_PROFIEL_MEETING(16) 配置相同。

你可以联系技术支持更换默认配置参数。
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_PROFIEL_VR_CHAT(13)适用于 VR 场景。支持最高 192 KHz 音频采样率,可开启球形立体声。
CHANNEL_PROFILE_GAME_STREAMING(14)适用于 1 vs 1 游戏串流,支持公网或局域网。
CHANNEL_PROFILE_LAN_LIVE_STREAMING(15)适用于局域网的 1 对多视频直播,最高支持 8K, 60 帧/秒, 100 Mbps 码率

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

当你的场景中需要同时互动的成员超过 10人时使用此模式
[deprecated] CHANNEL_PROFILE_LIVE_BROADCASTING(1)直播模式。

当你对音视频通话的音质和画质要求较高时,应使用此设置。

此设置下,当用户使用蓝牙耳机收听时,蓝牙耳机使用媒体模式。
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)发送失败
HardwareEchoDetectionResult
public enum com.ss.bytertc.engine.type.HardwareEchoDetectionResult
java

通话前回声检测结果

枚举值
类型说明
HARDWARE_ECHO_RESULT_CANCELED(0)主动调用 stopHardwareEchoDetection 结束流程时,未有回声检测结果。
HARDWARE_ECHO_RESULT_UNKNOWN(1)未检测出结果。建议重试,如果仍然失败请联系技术支持协助排查。
HARDWARE_ECHO_RESULT_NORMAL(2)无回声
HARDWARE_ECHO_RESULT_POOR(3)有回声。可通过 UI 建议用户使用耳机设备入会。
LocalAudioStats
public class com.ss.bytertc.engine.type.LocalAudioStats
java

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

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

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

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 。

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

音频上行网络抖动,单位为 ms 。

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

本地代理配置详细信息。

成员变量
类型名称
LocalProxyTypelocalProxyType
StringlocalProxyIp
intlocalProxyPort
StringlocalProxyUsername
StringlocalProxyPassword
变量说明

localProxyType
public LocalProxyType com.ss.bytertc.engine.type.LocalProxyConfiguration.localProxyType;
java

本地代理类型,参看 LocalProxyType。

localProxyIp
public String com.ss.bytertc.engine.type.LocalProxyConfiguration.localProxyIp;
java

本地代理服务器 IP。

localProxyPort
public int com.ss.bytertc.engine.type.LocalProxyConfiguration.localProxyPort;
java

本地代理服务器端口。

localProxyUsername
public String com.ss.bytertc.engine.type.LocalProxyConfiguration.localProxyUsername;
java

本地代理用户名。

localProxyPassword
public String com.ss.bytertc.engine.type.LocalProxyConfiguration.localProxyPassword;
java

本地代理密码。

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

本地代理错误。

枚举值
类型说明
OK(0)本地代理服务器无错误。
SOCKS5_VERSION_ERROR(1)代理服务器回复的版本号不符合 Socks5 协议标准文档的规定,导致 Socks5 代理连接失败。请检查代理服务器是否存在异常。
SOCKS5_FORMAT_ERROR(2)代理服务器回复的格式错误不符合 Socks5 协议标准文档的规定,导致 Socks5 代理连接失败。请检查代理服务器是否存在异常。
SOCKS5_INVALID_VALUE(3)代理服务器回复的字段值不符合 Socks5 协议标准文档的规定,导致 Socks5 代理连接失败。请检查代理服务器是否存在异常。
SOCKS5_USER_PASS_NOT_GIVEN(4)未提供代理服务器的用户名及密码,导致 Socks5 代理连接失败。请重新调用 setLocalProxy,在设置本地代理时填入用户名和密码。
SOCKS5_TCP_CLOSED(5)TCP 关闭,导致 Socks5 代理连接失败。请检查网络或者代理服务器是否存在异常。
HTTP_TUNNEL_FAILED(6)Http 隧道代理错误。请检查 Http 隧道代理服务器或者网络是否存在异常。
LocalProxyState
public enum com.ss.bytertc.engine.type.LocalProxyState
java

本地代理连接状态。

枚举值
类型说明
INITED(0)TCP 代理服务器连接成功。
CONNECTED(1)本地代理连接成功。
ERROR(2)本地代理连接出现错误。
LocalProxyType
public enum com.ss.bytertc.engine.type.LocalProxyType
java

本地代理的类型。

枚举值
类型说明
SOCKS5(1)Socks5 代理。选用此代理服务器,需满足 Socks5 协议标准文档的要求。
HTTP_TUNNEL(2)Http 隧道代理。
LocalStreamStats
public class com.ss.bytertc.engine.type.LocalStreamStats
java

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

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

成员变量
类型名称
LocalAudioStatsaudioStats
LocalVideoStatsvideoStats
booleanisScreen
int[deprecated] txQuality
int[deprecated] rxQuality
变量说明

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

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

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

本地媒体上行网络质量,详见 NetworkQuality 。

Deprecated since 3.36 and will be deleted in 3.51, use onNetworkQuality instead.

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

本地媒体下行网络质量,详见 NetworkQuality 。

Deprecated since 3.36 and will be deleted in 3.51, use onNetworkQuality instead.

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
intjitter
intvideoDenoiseMode
变量说明

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

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

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

视频上行网络抖动,单位为 ms 。

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

上行视频当前降噪模式所处的状态 (0: 关/1: 开)。

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
LogoutReason
public class com.ss.bytertc.engine.type.LogoutReason
java

用户登出的原因

成员变量
类型名称
intLOGOUT_REASON_LOGOUT
intLOGOUT_REASON_DUPLICATE_LOGIN
变量说明

LOGOUT_REASON_LOGOUT
public static final int com.ss.bytertc.engine.type.LogoutReason.LOGOUT_REASON_LOGOUT = 0;
java

用户主动退出
用户调用 logout 接口登出,或者销毁引擎登出。

LOGOUT_REASON_DUPLICATE_LOGIN
public static final int com.ss.bytertc.engine.type.LogoutReason.LOGOUT_REASON_DUPLICATE_LOGIN = 1;
java

用户被动退出
另一个用户以相同 UserId 进行了 login,导致本端用户被踢出。

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_DETECT_LEAK_ECHO
intMEDIA_DEVICE_WARNING_CAPTURE_DETECT_HOWLING
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_DETECT_LEAK_ECHO
public static final int com.ss.bytertc.engine.type.MediaDeviceWarning.MEDIA_DEVICE_WARNING_DETECT_LEAK_ECHO = 11;
java

通话中出现回声现象。

当 ChannelProfile 为 CHANNEL_PROFIEL_MEETING 和 CHANNEL_PROFILE_MEETING_ROOM,且 AEC 关闭时,SDK 自动启动回声检测,如果检测到回声问题,将通过 onAudioDeviceWarning 返回本枚举值。

MEDIA_DEVICE_WARNING_CAPTURE_DETECT_HOWLING
public static final int com.ss.bytertc.engine.type.MediaDeviceWarning.MEDIA_DEVICE_WARNING_CAPTURE_DETECT_HOWLING = 16;
java

啸叫。触发该回调的情况如下:1)不支持啸叫抑制的房间模式下,检测到啸叫;2)支持啸叫抑制的房间模式下,检测到未被抑制的啸叫。
仅 CHANNEL_PROFILE_COMMUNICATION(0)、CHANNEL_PROFIEL_MEETING(16)、CHANNEL_PROFILE_MEETING_ROOM(17) 三种房间模式支持啸叫抑制。
建议提醒用户检查客户端的距离或将麦克风和扬声器调至静音。

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

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

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)同时控制音频和视频
MediaTypeEnhancementConfig
public class com.ss.bytertc.engine.type.MediaTypeEnhancementConfig
java

蜂窝网络辅助增强应用的媒体模式

成员变量
类型名称
booleanenhanceSignaling
booleanenhanceAudio
booleanenhanceVideo
booleanenhanceScreenAudio
booleanenhanceScreenVideo
变量说明

enhanceSignaling
public boolean com.ss.bytertc.engine.type.MediaTypeEnhancementConfig.enhanceSignaling = false;
java

对信令消息,是否启用蜂窝网络辅助增强。默认不启用。

enhanceAudio
public boolean com.ss.bytertc.engine.type.MediaTypeEnhancementConfig.enhanceAudio = false;
java

对屏幕共享以外的其他音频,是否启用蜂窝网络辅助增强。默认不启用。

enhanceVideo
public boolean com.ss.bytertc.engine.type.MediaTypeEnhancementConfig.enhanceVideo = false;
java

对屏幕共享视频以外的其他视频,是否启用蜂窝网络辅助增强。默认不启用。

enhanceScreenAudio
public boolean com.ss.bytertc.engine.type.MediaTypeEnhancementConfig.enhanceScreenAudio = false;
java

对屏幕共享音频,是否启用蜂窝网络辅助增强。默认不启用。

enhanceScreenVideo
public boolean com.ss.bytertc.engine.type.MediaTypeEnhancementConfig.enhanceScreenVideo = false;
java

对屏幕共享视频,是否启用蜂窝网络辅助增强。默认不启用。

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

发送消息的可靠有序性

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

通话前探测链接的类型。

onNetworkDetectionResult 回调的参数类型

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

通话前探测的停止原因。

onNetworkDetectionStopped 回调的参数类型

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

当超过 12s 没有收到回复,SDK 将断开网络连接,并且不再尝试重连。
STREAMING (3)本地开始推拉流,停止探测
INNER_ERR (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
intNETWORK_QUALITY_DOWN
变量说明

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

媒体流网络质量非常差。

NETWORK_QUALITY_DOWN
public static final int com.ss.bytertc.engine.type.NetworkQuality.NETWORK_QUALITY_DOWN = 6;
java

网络连接断开,无法通话。网络可能由于 12s 内无应答、开启飞行模式、拔掉网线等原因断开。
更多网络状态信息参见 连接状态提示。

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

上行网络质量分。分数越高网络质量越差,详见 NetworkQuality。

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

下行网络质量分。分数越高网络质量越差,详见 NetworkQuality。

函数说明

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

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

枚举值
类型说明
AUDIO(0)只控制音频,不影响视频
VIDEO(1)只控制视频,不影响音频
AUDIO_AND_VIDEO(2)同时控制音频和视频
PerformanceAlarmMode
public enum com.ss.bytertc.engine.type.PerformanceAlarmMode
java

性能回退的模式

枚举值
类型说明
NORMAL(0)未开启发布性能回退
SIMULCAST(1)已开启发布性能回退
PerformanceAlarmReason
public enum com.ss.bytertc.engine.type.PerformanceAlarmReason
java

性能相关告警的原因

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

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

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

通话质量反馈信息

成员变量
类型名称
StringproblemDesc
ListroomInfo
成员函数
返回名称
ProblemFeedbackInfoProblemFeedbackInfo
变量说明

problemDesc
public String com.ss.bytertc.engine.type.ProblemFeedbackInfo.problemDesc;
java

文字描述

roomInfo
public List<ProblemFeedbackRoomInfo> com.ss.bytertc.engine.type.ProblemFeedbackInfo.roomInfo;
java

房间信息,参看 ProblemFeedbackRoomInfo。

函数说明

ProblemFeedbackInfo
public com.ss.bytertc.engine.type.ProblemFeedbackInfo.ProblemFeedbackInfo(
    String problemDesc)
java
ProblemFeedbackOption
public enum com.ss.bytertc.engine.type.ProblemFeedbackOption
java

音视频质量反馈问题类型

枚举值
类型说明
NONE(0)没有问题
OTHER_MESSAGE(1L)其他问题
DISCONNECTED (1L << 1)连接失败
EAR_BACK_DELAY (1L << 2)耳返延迟大
LOCAL_NOISE (1L << 10)本端有杂音
LOCAL_AUDIO_LAGGING (1L << 11)本端声音卡顿
LOCAL_NO_AUDIO (1L << 12)本端无声音
LOCAL_AUDIO_STRENGTH (1L << 13)本端声音大/小
LOCAL_ECHO (1L << 14)本端有回声
LOCAL_VIDEO_FUZZY (1L << 24)本端视频模糊
LOCAL_NOT_SYNC (1L << 25)本端音视频不同步
LOCAL_VIDEO_LAGGING (1L << 26)本端视频卡顿
LOCAL_NO_VIDEO(1L << 27)本端无画面
REMOTE_NOISE(1L << 37)远端有杂音
REMOTE_AUDIO_LAGGING(1L << 38)远端声音卡顿
REMOTE_NO_AUDIO(1L << 39)远端无声音
REMOTE_AUDIO_STRENGTH(1L << 40)远端声音大/小
REMOTE_ECHO(1L << 41)远端有回声
REMOTE_VIDEO_FUZZY(1L << 51)远端视频模糊
REMOTE_NOT_SYNC(1L << 52)远端音视频不同步
REMOTE_VIDEO_LAGGING(1L << 53)远端视频卡顿
REMOTE_NO_VIDEO(1L << 54)远端无画面
ProblemFeedbackRoomInfo
public class com.ss.bytertc.engine.type.ProblemFeedbackRoomInfo
java

通话质量反馈中的房间信息

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

roomId
public String com.ss.bytertc.engine.type.ProblemFeedbackRoomInfo.roomId;
java

房间 ID

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

用户 ID

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

发布端音视频流回退选项

枚举值
类型说明
DISABLE(0)上行网络不佳或设备性能不足时,不对音视频流作回退处理。默认设置。
SIMULCAST_SMALL_VIDEO_ONLY(1)上行网络不佳或设备性能不足时,发布的视频流会从大流到小流依次降级,直到与当前网络性能匹配,具体降级规则参看性能回退文档。
静态函数
返回名称
static PublishFallbackOptionfromId
函数说明

fromId
public static PublishFallbackOption com.ss.bytertc.engine.type.PublishFallbackOption.fromId(
    int id)
java
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

本地录制文件的存储格式

枚举值
类型说明
AAC(0)aac 格式文件
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
inttotalRtt
intquality
intjitterBufferDelay
intnumChannels
intreceivedSampleRate
intfrozenRate
intconcealedSamples
intconcealmentEvent
intdecSampleRate
intdecDuration
intjitter
变量说明

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 。

totalRtt
public int com.ss.bytertc.engine.type.RemoteAudioStats.totalRtt;
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。

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

音频下行网络抖动,单位为 ms 。

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

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

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

成员变量
类型名称
Stringuid
RemoteAudioStatsaudioStats
RemoteVideoStatsvideoStats
booleanisScreen
int[deprecated] txQuality
int[deprecated] rxQuality
变量说明

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

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

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

所属用户的媒体流上行网络质量,详见 NetworkQuality 。

Deprecated since 3.36 and will be deleted in 3.51, use onNetworkQuality instead.

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

所属用户的媒体流下行网络质量,详见 NetworkQuality 。

Deprecated since 3.36 and will be deleted in 3.51, use onNetworkQuality instead.

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

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

成员变量
类型名称
Stringuid
booleanisScreen
intbeforeVideoIndex
intafterVideoIndex
booleanbeforeEnable
booleanafterEnable
FallbackOrRecoverReasonreason
变量说明

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

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

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

是否是屏幕共享流

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

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

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

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

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

流切换前是否有视频流

afterEnable
public boolean com.ss.bytertc.engine.type.RemoteStreamSwitch.afterEnable;
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

远端视频流状态。

枚举值
类型说明
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 。
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
intjitter
intsuperResolutionMode
变量说明

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

对应多种分辨率的流的下标。

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

视频下行网络抖动,单位为 ms。

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

远端视频超分模式,参看 VideoSuperResolutionMode。

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
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)

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

黑帧视频流状态

枚举值
类型说明
STREAM_ADD (0)远端用户发布黑帧视频流。

纯语音通话场景下,远端用户调用 sendSEIMessage 发送 SEI 数据时,SDK 会自动发布一路黑帧视频流,并触发该回调。
STREAM_REMOVE (1)远端黑帧视频流移除。该回调的触发时机包括:

+ 远端用户开启摄像头采集,由语音通话切换至视频通话,黑帧视频流停止发布;

+ 远端用户调用 sendSEIMessage 后 1min 内未有 SEI 数据发送,黑帧视频流停止发布;

+ 远端用户调用 setVideoSourceType 切换至自定义视频采集时,黑帧视频流停止发布。
SetRoomExtraInfoResult
public enum com.ss.bytertc.engine.type.SetRoomExtraInfoResult
java

设置房间附加消息结果。

枚举值
类型说明
SUCCESS(0)设置房间附加信息成功
NOT_JOIN_ROOM(-1)设置失败,尚未加入房间
KEY_IS_NULL(-2)设置失败,key 指针为空
VALUE_IS_NULL(-3)设置失败,value 指针为空
UNKNOW(-99)设置失败,未知错误
KEY_IS_EMPTY(-400)设置失败,key 长度为 0
TOO_OFTEN(-406)调用 setRoomExtraInfo 过于频繁,建议不超过 10 次/秒。
SILENT_USER(-412)设置失败,用户已调用 setUserVisibility 将自身设为隐身状态。
KEY_TOO_LONG(-413)设置失败,Key 长度超过 10 字节
VALUE_TOO_LONG(-414)设置失败,value 长度超过 128 字节
SERVER_ERROR(-500)设置失败,服务器错误
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)媒体服务器 10s 没收到客户端的媒体数据。
STREAM_REMOVE_REASON_CLIENT_DISCONNECTED(3)远端用户断网。
STREAM_REMOVE_REASON_REPUBLISH(4)远端用户重新发布流。
STREAM_REMOVE_REASON_OTHER(5)其他原因。
STREAM_REMOVE_REASON_PUBLISH_PRIVILEGE_TOKEN_EXPIRED(6)远端用户 Token 发布权限过期。
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)下行网络不佳或设备性能不足时,先对视频流做回退处理。当网络状况不满足接收弱流时,则自动取消接收视频,仅接收音频。

该设置仅对发布端调用 enableSimulcastMode 开启发送多路流功能的情况生效。
静态函数
返回名称
static SubscribeFallbackOptionsfromId
函数说明

fromId
public static SubscribeFallbackOptions com.ss.bytertc.engine.type.SubscribeFallbackOptions.fromId(
    int id)
java
SubscribeMediaType
public enum com.ss.bytertc.engine.type.SubscribeMediaType
java

订阅的媒体类型

枚举值
类型说明
NONE(0)既不订阅音频,也不订阅视频
AUDIO_ONLY(1)只订阅音频,不订阅视频
VIDEO_ONLY(2)只订阅视频,不订阅音频
AUDIO_AND_VIDEO(3)同时订阅音频和视频
SubtitleConfig
public class com.ss.bytertc.engine.type.SubtitleConfig
java

字幕配置信息。

成员变量
类型名称
SubtitleModemode
StringtargetLanguage
变量说明

mode
public SubtitleMode com.ss.bytertc.engine.type.SubtitleConfig.mode;
java

字幕模式。可以根据需要选择识别和翻译两种模式。开启识别模式,会将识别后的用户语音转化成文字;开启翻译模式,会在语音识别后进行翻译。参看 SubtitleMode。

targetLanguage
public String com.ss.bytertc.engine.type.SubtitleConfig.targetLanguage = "";
java

目标翻译语言。可点击 语言支持 查看翻译服务最新支持的语种信息。

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

字幕具体内容。

成员变量
类型名称
StringuserId
Stringtext
Stringlanguage
SubtitleModemode
intsequence
booleandefinite
静态函数
返回名称
static SubtitleMessagecreate
变量说明

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

说话者的用户ID。

text
public String com.ss.bytertc.engine.type.SubtitleMessage.text;
java

字幕文本, 采用 UTF-8 编码。

language
public String com.ss.bytertc.engine.type.SubtitleMessage.language;
java

字幕语种,根据字幕模式为原文或译文对应的语种。

mode
public SubtitleMode com.ss.bytertc.engine.type.SubtitleMessage.mode;
java

字幕模式,参看 SubtitleMode。

sequence
public int com.ss.bytertc.engine.type.SubtitleMessage.sequence;
java

字幕文本序列号,同一发言人的完整发言和不完整发言会按递增顺序单独分别编号。

definite
public boolean com.ss.bytertc.engine.type.SubtitleMessage.definite;
java

语音识别出的文本是否为一段完整的一句话。 True 代表是, False 代表不是。

函数说明

create
public static SubtitleMessage com.ss.bytertc.engine.type.SubtitleMessage.create(
    String userId,
    String text,
    String language,
    int mode,
    int sequence,
    boolean definite)
java
SubtitleMode
public enum com.ss.bytertc.engine.type.SubtitleMode
java

字幕模式。

枚举值
类型说明
SUBTITLE_MODE_RECOGINTE(0)识别模式。在此模式下,房间内用户语音会被转为文字。
SUBTITLE_MODE_TRANSLATION(1)翻译模式。在此模式下,房间内用户语音会先被转为文字,再被翻译为目标语言。
SubtitleState
public enum com.ss.bytertc.engine.type.SubtitleState
java

字幕任务状态。

枚举值
类型说明
SUBTITLE_STATE_STARTED(0)开启字幕。
SUBTITLE_STATE_STOPED(1)关闭字幕。
SUBTITLE_STATE_ERROR(2)字幕任务出现错误。
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

无法获取对端用户在线状态

发生级联错误、对端用户在线状态异常时返回

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

用户可见性状态改变错误码。

枚举值
类型说明
OK(0)成功。
UNKNOWN(1)未知错误。
TOO_MANY_VISIBLE_USER(2)房间内可见用户达到上限。
VideoDeviceFacing
public enum com.ss.bytertc.engine.type.VideoDeviceFacing
java

视频设备朝向类型

枚举值
类型说明
FRONT(0)前置摄像头
BACK(1)后置摄像头
UNKNOWN(2)未知类型
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)机器人
VoiceEqualizationBandFrequency
public enum com.ss.bytertc.engine.type.VoiceEqualizationBandFrequency
java

音频均衡效果。

枚举值
类型说明
VOICE_EQUALIZATION_BAND_FREQUENCY_31(0)中心频率为 31Hz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_62(1)中心频率为 62Hz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_125(2)中心频率为 125Hz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_250(3)中心频率为 250Hz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_500(4)中心频率为 500Hz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_1K(5)中心频率为 1kHz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_2K(6)中心频率为 2kHz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_4K(7)中心频率为 4kHz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_8K(8)中心频率为 8kHz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_16K(9)中心频率为 16kHz 的频带。
VoiceEqualizationConfig
public class com.ss.bytertc.engine.type.VoiceEqualizationConfig
java

语音均衡效果。

成员变量
类型名称
VoiceEqualizationBandFrequencyfrequency
intgain
变量说明

frequency
public VoiceEqualizationBandFrequency com.ss.bytertc.engine.type.VoiceEqualizationConfig.frequency;
java

频带。参看 VoiceEqualizationBandFrequency。

gain
public int com.ss.bytertc.engine.type.VoiceEqualizationConfig.gain;
java

频带增益(dB)。取值范围是 [-15, 15]。

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

音频混响效果。

成员变量
类型名称
floatroomSize
floatdecayTime
floatdamping
floatwetGain
floatdryGain
floatpreDelay
变量说明

roomSize
public float com.ss.bytertc.engine.type.VoiceReverbConfig.roomSize = 50.0f;
java

混响模拟的房间大小,取值范围 [0.0, 100.0]。默认值为 50.0f。房间越大,混响越强。

decayTime
public float com.ss.bytertc.engine.type.VoiceReverbConfig.decayTime = 50.0f;
java

混响的拖尾长度,取值范围 [0.0, 100.0]。默认值为 50.0f。

damping
public float com.ss.bytertc.engine.type.VoiceReverbConfig.damping = 50.0f;
java

混响的衰减阻尼大小,取值范围 [0.0, 100.0]。默认值为 50.0f。

wetGain
public float com.ss.bytertc.engine.type.VoiceReverbConfig.wetGain = 0.0f;
java

早期反射信号强度。取值范围 [-20.0, 10.0],单位为 dB。默认值为 0.0f。

dryGain
public float com.ss.bytertc.engine.type.VoiceReverbConfig.dryGain = 0.0f;
java

原始信号强度。取值范围 [-20.0, 10.0],单位为 dB。默认值为 0.0f。

preDelay
public float com.ss.bytertc.engine.type.VoiceReverbConfig.preDelay = 0.0f;
java

早期反射信号的延迟。取值范围 [0.0, 200.0],单位为 ms。默认值为 0.0f。

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)录音棚
VOICE_REVERB_VIRTUAL_STEREO(6)虚拟立体声
VOICE_REVERB_SPACIOUS(7)空旷
VOICE_REVERB_3D(8)3D人声
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
longframeTimestampUs
变量说明

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。

frameTimestampUs
public long com.ss.bytertc.engine.video.FaceDetectionResult.frameTimestampUs;
java

进行人脸识别的视频帧的时间戳。

IVideoSink
public interface com.ss.bytertc.engine.video.IVideoSink
java

自定义视频渲染器。

成员函数
返回名称
voidonFrame
intgetRenderElapse
函数说明

onFrame
void com.ss.bytertc.engine.video.IVideoSink.onFrame(
    VideoFrame frame)
java

视频帧回调

传入参数

参数名类型说明
frameVideoFrame视频帧结构类,参看 VideoFrame

getRenderElapse
int com.ss.bytertc.engine.video.IVideoSink.getRenderElapse()
java

获取外部渲染耗时。

返回值
外部渲染平均耗时,单位:毫秒

PixelFormat
public @interface com.ss.bytertc.engine.video.IVideoSink.PixelFormat
java

视频帧数据格式

成员变量
类型名称
intOriginal
intI420
intRGBA
变量说明

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数据格式

RGBA
int com.ss.bytertc.engine.video.IVideoSink.PixelFormat.RGBA = 5;
java

RGBA 格式, 一个像素占据32位, 字节序为 A8 B8 G8 R8

LocalVideoRenderPosition
public enum com.ss.bytertc.engine.video.LocalVideoRenderPosition
java

本地视频帧回调位置。

枚举值
类型说明
AFTER_CAPTURE(0)采集后。
AFTER_PREPROCESS(1)(默认值)前处理后。
LocalVideoSinkConfig
public class com.ss.bytertc.engine.video.LocalVideoSinkConfig
java

本地视频帧回调配置。

成员变量
类型名称
LocalVideoRenderPositionposition
intpixelFormat
变量说明

position
public LocalVideoRenderPosition com.ss.bytertc.engine.video.LocalVideoSinkConfig.position = LocalVideoRenderPosition.AFTER_PREPROCESS;
java

本地视频帧回调位置,参看 LocalVideoRenderPosition,默认回调前处理后的视频帧。

pixelFormat
public int com.ss.bytertc.engine.video.LocalVideoSinkConfig.pixelFormat = 0;
java

本地视频帧回调格式,参看 VideoPixelFormat,默认值为 0。

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
RemoteVideoRenderPosition
public enum com.ss.bytertc.engine.video.RemoteVideoRenderPosition
java

远程视频帧回调位置。

枚举值
类型说明
AFTER_DECODER(0)解码后。
AFTER_POST_PROCESS(1)(默认值)后处理后。
RemoteVideoSinkConfig
public class com.ss.bytertc.engine.video.RemoteVideoSinkConfig
java

远端视频帧回调配置。

成员变量
类型名称
RemoteVideoRenderPositionposition
intpixelFormat
VideoApplyRotationapplyRotation
VideoRenderMirrorTypemirrorType
变量说明

position
public RemoteVideoRenderPosition com.ss.bytertc.engine.video.RemoteVideoSinkConfig.position = RemoteVideoRenderPosition.AFTER_POST_PROCESS;
java

远端视频帧回调位置,参看 RemoteVideoRenderPosition,默认回调后处理后的视频帧。

pixelFormat
public int com.ss.bytertc.engine.video.RemoteVideoSinkConfig.pixelFormat = 0;
java

远端视频帧回调格式,参看 VideoPixelFormat,默认值为 0。

applyRotation
public VideoApplyRotation com.ss.bytertc.engine.video.RemoteVideoSinkConfig.applyRotation = VideoApplyRotation.DEFAULT;
java

是否将视频帧自动转正,参看 VideoApplyRotation,默认为不旋转。

mirrorType
public VideoRenderMirrorType com.ss.bytertc.engine.video.RemoteVideoSinkConfig.mirrorType = VideoRenderMirrorType.OFF;
java

是否将视频帧镜像。参看 VideoRenderMirrorType,默认为不镜像。
本设置与 setRemoteVideoMirrorType (适用于内部渲染)相互独立。

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
intminBitrate
变量说明

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

minBitrate
public int com.ss.bytertc.engine.video.ScreenSharingParameters.minBitrate = 0;
java

视频最小编码码率, 单位 kbps。编码码率不会低于 minBitrate。

默认值为 0。

范围:[0, bitrate),当 bitrate < minBitrate 时,为适配码率模式。

以下情况,设置本参数无效:

VideoApplyRotation
public enum com.ss.bytertc.engine.video.VideoApplyRotation
java

是否将视频帧自动转正。

枚举值
类型说明
DEFAULT(-1)(默认值)不旋转。
DEGREE_0(0)自动转正视频,即根据视频帧的旋转角信息将视频帧旋转到 0 度。
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 中设置的参数。
VideoDeviceInfo
public class com.ss.bytertc.engine.video.VideoDeviceInfo
java

视频设备信息

成员变量
类型名称
StringdeviceId
StringdeviceName
VideoDeviceFacingdeviceFacing
变量说明

deviceId
public String com.ss.bytertc.engine.video.VideoDeviceInfo.deviceId;
java

设备 ID

deviceName
public String com.ss.bytertc.engine.video.VideoDeviceInfo.deviceName;
java

设备名称

deviceFacing
public VideoDeviceFacing com.ss.bytertc.engine.video.VideoDeviceInfo.deviceFacing;
java

视频设备朝向信息,参看 VideoDeviceFacing。

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

高

VideoEncoderConfiguration
public class com.ss.bytertc.engine.video.VideoEncoderConfiguration
java

视频编码配置。参考 设置视频发布参数

成员变量
类型名称
VideoDimensionsdimensions
FrameRateframeRate
intkBitrate
intkMinBitrate
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

视频编码码率

kMinBitrate
public int com.ss.bytertc.engine.video.VideoEncoderConfiguration.kMinBitrate;
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 内部解码,只回调解码后的数据。回调为onFrame。
VIDEO_DECODER_CONFIG_ENCODE(1)开启自定义解码,只回调解码前数据。回调为onRemoteEncodedVideoFrame。
VIDEO_DECODER_CONFIG_BOTH(2)开启 SDK 内部解码,同时回调解码前和解码后的数据。onFrame 和 onRemoteEncodedVideoFrame。
VideoPreprocessorConfig
public class com.ss.bytertc.engine.video.VideoPreprocessorConfig
java

视频处理配置参数。

成员变量
类型名称
VideoPixelFormatrequiredPixelFormat
变量说明

requiredPixelFormat
public VideoPixelFormat com.ss.bytertc.engine.video.VideoPreprocessorConfig.requiredPixelFormat = VideoPixelFormat.UNKNOWN;
java

设置请求的像素格式,参看 VideoPixelFormat。
当前仅支持 I420、TEXTURE_2D 和 UNKNOWN 格式。

VideoRenderMirrorType
public enum com.ss.bytertc.engine.video.VideoRenderMirrorType
java

是否将视频帧镜像。

枚举值
类型说明
ON(1)开启镜像。
OFF(2)(默认值)不开启镜像。
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

AudioPlayType
public enum com.ss.bytertc.ktv.data.AudioPlayType
java

音乐播放类型。

枚举值
类型说明
LOCAL(0)仅本地播放。
REMOTE(1)仅远端播放。
LOCAL_AND_REMOTE(2)本地、远端同时播放。
AudioTrackType
public enum com.ss.bytertc.ktv.data.AudioTrackType
java

原唱伴唱类型。

枚举值
类型说明
ORIGINAL(1)播放原唱。
ACCOMPANY(2)播放伴唱。
KTVPlayerErrorCode
public enum com.ss.bytertc.ktv.data.KTVPlayerErrorCode
java

KTV 播放器错误码。

枚举值
类型说明
OK(0)成功。
FILE_NOT_EXIST(-3020)播放错误,请下载后播放。
FILE_ERROR(-3021)播放错误,请确认文件播放格式。
NOT_JOIN_ROOM(-3022)播放错误,未进入房间。
PARAM(-3023)参数错误。
START_ERROR(-3024)播放失败,找不到文件或文件打开失败。
MIX_ID_ERROR(-3025)混音 ID 异常。
POSITION_ERROR(-3026)设置播放位置出错。
AUDIO_VOLUME_ERROR(-3027)音量参数不合法,可设置的取值范围为 [0,400]。
TYPE_ERROR(-3028)不支持此混音类型。
PITCH_ERROR(-3029)音调文件不合法。
AUDIO_TRACK_ERROR(-3030)音轨不合法。
STARTING_ERROR(-3031)混音启动中。
DownloadFileType
public enum com.ss.bytertc.ktv.data.DownloadFileType
java

下载文件类型。

枚举值
类型说明
MUSIC(1)音频文件。
KRC(2)KRC 歌词文件。
LRC(3)LRC 歌词文件。
MIDI(4)MIDI 文件。
DownloadLyricType
public enum com.ss.bytertc.ktv.data.DownloadLyricType
java

歌词文件类型。

枚举值
类型说明
KRC(0)KRC 歌词文件。
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
MusicInfo[]musicInfos
变量说明

hotType
public MusicHotType com.ss.bytertc.ktv.data.HotMusicInfo.hotType;
java

热榜类别,参看 MusicHotType。多个热榜类别可以按位或组合。

hotName
public String com.ss.bytertc.ktv.data.HotMusicInfo.hotName;
java

热榜名称。

musicInfos
public MusicInfo[] com.ss.bytertc.ktv.data.HotMusicInfo.musicInfos;
java

歌曲数据,参看 MusicInfo。

LyricStatus
public enum com.ss.bytertc.ktv.data.LyricStatus
java

歌词格式类型。

枚举值
类型说明
NONE(0)无歌词。
KRC(1)KRC 歌词。
LRC(2)LRC 歌词。
KRC_AND_LRC(4)KRC 歌词和 LRC 歌词均有。
MusicInfo
public class com.ss.bytertc.ktv.data.MusicInfo
java

歌曲数据。

成员变量
类型名称
StringmusicId
StringmusicName
Stringsinger
StringvendorId
StringvendorName
longupdateTimestamp
StringposterUrl
LyricStatuslyricStatus
intduration
booleanenableScore
intclimaxStartTime
intclimaxEndTime
变量说明

musicId
public String com.ss.bytertc.ktv.data.MusicInfo.musicId;
java

音乐 ID。

musicName
public String com.ss.bytertc.ktv.data.MusicInfo.musicName;
java

音乐名称。

singer
public String com.ss.bytertc.ktv.data.MusicInfo.singer;
java

歌手。

vendorId
public String com.ss.bytertc.ktv.data.MusicInfo.vendorId;
java

版权商 ID。

vendorName
public String com.ss.bytertc.ktv.data.MusicInfo.vendorName;
java

版权商名称。

updateTimestamp
public long com.ss.bytertc.ktv.data.MusicInfo.updateTimestamp;
java

最新更新时间戳,单位为毫秒。

posterUrl
public String com.ss.bytertc.ktv.data.MusicInfo.posterUrl;
java

封面地址。

lyricStatus
public LyricStatus com.ss.bytertc.ktv.data.MusicInfo.lyricStatus;
java

歌词格式类型,参看 LyricStatus。

duration
public int com.ss.bytertc.ktv.data.MusicInfo.duration;
java

歌曲长度,单位为毫秒。

enableScore
public boolean com.ss.bytertc.ktv.data.MusicInfo.enableScore;
java

歌曲是否支持打分。

climaxStartTime
public int com.ss.bytertc.ktv.data.MusicInfo.climaxStartTime;
java

歌曲高潮片段开始时间,单位为毫秒。

climaxEndTime
public int com.ss.bytertc.ktv.data.MusicInfo.climaxEndTime;
java

歌曲高潮片段停止时间,单位为毫秒。

MusicFilterType
public enum com.ss.bytertc.ktv.data.MusicFilterType
java

歌曲过滤方式。

枚举值
类型说明
NONE(0)不过滤。
WITHOUT_LYRIC(1<<0)过滤没有歌词的歌曲。
UNSUPPORTED_SCORE(1<<1)过滤不支持打分的歌曲。
UNSUPPORTED_ACCOMPANY(1<<2)过滤不支持伴唱切换的歌曲。
UNSUPPORTED_CLIMAX(1<<3)过滤没有高潮片段的歌曲。
MusicHotType
public enum com.ss.bytertc.ktv.data.MusicHotType
java

热榜类别。

枚举值
类型说明
CONTENT_CENTER(1 << 0)火山内容中心热歌榜。
PROJECT(1 << 1)项目热歌榜。
PlayState
public enum com.ss.bytertc.ktv.data.PlayState
java

音乐播放状态。

枚举值
类型说明
PLAYING(1)播放中。
PAUSED(2)暂停中。
STOPPED(3)已停止。
FAILED(4)播放失败。
FINISHED(5)播放结束。
BackgroundMode
public enum com.ss.bytertc.engine.type.BackgroundMode
java

背景模式
开启背景替换功能时生效,详见 replaceBackground。

枚举值
类型说明
BACKGROUND_A(0)背景1
BACKGROUND_B(1)背景2
BLUR(2)虚化
NONE(3)无
成员函数
返回名称
intvalue
函数说明

value
public int com.ss.bytertc.engine.type.BackgroundMode.value()
java

获取 Background 的 int value

返回值
int 类型的 value

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

分割模型。开启背景替换功能时生效,详见replaceBackground。

枚举值
类型说明
EFFECT(0)effect
DEFAULT(1)自研
MediaDeviceType
public class com.ss.bytertc.engine.type.MediaDeviceType
java

媒体设备类型

成员变量
类型名称
intMEDIA_DEVICE_TYPE_AUDIO_UNKNOWN
intMEDIA_DEVICE_TYPE_AUDIO_RENDER_DEVICE
intMEDIA_DEVICE_TYPE_AUDIO_CAPTURE_DEVICE
intMEDIA_DEVICE_TYPE_VIDEO_CAPTURE_DEVICE
intMEDIA_DEVICE_TYPE_SCREEN_VIDEO_CAPTURE_DEVICE
intMEDIA_DEVICE_TYPE_SCREEN_AUDIO_CAPTURE_DEVICE
变量说明

MEDIA_DEVICE_TYPE_AUDIO_UNKNOWN
public static final int com.ss.bytertc.engine.type.MediaDeviceType.MEDIA_DEVICE_TYPE_AUDIO_UNKNOWN = -1;
java

未知设备

MEDIA_DEVICE_TYPE_AUDIO_RENDER_DEVICE
public static final int com.ss.bytertc.engine.type.MediaDeviceType.MEDIA_DEVICE_TYPE_AUDIO_RENDER_DEVICE = 0;
java

音频渲染设备

MEDIA_DEVICE_TYPE_AUDIO_CAPTURE_DEVICE
public static final int com.ss.bytertc.engine.type.MediaDeviceType.MEDIA_DEVICE_TYPE_AUDIO_CAPTURE_DEVICE = 1;
java

音频采集设备

MEDIA_DEVICE_TYPE_VIDEO_CAPTURE_DEVICE
public static final int com.ss.bytertc.engine.type.MediaDeviceType.MEDIA_DEVICE_TYPE_VIDEO_CAPTURE_DEVICE = 3;
java

视频采集设备

MEDIA_DEVICE_TYPE_SCREEN_VIDEO_CAPTURE_DEVICE
public static final int com.ss.bytertc.engine.type.MediaDeviceType.MEDIA_DEVICE_TYPE_SCREEN_VIDEO_CAPTURE_DEVICE = 4;
java

屏幕视频设备

MEDIA_DEVICE_TYPE_SCREEN_AUDIO_CAPTURE_DEVICE
public static final int com.ss.bytertc.engine.type.MediaDeviceType.MEDIA_DEVICE_TYPE_SCREEN_AUDIO_CAPTURE_DEVICE = 5;
java

屏幕音频设备

VideoEffectExpressionConfig
public class com.ss.bytertc.engine.video.VideoEffectExpressionConfig
java

人像属性检测参数

成员变量
类型名称
booleanenableAgeDetect
booleanenableGenderDetect
booleanenableEmotionDetect
booleanenableAttractivenessDetect
booleanenableHappinessDetect
变量说明

enableAgeDetect
public boolean com.ss.bytertc.engine.video.VideoEffectExpressionConfig.enableAgeDetect = false;
java

是否开启年龄检测。

enableGenderDetect
public boolean com.ss.bytertc.engine.video.VideoEffectExpressionConfig.enableGenderDetect = false;
java

是否开启性别检测。

enableEmotionDetect
public boolean com.ss.bytertc.engine.video.VideoEffectExpressionConfig.enableEmotionDetect = false;
java

是否开启表情检测。

enableAttractivenessDetect
public boolean com.ss.bytertc.engine.video.VideoEffectExpressionConfig.enableAttractivenessDetect = false;
java

是否开启吸引力检测。

enableHappinessDetect
public boolean com.ss.bytertc.engine.video.VideoEffectExpressionConfig.enableHappinessDetect = false;
java

是否开启开心程度检测。

RTCStream
public class com.ss.bytertc.engine.RTCStream
java

流属性。

成员变量
类型名称
StringuserId
booleanisScreen
booleanhasVideo
booleanhasAudio
ListvideoStreamDescriptions
变量说明

userId
public String com.ss.bytertc.engine.RTCStream.userId;
java

发布此流的用户 ID 。

isScreen
public boolean com.ss.bytertc.engine.RTCStream.isScreen;
java

此流是否为共享屏幕流。

hasVideo
public boolean com.ss.bytertc.engine.RTCStream.hasVideo;
java

此流是否包括视频流。

hasAudio
public boolean com.ss.bytertc.engine.RTCStream.hasAudio;
java

流是否包括音频流。

videoStreamDescriptions
public List<VideoStreamDescription> com.ss.bytertc.engine.RTCStream.videoStreamDescriptions;
java

视频流的属性。

当远端用户调用 setVideoEncoderConfig 方法发布多个配置的视频流时,此处会包含该用户发布的所有视频流的属性信息。

参看 VideoStreamDescription。

VideoStreamDescription
public class com.ss.bytertc.engine.VideoStreamDescription
java

视频流参数描述

成员变量
类型名称
Pair<Integer,Integer>videoSize
intframeRate
intmaxKbps
intminKbps
EncoderPreferenceencodePreference
变量说明

videoSize
public Pair<Integer, Integer> com.ss.bytertc.engine.VideoStreamDescription.videoSize;
java

视频分辨率

frameRate
public int com.ss.bytertc.engine.VideoStreamDescription.frameRate;
java

视频帧率

maxKbps
public int com.ss.bytertc.engine.VideoStreamDescription.maxKbps;
java

最高编码码率(千比特每秒)。建议使用 -1,SDK 会自动根据分辨率和帧率适配合适的码率。

minKbps
public int com.ss.bytertc.engine.VideoStreamDescription.minKbps = 0;
java

encodePreference
public EncoderPreference com.ss.bytertc.engine.VideoStreamDescription.encodePreference = EncoderPreference.MaintainFramerate;
java

编码策略偏好,详见 EncoderPreference

CodecMode
public enum com.ss.bytertc.engine.VideoStreamDescription.CodecMode
java

编码器模式(使用软编码或者硬编码)

枚举值
类型说明
CODEC_MODE_AUTO(0)自动模式
CODEC_MODE_HARDWARE(1)硬编码模式
CODEC_MODE_SOFTWARE(2)软编码模式
VideoCodecType
public enum com.ss.bytertc.engine.VideoStreamDescription.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.VideoStreamDescription.EncoderPreference
java

编码策略偏好。

枚举值
类型说明
Disabled(0)无偏好。不降低帧率和分辨率。
MaintainFramerate(1)帧率优先。
MaintainQuality(2)分辨率优先。
Balance(3)平衡帧率与分辨率。