CodecMode
public enum com.ss.bytertc.engine.VideoStreamDescription.CodecMode
java

编码器模式(使用软编码或者硬编码)

枚举值
类型值说明
CODEC_MODE_AUTO0自动模式
CODEC_MODE_HARDWARE1硬编码模式
CODEC_MODE_SOFTWARE2软编码模式

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

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

枚举值
类型值说明
FIT0占位图跟随用户原始视频帧相同的比例缩放。默认设置。{en}
FILL1占位图不跟随用户原始视频帧相同的比例缩放,保持图片原有比例。{en}

CapturePreference
public enum com.ss.bytertc.engine.video.VideoCaptureConfig.CapturePreference
java

视频采集模式

枚举值
类型值说明
AUTO0(默认)自动设置采集参数。
SDK 在开启采集时根据服务端下发的采集配置结合编码参数设置最佳采集参数。
MANUAL1手动设置采集参数,包括采集分辨率、帧率。
AUTO_PERFORMANCE2采集参数与编码参数一致,即在 setVideoEncoderConfig 中设置的参数。

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

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

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

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

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

获取用户布局信息列表。

返回值

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

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

设置用户布局信息列表。

传入参数

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

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

获取透传的 App 数据。

返回值

当前透传的 App 数据。

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

设置透传的 App 数据

传入参数

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

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

获取画布的背景颜色。

返回值

当前画布的背景颜色。

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

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

传入参数

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

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

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

枚举值
类型值说明
AUDIO_FRAME_PROCESSOR_RECORD0本地采集的音频。
AUDIO_FRAME_PROCESSOR_PLAYBACK1远端音频流的混音音频。
AUDIO_FRAME_PROCESSOR_REMOTE_USER2各个远端音频流。
AUDIO_FRAME_PROCESSOR_EAR_MONITOR3软件耳返音频。
AUDIO_FRAME_PROCESSOR_SCREEN4屏幕共享音频。

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

视频输入源类型

枚举值
类型值说明
VIDEO_SOURCE_TYPE_EXTERNAL0自定义采集视频源
VIDEO_SOURCE_TYPE_INTERNAL1内部采集视频源
VIDEO_SOURCE_TYPE_ENCODED_WITH_SIMULCAST2自定义编码视频源。
你仅需推送分辨率最大的一路编码后视频流,SDK 将自动转码生成多路小流
VIDEO_SOURCE_TYPE_ENCODED_WITHOUT_SIMULCAST3自定义编码视频源。
SDK 不会自动生成多路流,你需要自行生成并推送多路流

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

发送消息的可靠有序性

枚举值
类型值说明
RELIABLE_ORDERED0低延时可靠有序消息
UNRELIABLE_ORDERED1超低延时有序消息
UNRELIABLE_UNORDERED2超低延时无序消息

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

通话质量反馈信息

成员变量
类型名称
StringproblemDesc
List<ProblemFeedbackRoomInfo>roomInfo
成员函数
返回名称
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
com.ss.bytertc.engine.type.ProblemFeedbackInfo.ProblemFeedbackInfo(String problemDesc)
java

传入参数

参数名类型说明
problemDescString-

ExpressionDetectResult
public class com.ss.bytertc.engine.video.ExpressionDetectResult
java

人像属性检测结果

成员变量
类型名称
intMAX_COUNT
intdetectResult
intfaceCount
ExpressionDetectInfo[]detectInfo
变量说明

MAX_COUNT
public static final int com.ss.bytertc.engine.video.ExpressionDetectResult.MAX_COUNT = 10
java

人脸信息存储上限,最多可存储 10 个人脸信息

detectResult
public int com.ss.bytertc.engine.video.ExpressionDetectResult.detectResult = 0
java

特征识别结果

faceCount
public int com.ss.bytertc.engine.video.ExpressionDetectResult.faceCount = 0
java

识别到的人脸数量。

detectInfo
public ExpressionDetectInfo [] com.ss.bytertc.engine.video.ExpressionDetectResult.detectInfo
java

特征识别信息。数组的长度和检测到的人脸数量一致。参看 ExpressionDetectInfo。

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

屏幕音频设备

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
com.ss.bytertc.engine.UserInfo.UserInfo(
    String uid,
    String extraInfo
)
java

用户信息

传入参数

参数名类型说明
uidString用户 ID。该字符串符合正则表达式:[a-zA-Z0-9_@-.]{1,128}。
extraInfoString用户的额外信息,最大长度为 200 字节。会在 onUserJoined 中回调给远端用户。

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

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

枚举值
类型值说明
FORWARD_STREAM_EVENT_DISCONNECTED0本端与服务器网络连接断开,暂停转发。
FORWARD_STREAM_EVENT_CONNECTED1本端与服务器网络连接恢复,转发服务连接成功。
FORWARD_STREAM_EVENT_INTERRUPT2转发中断。转发过程中,如果相同 user_id 的用户进入目标房间,转发中断。
FORWARD_STREAM_EVENT_DST_ROOM_UPDATED3目标房间已更新,由 updateForwardStreamToRooms 触发。
FORWARD_STREAM_EVENT_UN_EXPECT_API_CALL4API 调用时序错误。例如,在调用 startForwardStreamToRooms 之前调用 updateForwardStreamToRooms。

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

订阅的媒体类型

枚举值
类型值说明
NONE0既不订阅音频,也不订阅视频
AUDIO_ONLY1只订阅音频,不订阅视频
VIDEO_ONLY2只订阅视频,不订阅音频
AUDIO_AND_VIDEO3同时订阅音频和视频

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

SDK 与 RTC 服务器连接状态。

枚举值
类型值说明
CONNECTION_STATE_DISCONNECTED1连接断开超过 12s,此时 SDK 会尝试自动重连。
CONNECTION_STATE_CONNECTING2首次请求建立连接,正在连接中。
CONNECTION_STATE_CONNECTED3首次连接成功。
CONNECTION_STATE_RECONNECTING4涵盖了以下情况:
  • 首次连接时,10 秒内未连接成功;
  • 连接成功后,断连 10 秒。自动重连中。
CONNECTION_STATE_RECONNECTED5连接断开后,重连成功。
CONNECTION_STATE_LOST6处于 CONNECTION_STATE_DISCONNECTED 状态超过 10 秒,且期间重连未成功。SDK 仍将继续尝试重连。
CONNECTION_STATE_FAILED7连接失败,服务端状态异常。SDK 不会自动重连,请重新进房,或联系技术支持。

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

本地录制的媒体类型

枚举值
类型值说明
RECORD_AUDIO_ONLY0只录制音频
RECORD_VIDEO_ONLY1只录制视频
RECORD_VIDEO_AND_AUDIO2同时录制音频和视频

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

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

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

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

设置音频编码格式。

传入参数

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

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

设置音频码率。

传入参数

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

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

设置音频采样率。

传入参数

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

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

设置声道数。

传入参数

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

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

设置 AAC 编码规格。

传入参数

参数名类型说明
aacProfileAACProfileAAC 规格,参看 AACProfile。默认值为 AAC_PROFILE_LC("LC")。

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

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

枚举值
类型值说明
ON_STREAM0无用户发布媒体流时,发起合流任务无效。默认设置。
当有用户发布媒体流时,才能发起合流任务。
ON_START_REQUEST1无用户发布媒体流时,可以使用占位图发起合流任务。
占位图设置参看 setAlternateImageURL 和 setAlternateImageFillMode。

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

是否开启耳返功能。

枚举值
类型值说明
EAR_MONITOR_MODE_OFF0关闭(默认设置)
EAR_MONITOR_MODE_ON1开启

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

首帧发送状态

枚举值
类型值说明
FIRST_FRAME_SEND_STATE_SENDING0发送中
FIRST_FRAME_SEND_STATE_SENT1发送成功
FIRST_FRAME_SEND_STAT_END2发送失败

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

合流输出内容类型

枚举值
类型值说明
MIXED_STREAM_MEDIA_TYPE_AUDIO_AND_VIDEO0输出的混流包含音频和视频
MIXED_STREAM_MEDIA_TYPE_AUDIO_ONLY1输出的混流只包含音频
MIXED_STREAM_MEDIA_TYPE_VIDEO_ONLY2输出的混流只包含视频
成员函数
返回名称
intgetValue
函数说明

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

获取合流输出内容类型。

返回值

合流输出内容类型

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

字幕模式。

枚举值
类型值说明
SUBTITLE_MODE_RECOGINTE0识别模式。在此模式下,房间内用户语音会被转为文字。
SUBTITLE_MODE_TRANSLATION1翻译模式。在此模式下,房间内用户语音会先被转为文字,再被翻译为目标语言。

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。

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

变声特效类型。如需更多变声特效类型,联系技术支持。

枚举值
类型值说明
VOICE_CHANGER_ORIGINAL0原声,不含特效
VOICE_CHANGER_GIANT1巨人
VOICE_CHANGER_CHIPMUNK2花栗鼠
VOICE_CHANGER_MINIONST3小黄人
VOICE_CHANGER_VIBRATO4颤音
VOICE_CHANGER_ROBOT5机器人

VideoCodecType
public enum com.ss.bytertc.engine.VideoEncoderConfig.VideoCodecType
java

编码模式(H264, ByteVC1)

枚举值
类型值说明
CODEC_TYPE_AUTO0其他
CODEC_TYPE_H2641H264
CODEC_TYPE_BYTEVC12ByteVC1

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

基础美颜模式。

枚举值
类型值说明
WHITE0美白。
SMOOTH1磨皮。
SHARPEN2锐化。
CLEAR3清晰,需集成 v4.4.2+ 版本的特效 SDK。

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 坐标

MusicHotType
public enum com.ss.bytertc.ktv.data.MusicHotType
java

热榜类别。

枚举值
类型值说明
CONTENT_CENTER1 << 0火山内容中心热歌榜。
PROJECT1 << 1项目热歌榜。

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

音频编码格式。

枚举值
类型值说明
MIXED_STREAM_AUDIO_CODEC_TYPE_AACAACAAC 格式。
成员函数
返回名称
StringgetValue
函数说明

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

获取音频编码格式。

返回值

音频编码格式。

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

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

本地日志输出等级。

枚举值
类型值说明
INFO0信息级别。
WARNING1(默认值)警告级别。
ERROR2错误级别。
NONE3关闭日志。

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

媒体流跨房间转发状态

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

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

获取当前值

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

相机闪光灯状态

枚举值
类型值说明
TORCH_STATE_OFF0关闭
TORCH_STATE_ON1打开

VideoCodecType
public enum com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.VideoCodecType
java

视频编码格式。

枚举值
类型值说明
VIDEO_CODEC_TYPE_H264H264H.264 格式,默认值。
VIDEO_CODEC_TYPE_BYTEVC1ByteVC1ByteVC1 格式。
成员函数
返回名称
StringgetValue
函数说明

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

获取视频编码格式。

返回值

视频编码格式。

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

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-4Signature 鉴权模式下 secretKey 为空
USERID_NULL-5用户 ID 为空
APPID_NULL-6应用 ID 为空
CLUSTER_NULL-7语音识别服务 cluster 为空
OPERATION_DENIED-8语音识别服务连接失败,该版本没有语音识别功能,请联系 RTC 技术支持。

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。

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

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。

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。

DataParam
public static class com.ss.bytertc.engine.live.LiveTranscoding.Region.DataParam
java

图片合流相关参数。

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

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

设置原始图片的宽度

传入参数

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

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

原始图片的高度

传入参数

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

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

转推直播任务状态

枚举值
类型值说明
STREAM_MIXING_START1请求发起转推直播任务
STREAM_MIXING_START_SUCCESS2发起转推直播任务成功
STREAM_MIXING_START_FAILED3发起转推直播任务失败
STREAM_MIXING_UPDATE4请求更新转推直播任务配置
STREAM_MIXING_UPDATE_SUCCESS5成功更新转推直播任务配置
STREAM_MIXING_UPDATE_FAILED6更新转推直播任务配置失败
STREAM_MIXING_STOP7请求结束转推直播任务
STREAM_MIXING_STOP_SUCCESS8结束转推直播任务成功
STREAM_MIXING_STOP_FAILED9结束转推直播任务失败
STREAM_MIXING_CHANGE_MIX_TYPE10更新转推直播任务配置的请求超时
STREAM_MIXING_FIRST_AUDIO_FRAME_BY_CLIENT_MIX11得到客户端合流音频首帧
STREAM_MIXING_FIRST_VIDEO_FRAME_BY_CLIENT_MIX12收到客户端合流视频首帧
STREAM_MIXING_UPDATE_TIMEOUT13更新转推直播任务配置超时
STREAM_MIXING_START_TIMEOUT14发起转推直播任务配置超时
STREAM_MIXING_REQUEST_PARAM_ERROR15合流布局参数错误
STREAM_MIXING_MIX_IMAGE_EVENT16合流加图片

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

远端音频流精准对齐模式

枚举值
类型值说明
AUDIO_ALIGNMENT_MODE_OFF0不对齐
AUDIO_ALIGNMENT_MODE_AUDIOMIXING1远端音频流都对齐伴奏进度同步播放

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

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

枚举值
类型值说明
FALLBACK_OR_RECOVER_REASON_UNKNOWN-1其他原因,非带宽和性能原因引起的回退或恢复。默认值
FALLBACK_OR_RECOVER_REASON_SUBSCRIBE_FALLBACK_BY_BANDWIDTH0由带宽不足导致的订阅端音视频流回退。
FALLBACK_OR_RECOVER_REASON_SUBSCRIBE_FALLBACK_BY_PERFORMANCE1由性能不足导致的订阅端音视频流回退。
FALLBACK_OR_RECOVER_REASON_SUBSCRIBE_RECOVER_BY_BANDWIDTH2由带宽恢复导致的订阅端音视频流恢复。
FALLBACK_OR_RECOVER_REASON_SUBSCRIBE_RECOVER_BY_PERFORMANCE3由性能恢复导致的订阅端音视频流恢复。
FALLBACK_OR_RECOVER_REASON_PUBLISH_FALLBACK_BY_BANDWIDTH4由带宽不足导致的发布端音视频流回退。
FALLBACK_OR_RECOVER_REASON_PUBLISH_FALLBACK_BY_PERFORMANCE5由性能不足导致的发布端音视频流回退。
FALLBACK_OR_RECOVER_REASON_PUBLISH_RECOVER_BY_BANDWIDTH6由带宽恢复导致的发布端音视频流恢复。
FALLBACK_OR_RECOVER_REASON_PUBLISH_RECOVER_BY_PERFORMANCE7由性能恢复导致的发布端音视频流恢复。

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

黑帧视频流状态

枚举值
类型值说明
STREAM_ADD0远端用户发布黑帧视频流。
纯语音通话场景下,远端用户调用 sendSEIMessage 发送 SEI 数据时,SDK 会自动发布一路黑帧视频流,并触发该回调。
STREAM_REMOVE1远端黑帧视频流移除。该回调的触发时机包括:
  • 远端用户开启摄像头采集,由语音通话切换至视频通话,黑帧视频流停止发布;
  • 远端用户调用 sendSEIMessage 后 1min 内未有 SEI 数据发送,黑帧视频流停止发布;
  • 远端用户调用 setVideoSourceType 切换至自定义视频采集时,黑帧视频流停止发布。

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

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

所属用户的媒体流上行网络质量,详见 NetworkQuality。

rxQuality
public int com.ss.bytertc.engine.type.RemoteStreamStats.rxQuality
java

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

所属用户的媒体流下行网络质量,详见 NetworkQuality。

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

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

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 度,即不做旋转处理。

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

音质档位

枚举值
类型值说明
AUDIO_PROFILE_DEFAULT0默认音质
服务器下发或客户端已设置的 ChannelProfile 的音质配置
AUDIO_PROFILE_FLUENT1流畅。
单声道,采样率为 16 kHz,编码码率为 32 Kbps。
流畅优先、低功耗、低流量消耗,适用于大部分游戏场景,如小队语音、组队语音、国战语音等。
AUDIO_PROFILE_STANDARD2单声道标准音质。
采样率为 24 kHz,编码码率为 48 Kbps。
适用于对音质有一定要求的场景,同时延时、功耗和流量消耗相对适中,适合教育场景和狼人杀等游戏。
AUDIO_PROFILE_HD3双声道音乐音质
采样率为 48 kHz,编码码率为 128 kbps。
超高音质,同时延时、功耗和流量消耗相对较大,适用于连麦 PK 等音乐场景。
游戏场景不建议使用。
AUDIO_PROFILE_STANDARD_STEREO4双声道标准音质。采样率为 48 KHz,编码码率最大值为 80 Kbps
AUDIO_PROFILE_HD_MONO5单声道音乐音质。采样率为 48 kHz,编码码率最大值为 64 Kbps

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

摄像头类型

枚举值
类型值说明
CAMERA_ID_FRONT0前置摄像头
CAMERA_ID_BACK1后置摄像头(默认设置)
CAMERA_ID_INVALID3无效值

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
String com.ss.bytertc.engine.data.SingScoringRealtimeInfo.toString()
java

CodecMode
public enum com.ss.bytertc.engine.VideoEncoderConfig.CodecMode
java

编码器 Mode(使用软编码或者硬编码)

枚举值
类型值说明
CODEC_MODE_AUTO0自动模式
CODEC_MODE_HARDWARE1硬编码模式
CODEC_MODE_SOFTWARE2软编码模式

RemoteVideoRenderPosition
public enum com.ss.bytertc.engine.video.RemoteVideoRenderPosition
java

远端视频帧回调位置。

枚举值
类型值说明
AFTER_POST_PROCESS1(默认值)后处理后。

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

合流布局区域类型

枚举值
类型值说明
LAYOUT_REGION_TYPE_VIDEO_STREAM0合流布局区域类型为视频。
LAYOUT_REGION_TYPE_IMAGE1合流布局区域类型为图片。
成员函数
返回名称
intgetValue
函数说明

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

获取合流布局区域类型。

返回值

合流布局区域类型。

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。每相邻两个值的音高距离相差半音,正值表示升调,负值表示降调。

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

图片合流相关参数。

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

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

设置原始图片的高度。

传入参数

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

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

获取原始图片的高度。

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

设置原始图片的宽度。

传入参数

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

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

获取原始图片的宽度。

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

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

枚举值
类型值说明
LOCAL_VIDEO_STREAM_ERROR_OK0状态正常(本地视频状态改变正常时默认返回值)
LOCAL_VIDEO_STREAM_ERROR_FAILURE1本地视频流发布失败
LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION2没有权限启动本地视频采集设备
LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY3本地视频采集设备已被占用
LOCAL_VIDEO_STREAM_ERROR_DEVICE_NOT_FOUND4本地视频采集设备不存在或已移除
LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE5本地视频采集失败,建议检查采集设备是否正常工作
LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE6本地视频编码失败
LOCAL_VIDEO_STREAM_ERROR_DEVICE_DISCONNECTED7通话过程中本地视频采集设备被其他程序抢占,导致设备连接中断

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
String com.ss.bytertc.engine.type.NetworkQualityStats.toString()
java

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

用户可见性状态改变错误码。

枚举值
类型值说明
OK0成功。
UNKNOWN1未知错误。
TOO_MANY_VISIBLE_USER2房间内可见用户达到上限。

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

发布端音视频流回退选项

枚举值
类型值说明
DISABLE0上行网络不佳或设备性能不足时,不对音视频流作回退处理。默认设置。
SIMULCAST_SMALL_VIDEO_ONLY1上行网络不佳或设备性能不足时,发布的视频流会从大流到小流依次降级,直到与当前网络性能匹配,具体降级规则参看性能回退文档。
静态函数
返回名称
static PublishFallbackOptionfromId
函数说明

fromId
static PublishFallbackOption com.ss.bytertc.engine.type.PublishFallbackOption.fromId(int id)
java

传入参数

参数名类型说明
idint-

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

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

枚举值
类型值说明
LOCAL_AUDIO_STREAM_ERROR_OK0本地音频状态正常
LOCAL_AUDIO_STREAM_ERROR_FAILURE1本地音频出错原因未知
LOCAL_AUDIO_STREAM_ERROR_DEVICE_NO_PERMISSION2没有权限启动本地音频录制设备
LOCAL_AUDIO_STREAM_ERROR_RECORD_FAILURE4本地音频录制失败,建议你检查录制设备是否正常工作
LOCAL_AUDIO_STREAM_ERROR_ENCODE_FAILURE5本地音频编码失败
LOCAL_AUDIO_STREAM_ERROR_NO_RECORDING_DEVICE6没有可用的音频录制设备
成员函数
返回名称
intvalue
函数说明

value
int com.ss.bytertc.engine.data.LocalAudioStreamError.value()
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
static SubtitleMessage com.ss.bytertc.engine.type.SubtitleMessage.create(
    String userId,
    String text,
    String language,
    int mode,
    int sequence,
    boolean definite
)
java

传入参数

参数名类型说明
userIdString-
textString-
languageString-
modeint-
sequenceint-
definiteboolean-

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

录制视频的高,单位:像素。纯音频录制请忽略该字段

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

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

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

媒体流信息同步的流类型

枚举值
类型值说明
SYNC_INFO_STREAM_TYPE_AUDIO0音频流

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

AAC 编码规格。

枚举值
类型值说明
MIXED_STREAM_AUDIO_PROFILE_LCLCAAC-LC 规格,默认值。
MIXED_STREAM_AUDIO_PROFILE_HEV1HEv1HE-AAC v1 规格。
MIXED_STREAM_AUDIO_PROFILE_HEV2HEv2HE-AAC v2 规格。
成员函数
返回名称
StringgetValue
函数说明

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

获取 AAC 编码规格。

返回值

AAC 编码规格。

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
void com.ss.bytertc.engine.type.RTCRoomStats.reset()
java

重置所有的 RTCRoomStats 成员变量的值,重新开始统计。

AudioTrackType
public enum com.ss.bytertc.ktv.data.AudioTrackType
java

原唱伴唱类型。

枚举值
类型值说明
ORIGINAL1播放原唱。
ACCOMPANY2播放伴唱。

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

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

音频输入源类型

枚举值
类型值说明
AUDIO_SOURCE_TYPE_EXTERNAL0自定义采集音频源
AUDIO_SOURCE_TYPE_INTERNAL1RTC SDK 内部采集音频源

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

性能回退的模式

枚举值
类型值说明
NORMAL0未开启发布性能回退
SIMULCAST1已开启发布性能回退

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

本地录制的错误码

枚举值
类型值说明
RECORDING_ERROR_CODE_OK0录制正常
RECORDING_ERROR_CODE_NO_PERMISSION-1没有文件写权限
RECORDING_ERROR_CODE_NOT_SUPPORT-2当前版本 SDK 不支持本地录制功能,请联系技术支持人员
RECORDING_ERROR_CODE_NO_OTHER-3其他异常

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

音视频回路测试结果

枚举值
类型值说明
ECHO_TEST_SUCCESS0接收到采集的音视频的回放,通话回路检测成功
ECHO_TEST_TIMEOUT1测试超过 60s 仍未完成,已自动停止
ECHO_TEST_INTERVAL_SHORT2上一次测试结束和下一次测试开始之间的时间间隔少于 5s
ECHO_TEST_AUDIO_DEVICE_ERROR3音频采集异常
ECHO_TEST_VIDEO_DEVICE_ERROR4视频采集异常
ECHO_TEST_AUDIO_RECEIVE_ERROR5音频接收异常
ECHO_TEST_VIDEO_RECEIVE_ERROR6视频接收异常
ECHO_TEST_INTERNAL_ERROR7内部错误,不可恢复

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

网络时间信息

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

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

网络时间,单位:ms

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

远端流的镜像类型。

枚举值
类型值说明
NONE0(默认值)远端视频渲染无镜像效果。
RENDER1远端视频渲染有镜像效果。

SubscribeState
public enum com.ss.bytertc.engine.SubscribeState
java

订阅媒体流状态

枚举值
类型值说明
SUBSCRIBE_STATE_SUCCESS0订阅/取消订阅流成功
SUBSCRIBE_STATE_FAILED_NOT_IN_ROOM1订阅/取消订阅流失败,本地用户未在房间中
SUBSCRIBE_STATE_FAILED_STREAM_NOT_FOUND2订阅/取消订阅流失败,房间内未找到指定的音视频流
SUBSCRIBE_STATE_FAILED_SIGNAL4订阅/取消订阅流失败,信令错误,请重试

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

本地背景图片的绝对路径。

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

客户端合流参数。

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

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

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

传入参数

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

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

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

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

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

传入参数

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

返回值

参看 MixedStreamClientMixConfig。

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

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

PublicStreaming
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
static PublicStreaming com.ss.bytertc.engine.publicstream.PublicStreaming.getDefualtPublicStreaming()
java

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

返回值

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

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

设置 roomId。

传入参数

参数名类型说明
roomIdString房间 ID

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

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

传入参数

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

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

设置公共流视频参数。

传入参数

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

注意

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

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

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

传入参数

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

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

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

返回值

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

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

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

返回值

当前公共流整体布局。详见 Layout 数据类型。

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

流属性

枚举值
类型值说明
STREAM_INDEX_MAIN0主流。包括:
  • 由摄像头/麦克风通过内部采集机制,采集到的视频/音频;
  • 通过自定义采集,采集到的视频/音频。
STREAM_INDEX_SCREEN1屏幕流。屏幕共享时共享的视频流,或来自声卡的本地播放音频流。

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

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

枚举值
类型值说明
REMOTE_AUDIO_STATE_CHANGE_REASON_INTERNAL0内部原因
REMOTE_AUDIO_STATE_CHANGE_REASON_NETWORK_CONGESTION1网络阻塞
REMOTE_AUDIO_STATE_CHANGE_REASON_NETWORK_RECOVERY2网络恢复正常
REMOTE_AUDIO_STATE_CHANGE_REASON_LOCAL_MUTED3本地用户停止接收远端音频流
REMOTE_AUDIO_STATE_CHANGE_REASON_LOCAL_UNMUTED4本地用户恢复接收远端音频流
REMOTE_AUDIO_STATE_CHANGE_REASON_REMOTE_MUTED5远端用户停止发送音频流
REMOTE_AUDIO_STATE_CHANGE_REASON_REMOTE_UNMUTED6远端用户恢复发送音频流
REMOTE_AUDIO_STATE_CHANGE_REASON_REMOTE_OFFLINE7远端用户离开房间
成员函数
返回名称
intvalue
函数说明

value
int com.ss.bytertc.engine.data.RemoteAudioStateChangeReason.value()
java

获取当前值

返回值

当前值

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

播放错误码。

枚举值
类型值说明
OK0正常
FORMAT_NOT_SUPPORT1不支持此类型
INVALID_PATH2无效的播放路径
INVALID_STATE3未满足前序接口调用的要求。请查看具体接口文档。
INVALID_POSITION4设置播放位置出错。
INVALID_VOLUME5音量参数不合法。
INVALID_PITCH6音调参数设置不合法。
INVALID_AUDIO_TRACK_INDEX7音轨参数设置不合法。
INVALID_PLAYBACK_SPEED8播放速度参数设置不合法
INVALID_EFFECT_ID9音效 ID 异常。还未加载或播放文件,就调用其他 API。

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

方法调用结果。

枚举值
类型值说明
RETURN_STATUS_SUCCESS0成功。
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 时,相邻视频帧的时间戳差异应当和推帧操作的间隔相同。如果不同,会收到此警告。

VideoCodecType
public enum com.ss.bytertc.engine.VideoStreamDescription.VideoCodecType
java

编码模式(H264, ByteVC1)

枚举值
类型值说明
CODEC_TYPE_AUTO0自动选择编码模式
CODEC_TYPE_H2641H264
CODEC_TYPE_BYTEVC12ByteVC1

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 = EncoderPreference.MaintainFramerate
java

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

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 播放音乐文件。

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

编码帧类型

枚举值
类型值说明
VIDEO_PICTURE_TYPE_UNKNOWN0未知类型
VIDEO_PICTURE_TYPE_I1I 帧,关键帧,编解码不需要参考其他视频帧
VIDEO_PICTURE_TYPE_P2P 帧,向前参考帧,编解码需要参考前一帧视频帧
VIDEO_PICTURE_TYPE_B3B 帧,前后参考帧,编解码需要参考前后两帧视频帧

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

视频帧色彩空间

枚举值
类型值说明
UNKNOWN0色彩空间未知
BT601_LIMITED_RANGE1BT.601 数字编码标准,色彩空间[16-235]
BT601_FULL_RANGE2BT.601 数字编码标准,颜色空间[0-255]
BT709_LIMITED_RANGE3BT.7091 数字编码标准,颜色空间[16-235]
BT709_FULL_RANGE4BT.7091 数字编码标准,颜色空间[0-255]

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

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

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

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

远端视频流状态。

枚举值
类型值说明
REMOTE_VIDEO_STATE_STOPPED0远端视频流默认初始状态
在以下时机回调该状态:
  • 本地用户停止接收远端视频流,对应错误码 RemoteVideoStateChangeReason 中的 REMOTE_VIDEO_STATE_CHANGE_REASON_LOCAL_MUTED。
REMOTE_VIDEO_STATE_STARTING1本地用户已接收远端视频首包
收到远端视频首包时回调该状态,对应错误码 RemoteVideoStateChangeReason 中的 REMOTE_VIDEO_STATE_CHANGE_REASON_LOCAL_UNMUTED。
REMOTE_VIDEO_STATE_DECODING2远端视频流正在解码,正常播放
在以下时机回调该状态:
  • 本地用户恢复接收远端视频流,对应错误码 RemoteVideoStateChangeReason 中的 REMOTE_VIDEO_STATE_CHANGE_REASON_LOCAL_UNMUTED。
  • 远端用户恢复发送视频流,对应错误码 RemoteVideoStateChangeReason 中的 REMOTE_VIDEO_STATE_CHANGE_REASON_NETWORK_CONGESTION。
REMOTE_VIDEO_STATE_FROZEN3远端视频流卡顿
网络阻塞、丢包率大于 40%时回调该状态,对应错误码 RemoteVideoStateChangeReason 中的 REMOTE_VIDEO_REASON_NETWORK_CONGESTION 。

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

视频编码方向模式

PixelFormat
public interface com.ss.bytertc.engine.video.IVideoSink.PixelFormat
java

视频帧数据格式

成员变量
类型名称
intOriginal
intI420
intRGBA
变量说明

Original
public int com.ss.bytertc.engine.video.IVideoSink.PixelFormat.Original = 0
java

原始视频帧格式

I420
public int com.ss.bytertc.engine.video.IVideoSink.PixelFormat.I420 = 1
java

I420 数据格式

RGBA
public int com.ss.bytertc.engine.video.IVideoSink.PixelFormat.RGBA = 5
java

RGBA 格式, 一个像素占据 32 位, 字节序为 A8 B8 G8 R8

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

通话前回声检测结果

枚举值
类型值说明
HARDWARE_ECHO_RESULT_CANCELED0主动调用 stopHardwareEchoDetection 结束流程时,未有回声检测结果。
HARDWARE_ECHO_RESULT_UNKNOWN1未检测出结果。建议重试,如果仍然失败请联系技术支持协助排查。
HARDWARE_ECHO_RESULT_NORMAL2无回声
HARDWARE_ECHO_RESULT_POOR3有回声。可通过 UI 建议用户使用耳机设备入会。

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

视频订阅配置信息

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

SubscribeVideoConfig
com.ss.bytertc.engine.SubscribeVideoConfig.SubscribeVideoConfig(
    int videoIndex,
    int priority
)
java

视频订阅配置信息

传入参数

参数名类型说明
videoIndexint订阅的视频流分辨率下标。
通过此参数指定希望订阅的流。在此之前,远端用户已经通过调用 setVideoEncoderConfig 方法,启动发布多路不同分辨率的视频流。编号 0 至 3代表流质量从高至低。
默认值为 0,即订阅第一路流。
如果不想更改之前的设置,可以输入 -1。
priorityint远端用户优先级,参看 RemoteUserPriority,默认值为 0。

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

本地录制的状态

枚举值
类型值说明
RECORDING_STATE_ERROE0录制异常
RECORDING_STATE_PROCESSING1录制进行中
RECORDING_STATE_SUCCESS2录制文件保存成功,调用 stopFileRecording 结束录制之后才会收到该状态码。

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

通话前探测链接的类型。

onNetworkDetectionResult 回调的参数类型

枚举值
类型值说明
UP0上行网络探测
DOWN1下行网络探测

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

流属性。

成员变量
类型名称
StringuserId
booleanisScreen
booleanhasVideo
booleanhasAudio
List<VideoStreamDescription>videoStreamDescriptions
变量说明

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。

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)。

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

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

枚举值
类型值说明
VIDEO_DENOISE_MODE_CHANGED_REASON_NULL-1未知原因导致视频降噪状态改变。
VIDEO_DENOISE_MODE_CHANGED_REASON_API_OFF0通过调用 setVideoDenoiser 成功关闭视频降噪。
VIDEO_DENOISE_MODE_CHANGED_REASON_API_ON1通过调用 setVideoDenoiser 成功开启视频降噪。
VIDEO_DENOISE_MODE_CHANGED_REASON_CONFIG_DISABLED2后台未配置视频降噪,视频降噪开启失败,请联系技术人员解决。
VIDEO_DENOISE_MODE_CHANGED_REASON_CONFIG_ENABLED3后台配置开启了视频降噪。
VIDEO_DENOISE_MODE_CHANGED_REASON_INTERNAL_EXCEPTION4由于内部发生了异常,视频降噪关闭。
VIDEO_DENOISE_MODE_CHANGED_REASON_DYNAMIC_CLOSE5当前设备性能过载,已动态关闭视频降噪模式。
VIDEO_DENOISE_MODE_CHANGED_REASON_DYNAMIC_OPEN6当前设备性能裕量充足,已动态开启视频降噪模式。
VIDEO_DENOISE_MODE_CHANGED_REASON_RESOLUTION7分辨率导致视频降噪状态发生改变。分辨率过高会导致性能消耗过大,从而导致视频降噪模式关闭。若希望继续使用视频降噪,可选择降低分辨率。

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

音频设备类型

枚举值
类型值说明
AUDIO_DEVICE_TYPE_UNKNOWN-1未知设备
AUDIO_DEVICE_TYPE_RENDER_DEVICE0音频渲染设备
AUDIO_DEVICE_TYPE_CAPTURE_DEVICE1音频采集设备类型
AUDIO_DEVICE_TYPE_SCREEN_CAPTURE_DEVICE2屏幕流音频设备

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

设置房间附加消息结果。

枚举值
类型值说明
SUCCESS0设置房间附加信息成功
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设置失败,服务器错误

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

本地代理连接状态。

枚举值
类型值说明
INITED0TCP 代理服务器连接成功。
CONNECTED1本地代理连接成功。
ERROR2本地代理连接出现错误。

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

音视频同步状态

枚举值
类型值说明
AV_SYNC_STATE_STREAM_SYNC_BEGIN0音视频开始同步
AV_SYNC_STATE_AUDIO_STREAM_REMOVE1音视频同步过程中音频移除,但不影响当前的同步关系
AV_SYNC_STATE_VIDEO_STREAM_REMOVE2音视频同步过程中视频移除,但不影响当前的同步关系

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。

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

时域分层订阅层级

枚举值
类型值说明
DEFAULT0不指定分层(默认值)
BASE1T0 层
MAIN2T0+T1 层
HIGH3T0+T1+T2 层

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
com.ss.bytertc.engine.video.Rectangle.Rectangle(
    int x,
    int y,
    int w,
    int h
)
java

传入参数

参数名类型说明
xint-
yint-
wint-
hint-

toString
String com.ss.bytertc.engine.video.Rectangle.toString()
java

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

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

枚举值
类型值说明
MIXED_STREAM_CLIENT_MIX_VIDEO_FORMAT_YUV_I4200YUV I420。Android、Windows 默认回调格式。支持系统:Android、Windows。
MIXED_STREAM_CLIENT_MIX_VIDEO_FORMAT_TEXTURE_2D1OpenGL GL_TEXTURE_2D 格式纹理。支持系统:安卓。
MIXED_STREAM_CLIENT_MIX_VIDEO_FORMAT_CVPIXEL_BUFFER_BGRA2CVPixelBuffer BGRA。iOS 默认回调格式。支持系统: iOS。
MIXED_STREAM_CLIENT_MIX_VIDEO_FORMAT_YUV_NV123YUV NV12。macOS 默认回调格式。支持系统: macOS。{en}
成员函数
返回名称
intgetValue
函数说明

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

获取合流输出内容类型。

返回值

合流输出内容类型

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

视频旋转模式

枚举值
类型值说明
FOLLOW_APP0App 方向
FOLLOW_GSENSOR1重力方向

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

播放状态。

枚举值
类型值说明
IDLE0播放未启动
PRELOADED1已加载
OPENED2已打开
PLAYING3正在播放
PAUSED4播放已暂停
STOPPED5播放已停止
FAILED6播放失败
FINISHED7播放已结束

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

region 中流的类型属性

枚举值
类型值说明
MIXED_STREAM_VIDEO_TYPE_MAIN0主流。包括:
  • 由摄像头/麦克风通过内部采集机制,采集到的流
  • 通过自定义采集,采集到的流。
MIXED_STREAM_VIDEO_TYPE_SCREEN1屏幕流。
成员函数
返回名称
intgetValue
函数说明

getValue
int com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.MixedStreamVideoType.getValue()
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
MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setRoomID(String roomID)
java

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

传入参数

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

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

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

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

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

传入参数

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

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

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

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

Available since 3.57

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

传入参数

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

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

Available since 3.57

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

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

Available since 3.57

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

传入参数

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

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

Available since 3.57

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

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

Available since 3.57

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

传入参数

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

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

Available since 3.57

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

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

Available since 3.57

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

传入参数

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

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

Available since 3.57

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

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

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

传入参数

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

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

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

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

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

传入参数

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

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

获取透明度。

setCornerRadius
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
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
MixedStreamLayoutRegionConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutRegionConfig.setMediaType(MixedStreamMediaType mediaType)
java

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

传入参数

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

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

获取合流内容类型。

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

设置合流布局区域类型。

传入参数

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

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

获取合流布局区域类型。

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

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

传入参数

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

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

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

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

是否本地用户。

返回值

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

设置是否是本地用户。

传入参数

参数名类型说明
islocalUserboolean标识是否是本地用户
  • true: 是
  • false: 否

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

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

传入参数

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

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

获取 region 中的流类型。

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

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

传入参数

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

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

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

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

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

传入参数

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

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

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

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

Available since 3.57

设置占位图的填充模式。

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

传入参数

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

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

Available since 3.57

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

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

Available since 3.57

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

传入参数

参数名类型说明
alternateImageUrlStringurl

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

Available since 3.57

获取占位图的 URL。

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

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

传入参数

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

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

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

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

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

传入参数

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

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

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

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

音频场景类型。

选择音频场景后,SDK 会根据操作系统和开麦、闭麦状态,应用通话音量或媒体音量。参看通话音量与媒体音量了解更多相关信息。

你可以调用 setAudioScenario 设置音频场景。

如果以下音频场景类型无法满足你的业务需要,请联系技术支持人员。

枚举值
类型值说明
AUDIO_SCENARIO_MUSIC0(默认)音乐场景。
此场景适用于对音乐表现力有要求的场景,如音乐直播等。
注意:在此场景下,使用蓝牙耳麦时,会通过手机自带麦克风采集音频。因此,不适用“通话时手机放在包里”等类似场景。使用 AUDIO_SCENARIO_HIGHQUALITY_COMMUNICATION 可以不受此限制。
此外,使用扬声器时,开关麦可能发生音量突变。
不同音频设备,开麦和闭麦状态下的使用的音量类型:
闭麦开麦
内置扬声器媒体音量通话音量
内置听筒通话音量通话音量
有线耳机/ USB 耳机/ 外置声卡媒体音量媒体音量
蓝牙耳机媒体音量媒体音量
AUDIO_SCENARIO_HIGHQUALITY_COMMUNICATION1高质量通话场景。兼顾外放/蓝牙耳机时的音频体验。
此场景适用于对音乐表现力有要求,但又希望能够使用蓝牙耳麦进行音频采集的场景。
注意:在此场景下,使用内置扬声器/听筒时,开关麦可能发生音量突变。使用 AUDIO_SCENARIO_HIGHQUALITY_CHAT 可以避免此种情况。
不同音频设备,开麦和闭麦状态下的使用的音量类型:
闭麦开麦
内置扬声器媒体音量通话音量
内置听筒通话音量通话音量
有线耳机/ USB 耳机/ 外置声卡媒体音量媒体音量
蓝牙耳机通话音量通话音量
AUDIO_SCENARIO_COMMUNICATION2纯通话音量场景。
可以最大程度地消除回声,使通话清晰度达到最优。此场景下,无论客户端音频采集播放设备和采集播放状态,全程使用通话音量,不会有音量突变的听感。
适用于需要频繁上下麦的通话或会议场景。
但是,此场景会压低使用媒体音量进行播放的其他音频的音量,且音质会变差。
AUDIO_SCENARIO_MEDIA3媒体场景。
当设备是内置听筒时,使用通话音量。其余情况使用媒体音量。
注意:在此场景下,使用蓝牙耳麦时,会通过手机自带麦克风采集音频。因此,不适用“通话时手机放在包里”等类似场景。
外放通话时,可能出现回声和啸叫,请联系技术支持人员。
AUDIO_SCENARIO_GAME_STREAMING4游戏媒体场景。
若外放通话且无游戏音效消除优化时音质不理想,请联系技术支持人员。
不同音频设备,开麦和闭麦状态下的使用的音量类型:
闭麦开麦
内置扬声器媒体音量媒体音量
听筒通话音量通话音量
有线耳机/ USB 耳机/ 外置声卡媒体音量媒体音量
蓝牙耳机通话音量通话音量
AUDIO_SCENARIO_HIGHQUALITY_CHAT5高质量畅聊场景。
此场景和 AUDIO_SCENARIO_HIGHQUALITY_COMMUNICATION 高度类似,唯一的差异在于:此场景下,在使用设备自带的麦克风和扬声器进行通话时,开关麦始终采用通话音量,不会引起音量类型突变。
不同音频设备,开麦和闭麦状态下的使用的音量类型:
闭麦开麦
内置扬声器通话音量通话音量
听筒通话音量通话音量
有线耳机/ USB 耳机/ 外置声卡媒体音量媒体音量
蓝牙耳机通话音量通话音量

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

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

枚举值
类型值说明
AUDIO_PROPERTIES_MODE_MICROPHONE0仅包含本地麦克风采集的音频数据和本地屏幕音频采集数据。
AUDIO_PROPERTIES_MODE_AUDIOMIXING1包含以下信息:
  • 本地麦克风采集的音频数据和本地屏幕音频采集数据;
  • 本地混音的音频数据。

ASRAuthorizationType
public enum com.ss.bytertc.engine.data.RTCASRConfig.ASRAuthorizationType
java

语音识别服务鉴权方式,详情请咨询语音识别服务相关人员

枚举值
类型值说明
ASR_AUTHORIZATION_TYPE_TOKEN0Token 鉴权
ASR_AUTHORIZATION_TYPE_SIGNATURE1Signature 鉴权

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

音频均衡效果。

枚举值
类型值说明
VOICE_EQUALIZATION_BAND_FREQUENCY_310中心频率为 31Hz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_621中心频率为 62Hz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_1252中心频率为 125Hz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_2503中心频率为 250Hz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_5004中心频率为 500Hz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_1K5中心频率为 1kHz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_2K6中心频率为 2kHz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_4K7中心频率为 4kHz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_8K8中心频率为 8kHz 的频带。
VOICE_EQUALIZATION_BAND_FREQUENCY_16K9中心频率为 16kHz 的频带。

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

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

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

视频内容类型

枚举值
类型值说明
NORMAL_FRAME0普通视频
BLACK_FRAME1黑帧视频

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 分级编码特性时方可生效。

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。

audioReportInterval
public int com.ss.bytertc.engine.data.EchoTestConfig.audioReportInterval
java

音量信息提示间隔,单位:ms,默认为 100ms

函数说明

getEchoRenderView
View com.ss.bytertc.engine.data.EchoTestConfig.getEchoRenderView()
java

getEchoUid
String com.ss.bytertc.engine.data.EchoTestConfig.getEchoUid()
java

getEchoRoomId
String com.ss.bytertc.engine.data.EchoTestConfig.getEchoRoomId()
java

getEchoToken
String com.ss.bytertc.engine.data.EchoTestConfig.getEchoToken()
java

getEchoEnabledAudio
boolean com.ss.bytertc.engine.data.EchoTestConfig.getEchoEnabledAudio()
java

getEchoEnabledVideo
boolean com.ss.bytertc.engine.data.EchoTestConfig.getEchoEnabledVideo()
java

getAudioReportInterval
int com.ss.bytertc.engine.data.EchoTestConfig.getAudioReportInterval()
java

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

音频采样率,单位为 Hz。

枚举值
类型值说明
AUDIO_SAMPLE_RATE_AUTO-1默认设置。48000Hz。
AUDIO_SAMPLE_RATE_800080008000Hz
AUDIO_SAMPLE_RATE_160001600016000Hz
AUDIO_SAMPLE_RATE_320003200032000Hz
AUDIO_SAMPLE_RATE_441004410044100Hz
AUDIO_SAMPLE_RATE_480004800048000Hz

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

歌曲高潮片段停止时间,单位为毫秒。

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

视频编码格式。

枚举值
类型值说明
MIXED_STREAM_VIDEO_CODEC_TYPE_H264H264H.264 格式,默认值。
MIXED_STREAM_VIDEO_CODEC_TYPE_BYTEVC1ByteVC1ByteVC1 格式。
成员函数
返回名称
StringgetValue
函数说明

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

获取视频编码格式。

返回值

视频编码格式。

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

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

枚举值
类型值说明
MUTE_STATE_OFF0发送
MUTE_STATE_ON1停止发送

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

合流类型

枚举值
类型值说明
STREAM_MIXING_BY_SERVER0服务端合流。
STREAM_MIXING_BY_CLIENT1端云一体合流。SDK 智能决策在客户端或服务端完成合流。
使用前,请联系技术支持同学开通,否则不生效。
成员函数
返回名称
ByteRTCStreamMixingTypeByteRTCStreamMixingType
函数说明

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

传入参数

参数名类型说明
valueint-

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

设备采样率不支持

CpuBufferVideoFrameBuilder
public class com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder
java

构建 CpuBuffer 的视频帧

成员函数
返回名称
CpuBufferVideoFrameBuildersetTimeStampUs
CpuBufferVideoFrameBuildersetWidth
CpuBufferVideoFrameBuildersetHeight
CpuBufferVideoFrameBuildersetRotation
CpuBufferVideoFrameBuildersetColorSpace
CpuBufferVideoFrameBuildersetPlaneData
CpuBufferVideoFrameBuildersetPlaneStride
CpuBufferVideoFrameBuildersetExternalDataInfo
CpuBufferVideoFrameBuildersetSupplementaryInfo
CpuBufferVideoFrameBuildersetReleaseCallback
VideoFramebuild
函数说明

setTimeStampUs
CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setTimeStampUs(long timeStampUs)
java

设置视频帧的时间戳

传入参数

参数名类型说明
timeStampUslong视频帧时间戳

setWidth
CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setWidth(int width)
java

设置视频帧宽度

传入参数

参数名类型说明
widthint视频帧宽度,单位:像素

setHeight
CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setHeight(int height)
java

设置视频帧高度

传入参数

参数名类型说明
heightint视频帧高度,单位:像素

setRotation
CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setRotation(VideoRotation rotation)
java

设置视频帧旋转角度

传入参数

参数名类型说明
rotationVideoRotation视频帧旋转角度,参看 VideoRotation

setColorSpace
CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setColorSpace(ColorSpace colorSpace)
java

设置视频帧色彩空间

传入参数

参数名类型说明
colorSpaceColorSpace视频帧色彩空间,参看 ColorSpace

setPlaneData
CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setPlaneData(
    int planeIndex,
    ByteBuffer buffer
)
java

设置像素平面数据

传入参数

参数名类型说明
planeIndexint像素平面数据索引
bufferByteBufferplane 要设置的 ByteBuffer,如果设置的是一个 DirectBuffer,则不会发生拷贝,如果不是,则会发生一次拷贝

setPlaneStride
CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setPlaneStride(
    int planeIndex,
    int stride
)
java

设置指定像素平面的跨距

传入参数

参数名类型说明
planeIndexint像素平面数据索引
strideint当前像素平面的跨度

setExternalDataInfo
CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setExternalDataInfo(ByteBuffer externalDataInfo)
java

设置 SEI 数据

传入参数

参数名类型说明
externalDataInfoByteBufferSEI 数据,如果设置的是一个 DirectBuffer,则不会发生拷贝,如果不是,则会发生一次拷贝

setSupplementaryInfo
CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setSupplementaryInfo(ByteBuffer supplementaryInfo)
java

设置补充数据指针

传入参数

参数名类型说明
supplementaryInfoByteBuffer补充数据指针,如果设置的是一个 DirectBuffer,则不会发生拷贝,如果不是,则会发生一次拷贝

setReleaseCallback
CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setReleaseCallback(Runnable releaseCallback)
java

设置视频帧的释放回调,当视频帧的引用计数归 0 时,会执行 releaseCallback

传入参数

参数名类型说明
releaseCallbackRunnable视频帧的释放回调

build
VideoFrame com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.build()
java

获取到创建好的视频帧

返回值

创建好的视频帧,参看 VideoFrame

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

音频文件录制内容来源。

枚举值
类型值说明
AUDIO_FRAME_SOURCE_MIC0本地麦克风采集的音频数据。
AUDIO_FRAME_SOURCE_PLAYBACK1远端所有用户混音后的数据
AUDIO_FRAME_SOURCE_MIXED2本地麦克风和所有远端用户音频流的混音后的数据

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

房间内远端流移除原因。

枚举值
类型值说明
STREAM_REMOVE_REASON_UNPUBLISH0远端用户停止发布流。
STREAM_REMOVE_REASON_PUBLISH_FAILED1远端用户发布流失败。
STREAM_REMOVE_REASON_KEEP_LIVE_FAILED2媒体服务器 10s 没收到客户端的媒体数据。
STREAM_REMOVE_REASON_CLIENT_DISCONNECTED3远端用户断网。
STREAM_REMOVE_REASON_REPUBLISH4远端用户重新发布流。
STREAM_REMOVE_REASON_OTHER5其他原因。
STREAM_REMOVE_REASON_PUBLISH_PRIVILEGE_TOKEN_EXPIRED6远端用户 Token 发布权限过期。

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

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

枚举值
类型值说明
FORWARD_STREAM_ERROR_OK0正常
FORWARD_STREAM_ERROR_INVALID_ARGUMENT1201参数异常
FORWARD_STREAM_ERROR_INVALID_TOKEN1202token 错误
FORWARD_STREAM_ERROR_RESPONSE1203服务端异常
FORWARD_STREAM_ERROR_REMOTE_KICKED1204目标房间有相同 user id 的用户加入,转发中断
FORWARD_STREAM_ERROR_NOT_SUPPORT1205服务端不支持转发功能

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

通话前探测的停止原因。

onNetworkDetectionStopped 回调的参数类型

枚举值
类型值说明
USER0用户主动停止
TIMEOUT1探测超过三分钟
CONNECTION_LOST2探测网络连接断开。
当超过 12s 没有收到回复,SDK 将断开网络连接,并且不再尝试重连。
STREAMING3本地开始推拉流,停止探测
INNER_ERR4网络探测失败,内部异常

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

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

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 内无应答、开启飞行模式、拔掉网线等原因断开。

更多网络状态信息参见 连接状态提示。

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

数码变焦参数类型

枚举值
类型值说明
ZOOM_FOCUS_OFFSET0设置缩放系数
ZOOM_MOVE_OFFSET1设置移动步长

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

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: 开)。

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

录音配置

枚举值
类型值说明
AUDIO_RECORDING_STATE_ERROR0录制异常
AUDIO_RECORDING_STATE_PROCESSING1录制进行中
AUDIO_RECORDING_STATE_SUCCESS2已结束录制,并且录制文件保存成功。

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

K 歌打分维度。

枚举值
类型值说明
MUL_DIM_SING_SCORING_MODE_NOTE0按照音高进行评分。

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

音频播放设备

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

枚举值
类型值说明
AUDIO_PLAYBACK_DEVICE_HEADSET1有线耳机
AUDIO_PLAYBACK_DEVICE_EARPIECE2听筒
AUDIO_PLAYBACK_DEVICE_SPEAKERPHONE3扬声器
AUDIO_PLAYBACK_DEVICE_HEADSET_BLUETOOTH4蓝牙耳机
AUDIO_PLAYBACK_DEVICE_HEADSET_USB5USB 设备
成员函数
返回名称
intvalue
函数说明

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

获取当前值

返回值

当前值

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 无效,转发失败。

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 格式。

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

本地代理密码。

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。

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

音频 dump 状态

枚举值
类型值说明
AUDIO_DUMP_START_FAILURE0音频 dump 启动失败
AUDIO_DUMP_START_SUCCESS1音频 dump 启动成功
AUDIO_DUMP_STOP_FAILURE2音频 dump 停止失败
AUDIO_DUMP_STOP_SUCCESS3音频 dump 停止成功
AUDIO_DUMP_RUNNING_FAILURE4音频 dump 运行失败
AUDIO_DUMP_RUNNING_SUCCESS5音频 dump 运行成功

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

编码策略偏好。

枚举值
类型值说明
DISABLED0无偏好。不降低帧率和分辨率。
MAINTAIN_FRAMERATE1(默认值)帧率优先。分辨率不变。
MAINTAIN_QUALITY2分辨率优先。
BALANCE3平衡帧率与分辨率。

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

文件存放路径。

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

音视频质量反馈问题类型

枚举值
类型值说明
NONE0没有问题
OTHER_MESSAGE1L其他问题
DISCONNECTED1L << 1连接失败
EAR_BACK_DELAY1L << 2耳返延迟大
LOCAL_NOISE1L << 10本端有杂音
LOCAL_AUDIO_LAGGING1L << 11本端声音卡顿
LOCAL_NO_AUDIO1L << 12本端无声音
LOCAL_AUDIO_STRENGTH1L << 13本端声音大/小
LOCAL_ECHO1L << 14本端有回声
LOCAL_VIDEO_FUZZY1L << 24本端视频模糊
LOCAL_NOT_SYNC1L << 25本端音视频不同步
LOCAL_VIDEO_LAGGING1L << 26本端视频卡顿
LOCAL_NO_VIDEO1L << 27本端无画面
REMOTE_NOISE1L << 37远端有杂音
REMOTE_AUDIO_LAGGING1L << 38远端声音卡顿
REMOTE_NO_AUDIO1L << 39远端无声音
REMOTE_AUDIO_STRENGTH1L << 40远端声音大/小
REMOTE_ECHO1L << 41远端有回声
REMOTE_VIDEO_FUZZY1L << 51远端视频模糊
REMOTE_NOT_SYNC1L << 52远端音视频不同步
REMOTE_VIDEO_LAGGING1L << 53远端视频卡顿
REMOTE_NO_VIDEO1L << 54远端无画面

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

公共流的视频编码参数

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

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

设置公共流视频帧率。

传入参数

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

返回值

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

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

设置公共流视频码率

传入参数

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

返回值

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

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

设置公共流视频宽度。

传入参数

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

返回值

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

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

设置公共流视频高度。

传入参数

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

返回值

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

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
Region com.ss.bytertc.engine.live.LiveTranscoding.Region.uid(String uid)
java

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

传入参数

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

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

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

传入参数

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

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

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

传入参数

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

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

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

传入参数

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

setCornerRadius
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
Region com.ss.bytertc.engine.live.LiveTranscoding.Region.contentControl(TranscoderContentControlType contentControl)
java

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

传入参数

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

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

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

传入参数

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

position
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
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
boolean com.ss.bytertc.engine.live.LiveTranscoding.Region.isScreenStream()
java

是否是屏幕流。

返回值

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

(仅服务端合流支持合屏幕流)设置是否是屏幕流。

传入参数

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

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

是否本地用户。

返回值

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

设置是否是本地用户。

传入参数

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

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

设置合流布局区域类型。

传入参数

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

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

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

传入参数

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

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

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

传入参数

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

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

设置当前 region 空间音频位置

传入参数

参数名类型说明
xfloatx 坐标
yfloaty 坐标
zfloatz 坐标

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

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

传入参数

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

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

无法获取对端用户在线状态

发生级联错误、对端用户在线状态异常时返回

VideoDecoderConfig
public enum com.ss.bytertc.engine.video.VideoDecoderConfig
java

视频解码方式

枚举值
类型值说明
VIDEO_DECODER_CONFIG_RAW0开启 SDK 内部解码,只回调解码后的数据。回调为 onFrame。
VIDEO_DECODER_CONFIG_ENCODE1开启自定义解码,只回调解码前数据。回调为 onRemoteEncodedVideoFrame。
VIDEO_DECODER_CONFIG_BOTH2开启 SDK 内部解码,同时回调解码前和解码后的数据 。onFrame 和 onRemoteEncodedVideoFrame。

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

编码策略偏好。

枚举值
类型值说明
Disabled0无偏好。不降低帧率和分辨率。
MaintainFramerate1帧率优先。
MaintainQuality2分辨率优先。
Balance3平衡帧率与分辨率。

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。

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

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

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

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

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

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

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]。

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

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

枚举值
类型值说明
RAW_MEMORY0CPU Buffer
GL_TEXTURE2GL Texture

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

合流输出内容类型

枚举值
类型值说明
HAS_AUDIO_AND_VIDEO0输出的混流包含音频和视频
HAS_AUDIO_ONLY1输出的混流只包含音频
HAS_VIDEO_ONLY2输出的混流只包含视频
成员函数
返回名称
intgetValue
函数说明

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

获取合流输出内容类型。

返回值

合流输出内容类型

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

房间模式

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

调用 setAudioProfile 改变音频参数配置

枚举值
类型值说明
CHANNEL_PROFILE_COMMUNICATION0普通音频通话,默认模式
与 CHANNEL_PROFIEL_MEETING(16) 配置相同。
你可以联系技术支持更换默认配置参数。
CHANNEL_PROFILE_GAME2游戏语音模式,低功耗、低流量消耗。
低端机在此模式下运行时,进行了额外的性能优化:
  • 部分低端机型配置编码帧长 40/60
  • 部分低端机型关闭软件 3A 音频处理 增强对 iOS 其他屏幕录制进行的兼容性,避免音频录制被 RTC 打断。
CHANNEL_PROFILE_CLOUD_GAME3云游戏模式。
如果你的游戏场景需要低延迟的配置,使用此设置。
此设置下,弱网抗性较差。
CHANNEL_PROFILE_LOW_LATENCY4云渲染模式。超低延时配置。
如果你的应用并非游戏但又对延时要求较高时,选用此模式
该模式下,音视频通话延时会明显降低,但同时弱网抗性、通话音质等均会受到一定影响。
CHANNEL_PROFILE_CHAT5适用于 1 vs 1 音视频通话
CHANNEL_PROFILE_CHAT_ROOM6适用于 3 人及以上纯语音通话。
通话中,闭麦时为是媒体模式,上麦后切换为通话模式。
CHANNEL_PROFILE_LW_TOGETHER7实现多端同步播放音视频,适用于 “一起看” 或 “一起听” 场景。
该场景中,使用 RTC 信令同步播放进度,共享的音频内容不通过 RTC 进行传输。
CHANNEL_PROFILE_GAME_HD8适用于对音质要求较高的游戏场景,优化音频 3A 策略,只通过媒体模式播放音频
CHANNEL_PROFILE_CO_HOST9适用于直播中主播之间连麦的业务场景。
该场景中,直播时通过 CDN,发起连麦 PK 时使用 RTC。
CHANNEL_PROFILE_INTERACTIVE_PODCAST10适用于单主播和观众进行音视频互动的直播。通话模式,上下麦不会有模式切换,避免音量突变现象
CHANNEL_PROFILE_KTV11线上 KTV 场景,音乐音质,低延迟
使用 RTC 传输伴奏音乐,混音后的歌声,适合独唱或单通合唱
CHANNEL_PROFILE_CHORUS12适合在线实时合唱场景,高音质,超低延迟。使用本配置前请联系技术支持进行协助完成其他配置。
CHANNEL_PROFIEL_VR_CHAT13适用于 VR 场景。支持最高 192 KHz 音频采样率,可开启球形立体声。
CHANNEL_PROFILE_GAME_STREAMING14适用于 1 vs 1 游戏串流,支持公网或局域网。
CHANNEL_PROFILE_LAN_LIVE_STREAMING15适用于局域网的 1 对多视频直播,最高支持 8K, 60 帧/秒, 100 Mbps 码率
需要在局域网配置私有化部署媒体服务器。
CHANNEL_PROFIEL_MEETING16适用于云端会议中的个人设备。
CHANNEL_PROFILE_MEETING_ROOM17适用于云端会议中的会议室终端设备,例如 Rooms,投屏盒子等。
CHANNEL_PROFILE_CLASSROOM18适用于课堂互动,房间内所有成员都可以进行音视频互动
当你的场景中需要同时互动的成员超过 10 人时使用此模式
[deprecated] CHANNEL_PROFILE_LIVE_BROADCASTING1Deprecated since 3.42 and will be deleted in 3.51, use CHANNEL_PROFILE_INTERACTIVE_PODCAST instead.
直播模式。
当你对音视频通话的音质和画质要求较高时,应使用此设置。
此设置下,当用户使用蓝牙耳机收听时,蓝牙耳机使用媒体模式。

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

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

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

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

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

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

传入参数

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

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

获取画布的背景颜色。

setBackgroundImageURL
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
String com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamLayoutConfig.getBackgroundImageURL()
java

Available since 3.57

获取背景图片的地址。

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

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

传入参数

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

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

获取用户布局信息列表。

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

设置透传的 App 数据

传入参数

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

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

获取透传的 App 数据。

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

释放音频帧。

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

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
com.ss.bytertc.engine.data.RemoteVideoConfig.RemoteVideoConfig(
    int width,
    int height,
    int framerate
)
java

远端视频参数设置

传入参数

参数名类型说明
widthint视频宽度,单位:px
heightint视频高度,单位:px
framerateint期望订阅的最高帧率,单位:fps,默认值为 0 即满帧订阅,设为大于 0 的值时开始生效。
当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。
仅码流支持 SVC 分级编码特性时方可生效。

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

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

枚举值
类型值说明
AUDIO0只控制音频,不影响视频
VIDEO1只控制视频,不影响音频
AUDIO_AND_VIDEO2同时控制音频和视频

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

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

音频混音文件播放状态。

枚举值
类型值说明
AUDIO_MIXING_STATE_PRELOADED0混音已加载
AUDIO_MIXING_STATE_PLAYING1混音正在播放
AUDIO_MIXING_STATE_PAUSED2混音暂停
AUDIO_MIXING_STATE_STOPPED3混音停止
AUDIO_MIXING_STATE_FAILED4混音播放失败
AUDIO_MIXING_STATE_FINISHED5混音播放结束
AUDIO_MIXING_STATE_PCM_ENABLED6准备 PCM 混音
AUDIO_MIXING_STATE_PCM_DISABLED7PCM 混音播放结束

DownloadLyricType
public enum com.ss.bytertc.ktv.data.DownloadLyricType
java

歌词文件类型。

枚举值
类型值说明
KRC0KRC 歌词文件。
LRC1LRC 歌词文件。

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

合流类型

枚举值
类型值说明
MIXED_STREAM_TYPE_BY_SERVER0服务端合流。
MIXED_STREAM_TYPE_BY_CLIENT1端云一体合流。SDK 智能决策在客户端或服务端完成合流。

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 。

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 时,为适配码率模式。

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

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

视频帧朝向

枚举值
类型值说明
ADAPTIVE0(默认)使用相机输出的原始视频帧的角度,不对视频帧进行额外旋转。
PORTRAIT1固定为竖屏,将相机采集到的视频帧转换为竖屏,在整个 RTC 链路中传递竖屏帧。
LANDSCAPE2固定为横屏,将相机采集到的视频帧转换为横屏,在整个 RTC 链路中传递横屏帧。

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)的大小分别是:

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

音频播放路由

枚举值
类型值说明
AUDIO_ROUTE_DEFAULT-1默认设备。通过 setDefaultAudioRoute 设置的音频路由。
AUDIO_ROUTE_HEADSET1有线耳机
AUDIO_ROUTE_EARPIECE2听筒。设备自带的,一般用于通话的播放硬件。
AUDIO_ROUTE_SPEAKERPHONE3扬声器。设备自带的,一般用于免提播放的硬件。
AUDIO_ROUTE_HEADSET_BLUETOOTH4蓝牙耳机
AUDIO_ROUTE_HEADSET_USB5USB 设备
成员函数
返回名称
intvalue
函数说明

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

获取当前值

返回值

当前值

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 坐标

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

视频输入类型

枚举值
类型值说明
MEDIA_INPUT_TYPE_EXTERNAL0自定义采集。
设置完成后方可直接向 SDK 推送视频帧。
MEDIA_INPUT_TYPE_INTERNAL1内部 SDK 采集。
此设置仅切换至内部采集,你需继续调用 startVideoCapture 开启内部采集。

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

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

枚举值
类型值说明
MaintainFramerate1流畅模式,优先保障帧率。适用于共享游戏、视频等动态画面。
MaintainQuality2清晰模式,优先保障分辨率。适用于共享 PPT、文档、图片等静态画面。

AudioPlayType
public enum com.ss.bytertc.ktv.data.AudioPlayType
java

音乐播放类型。

枚举值
类型值说明
LOCAL0仅本地播放。
REMOTE1仅远端播放。
LOCAL_AND_REMOTE2本地、远端同时播放。

DownloadFileType
public enum com.ss.bytertc.ktv.data.DownloadFileType
java

下载文件类型。

枚举值
类型值说明
MUSIC1音频文件。
KRC2KRC 歌词文件。
LRC3LRC 歌词文件。
MIDI4MIDI 文件。

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

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

枚举值
类型值说明
SET0从音频数据的头开始读取,读取的实际偏移量为参数 offset 的值。
CUR1从音频数据的某一位置开始读取,读取的实际偏移量为音频数据当前的读取位置位置加上参数 offset 的值。
END2从音频数据的尾开始读取,读取的实际数据偏移量为用户传入的音频数据大小加上参数 offset 的值。
SIZE3返回音频数据的大小。

AudioCodecType
public enum com.ss.bytertc.engine.live.LiveTranscoding.AudioConfig.AudioCodecType
java

音频编码格式。

枚举值
类型值说明
AUDIO_CODEC_TYPE_AACAACAAC 格式。
成员函数
返回名称
StringgetValue
函数说明

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

获取音频编码格式。

返回值

音频编码格式。

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 文件路径。

LyricStatus
public enum com.ss.bytertc.ktv.data.LyricStatus
java

歌词格式类型。

枚举值
类型值说明
NONE0无歌词。
KRC1KRC 歌词。
LRC2LRC 歌词。
KRC_AND_LRC4KRC 歌词和 LRC 歌词均有。

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

音频质量。

枚举值
类型值说明
AUDIO_QUALITY_LOW0低音质
AUDIO_QUALITY_MEDIUM1中音质
AUDIO_QUALITY_HIGH2高音质
AUDIO_QUALITY_ULTRA_HIGH3超高音质

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

合流布局区域类型

枚举值
类型值说明
MIXED_STREAM_LAYOUT_REGION_TYPE_VIDEO_STREAM0合流布局区域类型为视频。
MIXED_STREAM_LAYOUT_REGION_TYPE_IMAGE1合流布局区域类型为图片。
成员函数
返回名称
intgetValue
函数说明

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

获取合流布局区域类型。

返回值

合流布局区域类型。

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

音频回调方法

枚举值
类型值说明
AUDIO_FRAME_CALLBACK_RECORD0本地麦克风录制的音频数据回调
AUDIO_FRAME_CALLBACK_PLAYBACK1订阅的远端所有用户混音后的音频数据回调
AUDIO_FRAME_CALLBACK_MIXED2本地麦克风录制和订阅的远端所有用户混音后的音频数据回调
AUDIO_FRAME_CALLBACK_REMOTE_USER3订阅的远端每个用户混音前的音频数据回调

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

元数据

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,导致本端用户被踢出。

VideoRenderMirrorType
public enum com.ss.bytertc.engine.video.VideoRenderMirrorType
java

是否将视频帧镜像。

枚举值
类型值说明
ON1开启镜像。
OFF2(默认值)不开启镜像。

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

公共流布局中的视频裁剪参数。

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

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

设置左上角横坐标。

传入参数

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

返回值

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

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

设置左上角纵坐标。

传入参数

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

返回值

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

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

设置视频宽度。

传入参数

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

返回值

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

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

设置视频高度。

传入参数

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

返回值

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

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
static LiveTranscoding com.ss.bytertc.engine.live.LiveTranscoding.getDefualtLiveTranscode()
java

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

返回值

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

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

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

设置推流 CDN 地址。仅支持 RTMP 协议,Url 必须满足正则 /^rtmps?:\/\//。

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

传入参数

参数名类型说明
urlString推流地址

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

设置推流房间 ID。roomId 和 userId 长度相加不得超过 126 字节。

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

传入参数

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

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

设置推流用户 ID。roomId 和 userId 长度相加不得超过 126 字节。

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

传入参数

参数名类型说明
userIdString推流用户 ID。

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

设置视频转码配置参数。

传入参数

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

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

设置音频转码配置参数。

传入参数

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

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

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

传入参数

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

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

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

传入参数

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

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

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

传入参数

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

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

获取合流类型。

返回值

合流类型,参看 ByteRTCStreamMixingType。

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

设置合流类型。

传入参数

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

注意

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

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

获取推流的 CDN 地址。

返回值

CDN 的 URL 地址。

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

获取视频转码配置参数。

返回值

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

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

获取音频转码配置参数。

返回值

当前音频转码配置参数,参看 AudioConfig。

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

获取空间音频配置参数。

返回值

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

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

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

返回值

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

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

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

返回值

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

setAction
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: 停止转推直播功能

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

视频降噪模式。

枚举值
类型值说明
VIDEO_DENOISE_MODE_OFF0视频降噪关闭。
VIDEO_DENOISE_MODE_AUTO1视频降噪开启,由 ByteRTC 后台配置视频降噪算法。

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

高

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

推流 CDN 的空间音频参数。

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

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

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

传入参数

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

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

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

传入参数

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

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

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

传入参数

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

注意

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

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

服务端合流转推 SEI 内容。

枚举值
类型值说明
MIXED_STREAM_SEI_CONTENT_MODE_DEFAULT0视频流中包含全部的 SEI 信息。默认设置。
MIXED_STREAM_SEI_CONTENT_MODE_ENABLE_VOLUME_INDICATION1随非关键帧传输的 SEI 数据中仅包含音量信息。
当设置 setEnableVolumeIndication 为 true 时,此参数设置生效。

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

混音错误码。

枚举值
类型值说明
AUDIO_MIXING_ERROR_OK0正常
AUDIO_MIXING_ERROR_PRELOAD_FAILED1预加载失败。找不到混音文件或者文件长度超出 20s
AUDIO_MIXING_ERROR_START_FAILED2混音开启失败。找不到混音文件或者混音文件打开失败
AUDIO_MIXING_ERROR_ID_NOT_FOUND3混音 ID 异常
AUDIO_MIXING_ERROR_SET_POSITION_FAILED4设置混音文件的播放位置出错
AUDIO_MIXING_ERROR_INVALID_VOLUME5音量参数不合法,仅支持设置的音量值为[0, 400]
AUDIO_MIXING_ERROR_LOAD_CONFLICT6播放的文件与预加载的文件不一致。请先使用 unloadAudioMixing 卸载此前的文件。
AUDIO_MIXING_ERROR_ID_TYPE_NOT_MATCH7不支持此混音类型。
AUDIO_MIXING_ERROR_ID_TYPE_INVALID_PITCH8设置混音文件的音调不合法
AUDIO_MIXING_ERROR_INVALID_AUDIO_TRACK9设置混音文件的音轨不合法
AUDIO_MIXING_ERROR_IS_STARTING10混音文件正在启动中
AUDIO_MIXING_ERROR_INVALID_PLAYBACK_SPEED11设置混音文件的播放速度不合法

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

AAC 编码规格。

枚举值
类型值说明
AAC_PROFILE_LCLCAAC-LC 规格,默认值。
AAC_PROFILE_HEV1HEv1HE-AAC v1 规格。
AAC_PROFILE_HEV2HEv2HE-AAC v2 规格。
成员函数
返回名称
StringgetValue
函数说明

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

获取 AAC 编码规格。

返回值

AAC 编码规格。

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

音频选路优先级设置

枚举值
类型值说明
AUDIO_SELECTION_PRIORITY_NORMAL0正常,参加音频选路
AUDIO_SELECTION_PRIORITY_HIGIH1高优先级,跳过音频选路

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

数据消息来源

枚举值
类型值说明
DATA_MESSAGE_SOURCE_TYPE_DEFAULT0通过客户端或服务端的插入的自定义消息。
DATA_MESSAGE_SOURCE_TYPE_SYSTEM1系统数据,包含音量指示信息。

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

公共流的合流布局

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

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

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

返回值

当前公共流的用户布局信息列表。

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

设置合成公共流的各路流的布局信息。

传入参数

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

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

获取插帧模式。

返回值

插帧模式。

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

设置插帧模式。

传入参数

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

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

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

返回值

当前使用的布局模式。

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

设置公共流的布局模式。

传入参数

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

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

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

返回值

当前背景图片链接

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

设置背景图片链接。

传入参数

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

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

获取画布的背景颜色。

返回值

当前画布的背景颜色。

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

设置画布的背景颜色。

传入参数

参数名类型说明
backgroundColorString画布的背景颜色。格式为 RGB 定义下的 Hex 值,如 #FFB6C1 表示浅粉色。默认值 #000000,表示为黑色

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

是否开启开心程度检测。

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

进行人脸识别的视频帧的时间戳。

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
synchronized void com.ss.bytertc.engine.video.VideoFrame.setReleaseCallback(Runnable releaseCallback)
java

设置视频帧释放回调,当视频帧的引用计数归 0 时,会执行 releaseCallback

传入参数

参数名类型说明
releaseCallbackRunnable视频帧释放回调

hasReleaseCallback
synchronized boolean com.ss.bytertc.engine.video.VideoFrame.hasReleaseCallback()
java

用于检查当前的视频帧是否已设置 releaseCallback

返回值

getFrameType
abstract VideoFrameType com.ss.bytertc.engine.video.VideoFrame.getFrameType()
java

获取视频帧类型,参看 VideoFrameType

getPixelFormat
abstract VideoPixelFormat com.ss.bytertc.engine.video.VideoFrame.getPixelFormat()
java

获取视频帧格式,参看 VideoPixelFormat

getContentType
abstract VideoContentType com.ss.bytertc.engine.video.VideoFrame.getContentType()
java

获取视频内容类型

返回值

视频内容类型,参看 VideoContentType。

getTimeStampUs
abstract long com.ss.bytertc.engine.video.VideoFrame.getTimeStampUs()
java

获取视频帧时间戳,单位:微秒

getWidth
abstract int com.ss.bytertc.engine.video.VideoFrame.getWidth()
java

获取视频帧宽度,单位:px

getHeight
abstract int com.ss.bytertc.engine.video.VideoFrame.getHeight()
java

获取视频帧高度,单位:px

getRotation
abstract VideoRotation com.ss.bytertc.engine.video.VideoFrame.getRotation()
java

获取视频帧旋转角度

getColorSpace
abstract ColorSpace com.ss.bytertc.engine.video.VideoFrame.getColorSpace()
java

获取视频帧色彩空间,参看 ColorSpace

getCameraId
abstract CameraId com.ss.bytertc.engine.video.VideoFrame.getCameraId()
java

获取视频帧的摄像头信息,参看 CameraId

getNumberOfPlanes
abstract int com.ss.bytertc.engine.video.VideoFrame.getNumberOfPlanes()
java

获取视频帧像素平面数量

注意

yuv 数据存储格式分为打包(packed)存储格式和平面(planar)存储格式,planar 格式中 Y、U、V 分平面存储,packed 格式中 Y、U、V 交叉存储

getPlaneData
abstract ByteBuffer com.ss.bytertc.engine.video.VideoFrame.getPlaneData(int planeIndex)
java

获取 plane 数据

传入参数

参数名类型说明
planeIndexintplane 数据索引

getPlaneStride
abstract int com.ss.bytertc.engine.video.VideoFrame.getPlaneStride(int planeIndex)
java

获取指定 plane 中数据行的长度

传入参数

参数名类型说明
planeIndexintplane 数据索引

getExternalDataInfo
abstract ByteBuffer com.ss.bytertc.engine.video.VideoFrame.getExternalDataInfo()
java

获取 SEI 数据

getSupplementaryInfo
abstract ByteBuffer com.ss.bytertc.engine.video.VideoFrame.getSupplementaryInfo()
java

获取补充数据指针

getTextureID
abstract int com.ss.bytertc.engine.video.VideoFrame.getTextureID()
java

获取纹理 ID

getTextureMatrix
abstract float[] com.ss.bytertc.engine.video.VideoFrame.getTextureMatrix()
java

获取纹理矩阵

getEGLContext
abstract EGLContext com.ss.bytertc.engine.video.VideoFrame.getEGLContext()
java

获取纹理使用的 EGLContext

retain
synchronized void com.ss.bytertc.engine.video.VideoFrame.retain()
java

对当前的视频帧进行一次引用计数

release
synchronized void com.ss.bytertc.engine.video.VideoFrame.release()
java

对当前的视频帧减少一次引用计数

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
String com.ss.bytertc.engine.data.RemoteStreamKey.getRoomId()
java

获取房间 ID

getUserId
String com.ss.bytertc.engine.data.RemoteStreamKey.getUserId()
java

获取用户 ID

getStreamIndex
StreamIndex com.ss.bytertc.engine.data.RemoteStreamKey.getStreamIndex()
java

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

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

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

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

混响特效类型。

枚举值
类型值说明
VOICE_REVERB_ORIGINAL0原声,不含特效
VOICE_REVERB_ECHO1回声
VOICE_REVERB_CONCERT2演唱会
VOICE_REVERB_ETHEREAL3空灵
VOICE_REVERB_KTV4KTV
VOICE_REVERB_STUDIO5录音棚
VOICE_REVERB_VIRTUAL_STEREO6虚拟立体声
VOICE_REVERB_SPACIOUS7空旷
VOICE_REVERB_3D83D 人声

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

自定义音频源模式

枚举值
类型值说明
PUSH0当播放来自本地的 PCM 数据时,使用此选项。
PULL1当播放来自内存的音频数据时,使用此选项。

KTVPlayerErrorCode
public enum com.ss.bytertc.ktv.data.KTVPlayerErrorCode
java

KTV 播放器错误码。

枚举值
类型值说明
OK0成功。
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混音启动中。

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

音频声道。

枚举值
类型值说明
AUDIO_CHANNEL_AUTO-1默认设置。双声道。
AUDIO_CHANNEL_MONO1单声道
AUDIO_CHANNEL_STEREO2双声道

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

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

枚举值
类型值说明
REMOTE_VIDEO_STATE_CHANGE_REASON_INTERNAL0内部原因
REMOTE_VIDEO_STATE_CHANGE_REASON_NETWORK_CONGESTION1网络阻塞
REMOTE_VIDEO_STATE_CHANGE_REASON_NETWORK_RECOVERY2网络恢复正常
REMOTE_VIDEO_STATE_CHANGE_REASON_LOCAL_MUTED3本地用户停止接收远端视频流或本地用户禁用视频模块
REMOTE_VIDEO_STATE_CHANGE_REASON_LOCAL_UNMUTED4本地用户恢复接收远端视频流或本地用户启用视频模块
REMOTE_VIDEO_STATE_CHANGE_REASON_REMOTE_MUTED5远端用户停止发送视频流或远端用户禁用视频模块
REMOTE_VIDEO_STATE_CHANGE_REASON_REMOTE_UNMUTED6远端用户恢复发送视频流或远端用户启用视频模块
REMOTE_VIDEO_STATE_CHANGE_REASON_REMOTE_OFFLINE7远端用户离开房间
状态转换参看 onUserUnpublishStream/ onUserUnpublishScreen。

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

性能相关告警的原因

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

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

当前视频设备类型

枚举值
类型值说明
VIDEO_DEVICE_TYPE_UNKNOWN-1未知设备类型
VIDEO_DEVICE_TYPE_RENDER_DEVICE0视频渲染设备类型
VIDEO_DEVICE_TYPE_CAPTURE_DEVICE1视频采集设备类型
VIDEO_DEVICE_TYPE_SCREEN_CAPTURE_DEVICE2屏幕流视频设备

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。

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

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

枚举值
类型值说明
RENDER_HIDDEN1视窗填满优先,默认值。
视频尺寸等比缩放,直至视窗被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。
RENDER_FIT2视频帧内容全部显示优先。
视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成背景颜色。
RENDER_ADAPTIVE3视频帧自适应画布。
视频尺寸非等比例缩放,把窗口充满。在此过程中,视频帧的长宽比例可能会发生变化。
[deprecated] RENDER_UNKNOWN0Deprecated since 3.45 and will be deleted in 3.51.
成员函数
返回名称
intgetValue
函数说明

getValue
int com.ss.bytertc.engine.live.LiveTranscoding.TranscoderRenderMode.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
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{ MixedStreamServerControlConfig}。

注意

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

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

Available since 3.56

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

setSeiPayloadUuid
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{ MixedStreamServerControlConfig}。

注意

PayloadType 为 5 时,必须填写 PayloadUUID,否则会收到错误回调,错误码为 1091。

PayloadType 不是 5 时,不需要填写 PayloadUUID,如果填写会被后端忽略。

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

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

Available since 3.56

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

setVolumeIndicationInterval
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
float com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamServerControlConfig.getVolumeIndicationInterval()
java

Available since 3.56

获取音量提示间隔。

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

Available since 3.56

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

传入参数

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

注意

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

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

Available since 3.56

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

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

Available since 3.56

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

传入参数

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

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

Available since 3.56

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

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

Available since 3.56

设置 SEI 内容。

传入参数

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

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

Available since 3.56

获取 SEI 内容设置。

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

Available since 3.56

设置有效音量大小。

传入参数

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

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

Available since 3.56

获取有效音量大小。

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

Available since 3.57

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

传入参数

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

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

Available since 3.57

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

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

Available since 3.57

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

传入参数

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

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

Available since 3.57

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

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

混音播放声道类型

枚举值
类型值说明
AUDIO_MIXING_DUAL_MONO_MODE_AUTO0和音频文件一致
AUDIO_MIXING_DUAL_MONO_MODE_L1只能听到音频文件中左声道的音频
AUDIO_MIXING_DUAL_MONO_MODE_R2只能听到音频文件中右声道的音频
AUDIO_MIXING_DUAL_MONO_MODE_MIX3能同时听到音频文件中左右声道的音频

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 。

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
MixedStreamVideoConfig com.ss.bytertc.engine.live.MixedStreamConfig.MixedStreamVideoConfig.setFps(int fps)
java

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

传入参数

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

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

获取合流视频帧率。

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

设置视频 I 帧时间间隔。建议设置。

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

传入参数

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

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

获取视频 I 帧时间间隔。

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

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

传入参数

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

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

获取合流视频码率。

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

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

传入参数

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

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

获取合流视频宽度。

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

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

传入参数

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

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

获取合流视频高度。

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

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

传入参数

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

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

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

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

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

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

传入参数

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

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

获取视频编码格式。

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

MusicFilterType
public enum com.ss.bytertc.ktv.data.MusicFilterType
java

歌曲过滤方式。

枚举值
类型值说明
NONE0不过滤。
WITHOUT_LYRIC1<<0过滤没有歌词的歌曲。
UNSUPPORTED_SCORE1<<1过滤不支持打分的歌曲。
UNSUPPORTED_ACCOMPANY1<<2过滤不支持伴唱切换的歌曲。
UNSUPPORTED_CLIMAX1<<3过滤没有高潮片段的歌曲。

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

LocalVideoRenderPosition
public enum com.ss.bytertc.engine.video.LocalVideoRenderPosition
java

本地视频帧回调位置。

枚举值
类型值说明
AFTER_CAPTURE0采集后。
AFTER_PREPROCESS1(默认值)前处理后。

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。

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

音量回调模式。

枚举值
类型值说明
AUDIO_REPORT_MODE_NORMAL0默认始终开启音量回调。
AUDIO_REPORT_MODE_DISCONNECT1可见用户进房并停止推流后,关闭音量回调。
AUDIO_REPORT_MODE_RESET2可见用户进房并停止推流后,开启音量回调,回调值重置为 0。

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

音频参数格式

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

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

单次回调的音频帧中包含的采样点数。你可以通过设置 samplesPerCall,sampleRate 和 channel,设置音频帧长。

默认值为 0,此时,采样点数取最小值。最小值为帧长间隔是 0.01s 时的值,即 sampleRate * channel * 0.01s。

最大值是 2048。超出取值范围时,采样点数取默认值。

该参数仅在设置读写回调时生效,调用 enableAudioFrameCallback 开启只读模式回调时设置该参数不生效。

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

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

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

镜像类型

枚举值
类型值说明
MIRROR_TYPE_NONE0本地预览和编码传输时均无镜像效果
MIRROR_TYPE_RENDER1本地预览时有镜像效果,编码传输时无镜像效果
MIRROR_TYPE_RENDER_AND_ENCODER3本地预览和编码传输时均有镜像效果

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

云代理服务器端口

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 = EncoderPreference.MAINTAIN_FRAMERATE
java

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

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

首帧播放状态

枚举值
类型值说明
FIRST_FRAME_PLAY_STATE_PLAYING0播放中
FIRST_FRAME_PLAY_STATE_PLAYED1播放成功
FIRST_FRAME_PLAY_STATE_END2播放失败

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(适用于内部渲染)相互独立。

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

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

枚举值
类型值说明
ANS_MODE_DISABLE0关闭所有音频降噪能力。
ANS_MODE_LOW1适用于微弱降噪。
ANS_MODE_MEDIUM2适用于抑制中度平稳噪声,如空调声和风扇声。
ANS_MODE_HIGH3适用于抑制嘈杂非平稳噪声,如键盘声、敲击声、碰撞声、动物叫声。
ANS_MODE_AUTOMATIC4启用音频降噪能力。具体的降噪算法由 RTC 智能决策。

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

本地音频流状态。

SDK 通过 onLocalAudioStateChanged 回调该状态。

枚举值
类型值说明
LOCAL_AUDIO_STREAM_STATE_STOPPED0本地音频默认初始状态。
麦克风停止工作时回调该状态,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorOk 。
LOCAL_AUDIO_STREAM_STATE_RECORDING1本地音频录制设备启动成功。
采集到音频首帧时回调该状态,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorOk 。
LOCAL_AUDIO_STREAM_STATE_ENCODING2本地音频首帧编码成功。
音频首帧编码成功时回调该状态,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorOk 。
LOCAL_AUDIO_STREAM_STATE_FAILED3本地音频启动失败,在以下时机回调该状态:
  • 本地录音设备启动失败,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorRecordFailure 。
  • 检测到没有录音设备权限,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorDeviceNoPermission。
成员函数
返回名称
intvalue
函数说明

value
int com.ss.bytertc.engine.data.LocalAudioStreamState.value()
java

获取当前值

返回值

当前值

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。

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
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

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

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

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

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

枚举值
类型值说明
YUV_I4200YUV I420。Android、Windows 默认回调格式。支持系统:Android、Windows。
TEXTURE_2D1OpenGL GL_TEXTURE_2D 格式纹理。支持系统:安卓。
CVPIXEL_BUFFER_BGRA2CVPixelBuffer BGRA。iOS 默认回调格式。支持系统: iOS。
YUV_NV123YUV NV12。macOS 默认回调格式。支持系统: macOS。
成员函数
返回名称
intgetValue
函数说明

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

获取合流输出内容类型。

返回值

合流输出内容类型

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

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

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

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

设置视频编码格式。

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

传入参数

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

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

设置合流视频帧率。

传入参数

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

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

设置视频 I 帧时间间隔。

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

传入参数

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

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

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

传入参数

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

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

设置合流视频码率。

传入参数

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

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

设置合流视频宽度。

传入参数

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

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

设置合流视频高度。

传入参数

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

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。

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

推流 CDN 的空间音频参数。

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

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

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

传入参数

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

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

获取听众的空间位置。

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

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

传入参数

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

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

获取听众的空间朝向。

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

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

传入参数

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

注意

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

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

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

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

视频帧渲染设置

成员变量
类型名称
intRENDER_MODE_HIDDEN
intRENDER_MODE_FIT
intRENDER_MODE_FILL
ViewrenderView
SurfacerenderSurface
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

本地视图句柄。

渲染 View 对象时,使用此字段,并将 renderSurface 设置为 null。

renderSurface
public Surface com.ss.bytertc.engine.VideoCanvas.renderSurface
java

本地 surface 句柄。

渲染 Surface 对象时,使用此字段,并将 renderView 设置为 null。

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 度,即不做旋转处理。

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

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。

VideoApplyRotation
public enum com.ss.bytertc.engine.video.VideoApplyRotation
java

是否将视频帧自动转正。

枚举值
类型值说明
DEFAULT-1(默认值)不旋转。
DEGREE_00自动转正视频,即根据视频帧的旋转角信息将视频帧旋转到 0 度。

VideoDeviceInfo
public class com.ss.bytertc.engine.video.VideoDeviceInfo
java

Available since 3.56

视频设备信息

成员变量
类型名称
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。

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

获取外部渲染耗时。

返回值

外部渲染平均耗时,单位:毫秒

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

视频帧旋转角度

枚举值
类型值说明
VIDEO_ROTATION_00顺时针旋转 0 度
VIDEO_ROTATION_9090顺时针旋转 90 度
VIDEO_ROTATION_180180顺时针旋转 180 度
VIDEO_ROTATION_270270顺时针旋转 270 度

OrientationMode
public static enum com.ss.bytertc.engine.video.VideoEncoderConfiguration.OrientationMode
java

视频编码的方向模式

枚举值
类型值说明
ORIENTATION_MODE_ADAPTIVE0视频输出方向与采集方向一致。
ORIENTATION_MODE_FIXED_LANDSCAPE1固定横屏输出视频。若采集到的视频是竖屏模式,则视频编码器会对其进行裁剪。
ORIENTATION_MODE_FIXED_PORTRAIT2固定竖屏输出视频。若采集到的视频是横屏模式,则视频编码器会对其进行裁剪。

LocalVideoSinkConfig
public class com.ss.bytertc.engine.video.LocalVideoSinkConfig
java

本地视频帧回调配置。

成员变量
类型名称
LocalVideoRenderPositionposition
intpixelFormat
变量说明

position
public LocalVideoRenderPosition com.ss.bytertc.engine.video.LocalVideoSinkConfig.position = LocalVideoRenderPosition.AFTER_CAPTURE
java

本地视频帧回调位置,参看 LocalVideoRenderPosition,默认回调前处理后的视频帧。

pixelFormat
public int com.ss.bytertc.engine.video.LocalVideoSinkConfig.pixelFormat = 0
java

本地视频帧回调格式,参看 VideoPixelFormat,默认值为 0。

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

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

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

枚举值
类型值说明
REMOTE_USER_PRIORITY_LOW0用户优先级为低,默认值。
REMOTE_USER_PRIORITY_MEDIUM100用户优先级为正常。
REMOTE_USER_PRIORITY_HIGH200用户优先级为高。

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

本地视频流状态

枚举值
类型值说明
LOCAL_VIDEO_STREAM_STATE_STOPPED0本地视频采集停止状态(默认初始状态)
本地视频采集关闭时回调该状态,对应错误码 LocalVideoStreamError 中的 LOCAL_VIDEO_STREAM_ERROR_OK
LOCAL_VIDEO_STREAM_STATE_RECORDING1本地视频采集设备启动成功
本地视频采集开启时回调该状态,对应错误码 LocalVideoStreamError 中的 LOCAL_VIDEO_STREAM_ERROR_OK
LOCAL_VIDEO_STREAM_STATE_ENCODING2本地视频采集后,首帧编码成功
本地视频首帧编码成功时回调该状态,对应错误码 LocalVideoStreamError 中的 LOCAL_VIDEO_STREAM_ERROR_OK
LOCAL_VIDEO_STREAM_STATE_FAILED3本地视频启动失败
  • 本地视频采集设备启动失败,对应错误码 LocalVideoStreamError 中的 LOCAL_VIDEO_STREAM_ERROR_FAILURE
  • 检测到没有视频采集设备权限,对应错误码 LocalVideoStreamError 中的 LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION
  • 视频编码失败,对应错误码 LocalVideoStreamError 中的 LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE

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

渲染错误码

枚举值
类型值说明
RENDER_ERROR_OK0渲染正常
RENDER_ERROR_USING_INTERNAL_SURFACE-1Android 外部直显时使用了内部 surface
RENDER_ERROR_USING_SOFTWARE_DECODER-2设置 Android 外部直显时使用软解

ExpressionDetectInfo
public class com.ss.bytertc.engine.video.ExpressionDetectInfo
java

人像属性检测信息

成员变量
类型名称
floatage
floatboyProb
floatattractive
floathappyScore
floatsadScore
floatangryScore
floatsurpriseScore
floatarousal
floatvalence
变量说明

age
public float com.ss.bytertc.engine.video.ExpressionDetectInfo.age
java

预测年龄,取值范围 (0, 100)。

boyProb
public float com.ss.bytertc.engine.video.ExpressionDetectInfo.boyProb
java

预测为男性的概率,取值范围 (0.0, 1.0)。

attractive
public float com.ss.bytertc.engine.video.ExpressionDetectInfo.attractive
java

预测的吸引力分数,取值范围 (0, 100)。

happyScore
public float com.ss.bytertc.engine.video.ExpressionDetectInfo.happyScore
java

预测的微笑程度,取值范围 (0, 100)。

sadScore
public float com.ss.bytertc.engine.video.ExpressionDetectInfo.sadScore
java

预测的伤心程度,取值范围 (0, 100)。

angryScore
public float com.ss.bytertc.engine.video.ExpressionDetectInfo.angryScore
java

预测的生气程度,取值范围 (0, 100)。

surpriseScore
public float com.ss.bytertc.engine.video.ExpressionDetectInfo.surpriseScore
java

预测的吃惊程度,取值范围 (0, 100)。

arousal
public float com.ss.bytertc.engine.video.ExpressionDetectInfo.arousal
java

预测的情绪激动程度,取值范围 (0, 100)。

valence
public float com.ss.bytertc.engine.video.ExpressionDetectInfo.valence
java

预测的情绪正负程度,取值范围 (-100, 100)。

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

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

枚举值
类型值说明
REMOTE_AUDIO_STATE_STOPPED0远端音频流默认初始状态,在以下时机回调该状态:
REMOTE_AUDIO_STATE_STARTING1开始接收远端音频流首包。
REMOTE_AUDIO_STATE_DECODING2远端音频流正在解码,正常播放,在以下时机回调该状态:
REMOTE_AUDIO_STATE_FROZEN3远端音频流卡顿。
网络阻塞导致丢包率大于 40% 时回调该状态,对应原因是
RemoteAudioStateChangeReason
中的 kRemoteAudioReasonNetworkCongestion
成员函数
返回名称
intvalue
函数说明

value
int com.ss.bytertc.engine.data.RemoteAudioState.value()
java

获取当前值

返回值

当前值

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

RTC 智能决策后得到的帧率和分辨率积(宽*高)。

成员变量
类型名称
intpixel
intframeRate
变量说明

pixel
public int com.ss.bytertc.engine.data.FrameUpdateInfo.pixel
java

分辨率积(宽*高)。

frameRate
public int com.ss.bytertc.engine.data.FrameUpdateInfo.frameRate
java

帧率。

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_MICROPHONE
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

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

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

视频帧的数据格式

枚举值
类型值说明
UNKNOWN0未知格式
I4201I420 格式
NV122NV12 格式
NV213NV21 格式
RGBA5RGBA 格式
TEXTURE_2DGLES10.GL_TEXTURE_2DTexture2D 格式
TEXTURE_OESGLES11Ext.GL_TEXTURE_EXTERNAL_OESTextureOES 格式

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

本地代理错误。

枚举值
类型值说明
OK0本地代理服务器无错误。
SOCKS5_VERSION_ERROR1代理服务器回复的版本号不符合 Socks5 协议标准文档的规定,导致 Socks5 代理连接失败。请检查代理服务器是否存在异常。
SOCKS5_FORMAT_ERROR2代理服务器回复的格式错误不符合 Socks5 协议标准文档的规定,导致 Socks5 代理连接失败。请检查代理服务器是否存在异常。
SOCKS5_INVALID_VALUE3代理服务器回复的字段值不符合 Socks5 协议标准文档的规定,导致 Socks5 代理连接失败。请检查代理服务器是否存在异常。
SOCKS5_USER_PASS_NOT_GIVEN4未提供代理服务器的用户名及密码,导致 Socks5 代理连接失败。请重新调用 setLocalProxy,在设置本地代理时填入用户名和密码。
SOCKS5_TCP_CLOSED5TCP 关闭,导致 Socks5 代理连接失败。请检查网络或者代理服务器是否存在异常。
HTTP_TUNNEL_FAILED6Http 隧道代理错误。请检查 Http 隧道代理服务器或者网络是否存在异常。

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

媒体流类型

枚举值
类型值说明
RTC_MEDIA_STREAM_TYPE_AUDIO1只控制音频
RTC_MEDIA_STREAM_TYPE_VIDEO2只控制视频
RTC_MEDIA_STREAM_TYPE_BOTH3同时控制音频和视频

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

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

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

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

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

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

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

传入参数

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

返回值

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

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

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

传入参数

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

返回值

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

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

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

传入参数

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

返回值

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

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

设置透明度。

传入参数

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

返回值

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

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

设置公共流内容类型。

传入参数

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

返回值

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

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

设置公共流媒体类型。

传入参数

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

返回值

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

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

设置视频显示模式。

传入参数

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

返回值

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

position
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
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
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
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。

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

本地代理的类型。

枚举值
类型值说明
SOCKS51Socks5 代理。选用此代理服务器,需满足 Socks5 协议标准文档的要求。
HTTP_TUNNEL2Http 隧道代理。

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

分割模型。开启背景替换功能时生效,详见 replaceBackground。

枚举值
类型值说明
EFFECT0effect
DEFAULT1自研

PlayState
public enum com.ss.bytertc.ktv.data.PlayState
java

音乐播放状态。

枚举值
类型值说明
PLAYING1播放中。
PAUSED2暂停中。
STOPPED3已停止。
FAILED4播放失败。
FINISHED5播放结束。

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。

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

音频帧类型

枚举值
类型值说明
FRAME_TYPE_PCM160PCM 16bit
成员函数
返回名称
intvalue
函数说明

value
int com.ss.bytertc.engine.data.AudioFrameType.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

媒体流是否为屏幕流。

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

字幕任务状态。

枚举值
类型值说明
SUBTITLE_STATE_STARTED0开启字幕。
SUBTITLE_STATE_STOPED1关闭字幕。
SUBTITLE_STATE_ERROR2字幕任务出现错误。

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

本地录制文件的存储格式

枚举值
类型值说明
AAC0aac 格式文件
MP41mp4 格式文件

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

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

屏幕采集媒体类型

枚举值
类型值说明
SCREEN_MEDIA_TYPE_VIDEO_ONLY0仅采集视频
SCREEN_MEDIA_TYPE_AUDIO_ONLY1仅采集音频
SCREEN_MEDIA_TYPE_VIDEO_AND_AUDIO2采集音频和视频

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。

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

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

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

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

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

返回值

视频内容的缩放模式。

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

目标翻译语言。可点击 语言支持 查看翻译服务最新支持的语种信息。

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

客户端合流参数。

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

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

Available since 3.50

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

传入参数

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

返回值

参看 ClientMixParam。

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

Available since 3.50

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

传入参数

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

返回值

参看 ClientMixParam。

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

Available since 3.50

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

传入参数

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

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

虚拟背景类型。

枚举值
类型值说明
COLOR0使用纯色背景替换视频原有背景。
IMAGE1使用自定义图片背景替换视频原有背景。

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

音频输出源类型

枚举值
类型值说明
AUDIO_RENDER_TYPE_EXTERNAL0自定义渲染
AUDIO_RENDER_TYPE_INTERNAL1内部渲染

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

Available since 3.56

视频设备朝向类型

枚举值
类型值说明
FRONT0前置摄像头
BACK1后置摄像头
UNKNOWN2未知类型

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

订阅端音视频流回退选项。

枚举值
类型值说明
SUBSCRIBE_FALLBACK_OPTIONS_DISABLED0下行网络不佳或设备性能不足时,不对音视频流作回退处理。默认设置。
SUBSCRIBE_FALLBACK_OPTIONS_STREAM_LOW1下行网络不佳或设备性能不足时,对视频流做降级处理,具体降级规则参看音视频流回退。
该设置仅对发布端调用 enableSimulcastMode 开启发送多路流功能的情况生效。
SUBSCRIBE_FALLBACK_OPTIONS_AUDIO_ONLY2下行网络不佳或设备性能不足时,先对视频流做回退处理。当网络状况不满足接收弱流时,则自动取消接收视频,仅接收音频。
该设置仅对发布端调用 enableSimulcastMode 开启发送多路流功能的情况生效。
静态函数
返回名称
static SubscribeFallbackOptionsfromId
函数说明

fromId
static SubscribeFallbackOptions com.ss.bytertc.engine.type.SubscribeFallbackOptions.fromId(int id)
java

传入参数

参数名类型说明
idint-

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

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

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

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

设置声道数。建议设置。

传入参数

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

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

获取声道数。

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

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

传入参数

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

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

获取音频采样率。

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

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

传入参数

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

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

获取音频码率。

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

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

传入参数

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

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

获取音频编码格式。

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

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

传入参数

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

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

获取 AAC 编码规格。

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

背景模式

开启背景替换功能时生效,详见 replaceBackground。

枚举值
类型值说明
BACKGROUND_A0背景 1
BACKGROUND_B1背景 2
BLUR2虚化
NONE3无
成员函数
返回名称
intvalue
函数说明

value
int com.ss.bytertc.engine.type.BackgroundMode.value()
java

获取 Background 的 int value

返回值

int 类型的 value

GLTextureVideoFrameBuilder
public class com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder
java

构建纹理格式视频数据返回帧

成员函数
返回名称
GLTextureVideoFrameBuildersetTimeStampUs
GLTextureVideoFrameBuildersetWidth
GLTextureVideoFrameBuildersetHeight
GLTextureVideoFrameBuildersetRotation
GLTextureVideoFrameBuildersetColorSpace
GLTextureVideoFrameBuildersetExternalDataInfo
GLTextureVideoFrameBuildersetSupplementaryInfo
GLTextureVideoFrameBuildersetTextureID
GLTextureVideoFrameBuildersetTextureMatrix
GLTextureVideoFrameBuildersetEGLContext
GLTextureVideoFrameBuildersetReleaseCallback
VideoFramebuild
函数说明

setTimeStampUs
GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setTimeStampUs(long timeStampUs)
java

设置视频帧的时间戳

传入参数

参数名类型说明
timeStampUslong视频帧时间戳

setWidth
GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setWidth(int width)
java

设置视频帧宽度

传入参数

参数名类型说明
widthint视频帧宽度,单位:像素

setHeight
GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setHeight(int height)
java

设置视频帧高度

传入参数

参数名类型说明
heightint视频帧高度,单位:像素

setRotation
GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setRotation(VideoRotation rotation)
java

设置视频帧旋转角度

传入参数

参数名类型说明
rotationVideoRotation视频帧旋转角度,参看 VideoRotation

setColorSpace
GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setColorSpace(ColorSpace colorSpace)
java

设置视频帧色彩空间

传入参数

参数名类型说明
colorSpaceColorSpace视频帧色彩空间,参看 ColorSpace

setExternalDataInfo
GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setExternalDataInfo(ByteBuffer externalDataInfo)
java

设置 SEI 数据

传入参数

参数名类型说明
externalDataInfoByteBufferSEI 数据,如果设置的是一个 DirectBuffer,则不会发生拷贝,如果不是,则会发生一次拷贝

setSupplementaryInfo
GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setSupplementaryInfo(ByteBuffer supplementaryInfo)
java

设置补充数据指针

传入参数

参数名类型说明
supplementaryInfoByteBuffer补充数据指针,如果设置的是一个 DirectBuffer,则不会发生拷贝,如果不是,则会发生一次拷贝

setTextureID
GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setTextureID(int textureID)
java

设置视频帧的纹理 ID

传入参数

参数名类型说明
textureIDint纹理 ID

setTextureMatrix
GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setTextureMatrix(float[] textureMatrix)
java

设置视频帧纹理矩阵

传入参数

参数名类型说明
textureMatrixfloat[]视频帧纹理矩阵

setEGLContext
GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setEGLContext(EGLContext eglContext)
java

设置视频帧的 EGLContext

传入参数

参数名类型说明
eglContextEGLContext视频帧的 EGLContext

setReleaseCallback
GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setReleaseCallback(Runnable releaseCallback)
java

设置视频帧的释放回调,当视频帧的引用计数归 0 时,会执行 releaseCallback

传入参数

参数名类型说明
releaseCallbackRunnable视频帧的释放回调

build
VideoFrame com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.build()
java

获取到创建好的视频帧

返回值

创建好的视频帧,参看 VideoFrame

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

数码变焦操作类型

枚举值
类型值说明
CAMERA_MOVE_LEFT0相机向左移动
CAMERA_MOVE_RIGHT1相机向右移动
CAMERA_MOVE_UP2相机向上移动
CAMERA_MOVE_DOWN3相机向下移动
CAMERA_ZOOM_OUT4相机缩小焦距
CAMERA_ZOOM_IN5相机放大焦距
CAMERA_RESET6恢复到原始大小

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

音高。

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

混音播放类型

枚举值
类型值说明
AUDIO_MIXING_TYPE_PLAYOUT0仅本地播放
AUDIO_MIXING_TYPE_PUBLISH1仅远端播放
AUDIO_MIXING_TYPE_PLAYOUT_AND_PUBLISH2本地和远端同时播放

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

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

枚举值
类型值说明
ATTENUATION_TYPE_NONE0不随距离衰减
ATTENUATION_TYPE_LINEAR1线性衰减,音量随距离增大而线性减小
ATTENUATION_TYPE_EXPONENTIAL2指数型衰减,音量随距离增大进行指数衰减

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

自定义音频流类型

枚举值
类型值说明
RAW0当播放来自本地的 PCM 数据时,使用此选项。
ENCODED1当播放来自内存的音频数据时,使用此选项。

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

Alpha 通道相对于 RGB 通道数据的排列位置。

枚举值
类型值说明
TOP0Alpha 数据置于 RGB 数据上方。

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
static MixedStreamConfig com.ss.bytertc.engine.live.MixedStreamConfig.defaultMixedStreamConfig()
java

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

返回值

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

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

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

传入参数

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

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

获取推流用户 ID。

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

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

传入参数

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

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

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

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

设置推流 CDN 地址。仅支持 RTMP 协议,Url 必须满足正则 /^rtmps?:\/\//。建议设置。

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

传入参数

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

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

获取推流 CDN 地址。

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

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

传入参数

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

注意

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

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

获取合流类型。

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

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

传入参数

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

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

获取音频转码配置参数。

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

Available since 3.56

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

传入参数

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

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

Available since 3.56

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

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

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

传入参数

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

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

获取视频转码配置参数。

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

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

传入参数

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

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

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

传入参数

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

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

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

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

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

传入参数

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

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

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

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

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

SEI 发送模式。

枚举值
类型值说明
SEI_COUNT_PER_FRAME_SINGLE0单发模式。即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 按队列逐帧发送。
SEI_COUNT_PER_FRAME_MULTI1多发模式。即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 随下个视频帧同时发送。