SubscribeMediaType

public enum com.ss.bytertc.engine.RTCEngine.SubscribeMediaType

订阅的媒体类型

枚举值

类型 说明
RTC_SUBSCRIBE_MEDIA_TYPE_NONE 既不订阅音频,也不订阅视频
RTC_SUBSCRIBE_MEDIA_TYPE_AUDIO_ONLY 只订阅音频,不订阅视频
RTC_SUBSCRIBE_MEDIA_TYPE_VIDEO_ONLY 只订阅视频,不订阅音频
RTC_SUBSCRIBE_MEDIA_TYPE_AUDIO_AND_VIDEO 同时订阅音频和视频

PauseResumeControlMediaType

public enum com.ss.bytertc.engine.RTCEngine.PauseResumeControlMediaType

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

枚举值

类型 说明
RTC_PAUSE_RESUME_CONTROL_AUDIO 只控制音频,不影响视频
RTC_PAUSE_RESUME_CONTROL_VIDEO 只控制视频,不影响音频
RTC_PAUSE_RESUME_CONTROL_AUDIO_AND_VIDEO 同时控制音频和视频

MediaStreamType

public enum com.ss.bytertc.engine.RTCEngine.MediaStreamType

媒体流类型

枚举值

类型 说明
RTC_MEDIA_STREAM_TYPE_AUDIO(1) 只控制音频
RTC_MEDIA_STREAM_TYPE_VIDEO(2) 只控制视频
RTC_MEDIA_STREAM_TYPE_BOTH(3) 同时控制音频和视频

RtcMode

public enum com.ss.bytertc.engine.RTCEngine.RtcMode

引擎工作模式

枚举值

类型 说明
RTC_MODE_GENERAL(0) 通用模式,该模式下只能进行普通会议模式的语音通话,开启自动发布订阅。
RTC_MODE_LOCAL_AUDIO(1) 游戏语音模式,该模式下关闭自动发布订阅,会按照游戏业务的策略进行主动发布订阅语音。

成员函数

返回 名称
int value

函数说明

value

public int com.ss.bytertc.engine.RTCEngine.RtcMode.value()

获取当前值

返回值 当前值

SubscribeMode

public enum com.ss.bytertc.engine.RTCEngine.SubscribeMode

订阅模式选项。

枚举值

类型 说明
AUTO_SUBSCRIBE_MODE(0) 自动订阅模式。SDK 会自动为用户订阅房间中的每一路流。默认值。
MANUAL_SUBSCRIBE_MODE(1) 手动订阅模式。SDK 不为自动订阅流。

RangeAudioMode

public enum com.ss.bytertc.engine.RTCEngine.RangeAudioMode

语音通话模式 在小队语音里用这个接口设置自己的发送模式

枚举值

类型 说明
RANGE_AUDIO_MODE_UNDEFINED(0) 默认模式
RANGE_AUDIO_MODE_TEAM(1) 小队模式
RANGE_AUDIO_MODE_WORLD(2) 世界模式

成员函数

返回 名称
int value

函数说明

value

public int com.ss.bytertc.engine.RTCEngine.RangeAudioMode.value()

获取当前值

返回值 当前值

ChannelProfile

public enum com.ss.bytertc.engine.RTCEngine.ChannelProfile

房间模式

枚举值

类型 说明
CHANNEL_PROFILE_COMMUNICATION(0) 普通音视频通话模式。

单声道,采样率为 48kHz。

你应在 1V1 音视频通话时,使用此设置。

此设置下,弱网抗性较好。
CHANNEL_PROFILE_LIVE_BROADCASTING(1) 直播模式。

单声道,采样率为 48kHz。

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

此设置下,当用户使用蓝牙耳机收听时,蓝牙耳机使用媒体模式。
CHANNEL_PROFILE_GAME(2) 游戏语音模式。

单声道,采样率为 16kHz。

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

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

+ 部分低端机型关闭软件 3A 音频处理
CHANNEL_PROFILE_CLOUD_GAME(3) 云游戏模式。

单声道,采样率为 48kHz。

如果你需要低延迟、高码率的设置时,你可以使用此设置。

此设置下,弱网抗性较差。
CHANNEL_PROFILE_LOW_LATENCY(4) 低时延模式。SDK 会使用低延时设置。

当你的场景非游戏或云游戏场景,又需要极低延时的体验时,可以使用该模式。

该模式下,音视频通话延时会明显降低,但同时弱网抗性、通话音质等均会受到一定影响。

在使用此模式前,强烈建议咨询技术支持同学。

AudioScenarioType

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

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

枚举值

类型 说明
AUDIO_SCENARIO_MUSIC(0) (默认)音乐场景

此场景适用于对音乐表现力有要求的场景,如音乐直播等。
音频采集播放设备和采集播放状态,到音量类型的映射如下:





仅采集音频,不播放音频仅播放音频,不采集音频采集并播放音频备注
设备自带麦克风和扬声器/听筒媒体音量媒体音量通话音量/
有线耳机媒体音量媒体音量媒体音量/
蓝牙耳机媒体音量媒体音量媒体音量即使蓝牙耳机有麦克风,也只能使用设备自带麦克风进行本地音频采集。
AUDIO_SCENARIO_HIGHQUALITY_COMMUNICATION(1) 高质量通话场景

此场景适用于对音乐表现力有要求,但又希望能够使用蓝牙耳机上自带的麦克风进行音频采集的场景。
此场景可以兼顾外放/使用蓝牙耳机时的音频体验,并避免使用蓝牙耳机时音量类型切换导致的听感突变。
音频采集播放设备和采集播放状态,到音量类型的映射如下:





仅采集音频,不播放音频仅播放音频,不采集音频采集并播放音频 备注
设备自带麦克风和扬声器/听筒媒体音量媒体音量通话音量/
有线耳机媒体音量媒体音量媒体音量/
蓝牙耳机通话音量通话音量通话音量使用蓝牙耳机上自带的麦克风进行音频采集。
AUDIO_SCENARIO_COMMUNICATION(2) 纯通话音量场景

此场景下,无论客户端音频采集播放设备和采集播放状态,全程使用通话音量。
适用于需要频繁上下麦的通话或会议场景。
此场景可以保持统一的音频模式,不会有音量突变的听感。
此场景可以最大程度地消除回声,使通话清晰度达到最优。
使用蓝牙耳机时,能够使用蓝牙耳机上自带的麦克风进行音频采集。
但是,此场景会压低使用媒体音量进行播放的其他音频的音量,且音质会变差。
AUDIO_SCENARIO_MEDIA(3) 纯媒体场景(一般不建议使用)

此场景下,无论客户端音频采集播放设备和采集播放状态,全程使用媒体音量。

外放通话时,极易出现回声和啸叫。
AUDIO_SCENARIO_GAME_STREAMING(4) 游戏媒体场景

此场景下,蓝牙耳机使用通话音量,其它设备使用媒体音量。
外放通话且无游戏音效消除优化时,极易出现回声和啸叫。

AudioProfileType

public enum com.ss.bytertc.engine.RTCEngine.AudioProfileType

音质档位
调用 setAudioProfile 设置的音质档位

枚举值

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

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

单声道,采样率为 16kHz,编码码率为 24kbps。

流畅优先、低延迟、低功耗、低流量消耗,适用于大部分游戏场景,如 MMORPG、MOBA、FPS 等游戏中的小队语音、组队语音、国战语音等。
AUDIO_PROFILE_STANDARD(2) 标准音质

单声道,采样率为 48kHz,编码码率为 48kbps。

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

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

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

游戏场景不建议使用。

VoiceChangerType

public enum com.ss.bytertc.engine.RTCEngine.VoiceChangerType

变声特效类型。

枚举值

类型 说明
VOICE_CHANGER_ORIGINAL(0) 原声,不含特效
VOICE_CHANGER_GIANT(1) 巨人
VOICE_CHANGER_CHIPMUNK(2) 花栗鼠
VOICE_CHANGER_MINIONST(3) 小黄人
VOICE_CHANGER_VIBRATO(4) 颤音
VOICE_CHANGER_ROBOT(5) 机器人

VoiceReverbType

public enum com.ss.bytertc.engine.RTCEngine.VoiceReverbType

混响特效类型。

枚举值

类型 说明
VOICE_REVERB_ORIGINAL(0) 原声,不含特效
VOICE_REVERB_ECHO(1) 回声
VOICE_REVERB_CONCERT(2) 演唱会
VOICE_REVERB_ETHEREAL(3) 空灵
VOICE_REVERB_KTV(4) KTV
VOICE_REVERB_STUDIO(5) 录音棚

SubscribeFallbackOptions

public enum com.ss.bytertc.engine.RTCEngine.SubscribeFallbackOptions

订阅端音视频流回退选项。

枚举值

类型 说明
SUBSCRIBE_FALLBACK_OPTIONS_DISABLED(0) 下行网络不佳或设备性能不足时,不对音视频流作回退处理。默认设置。
SUBSCRIBE_FALLBACK_OPTIONS_STREAM_LOW(1) 下行网络不佳或设备性能不足时,对视频流做降级处理,具体降级规则参看性能回退文档。

该设置仅对发布端调用 enableSimulcastMode 开启发送多路流功能的情况生效。
SUBSCRIBE_FALLBACK_OPTIONS_AUDIO_ONLY(2) 下行网络不佳或设备性能不足时,取消接收视频,仅接收音频。

PublishFallbackOption

public enum com.ss.bytertc.engine.RTCEngine.PublishFallbackOption

发布端音视频流回退选项

枚举值

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

RemoteUserPriority

public enum com.ss.bytertc.engine.RTCEngine.RemoteUserPriority

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

枚举值

类型 说明
REMOTE_USER_PRIORITY_LOW(0) 用户优先级为低,默认值。
REMOTE_USER_PRIORITY_MEDIUM(100) 用户优先级为正常。
REMOTE_USER_PRIORITY_HIGH(200) 用户优先级为高。

ConnectionState

public enum com.ss.bytertc.engine.RTCEngine.ConnectionState

SDK 与信令服务器连接状态。

枚举值

类型 说明
CONNECTION_START 占位,不使用。
CONNECTION_STATE_DISCONNECTED 连接断开。
CONNECTION_STATE_CONNECTING 首次连接,正在连接中。
CONNECTION_STATE_CONNECTED 首次连接成功。
CONNECTION_STATE_RECONNECTING 连接断开后重新连接中。
CONNECTION_STATE_RECONNECTED 连接断开后重连成功。

ProblemFeedback

public enum com.ss.bytertc.engine.RTCEngine.ProblemFeedback

音视频质量反馈问题类型

枚举值

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

RecordingType

public enum com.ss.bytertc.engine.RTCEngine.RecordingType

本地录制的媒体类型

枚举值

类型 说明
RECORD_AUDIO_ONLY(0) 只录制音频
RECORD_VIDEO_ONLY(1) 只录制视频
RECORD_VIDEO_AND_AUDIO(2) 同时录制音频和视频

TorchState

public enum com.ss.bytertc.engine.RTCEngine.TorchState

相机闪光灯状态

枚举值

类型 说明
TORCH_STATE_OFF(0) 关闭
TORCH_STATE_ON(1) 打开

AudioFormat

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

音频参数格式

成员变量

类型 名称
AudioSampleRate sampleRate
AudioChannel channel

变量说明

sampleRate

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

音频采样率,参看 AudioSampleRate。

channel

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

音频声道,参看 AudioChannel。

AudioMixingConfig

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

混音配置

成员变量

类型 名称
AudioMixingType type
int playCount
int position
long callbackOnProgressInterval

变量说明

type

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

混音播放类型,详见 AudioMixingType

playCount

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

混音播放次数

position

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

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

callbackOnProgressInterval

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

设置音频文件播放进度回调的时间间隔,单位毫秒,并按照设置的值触发 onAudioMixingPlayingProgress 回调,默认不回调。

AudioMixingDualMonoMode

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

混音播放声道类型

枚举值

类型 说明
AUDIO_MIXING_DUAL_MONO_MODE_AUTO(0) 和音频文件一致
AUDIO_MIXING_DUAL_MONO_MODE_L(1) 只能听到音频文件中左声道的音频
AUDIO_MIXING_DUAL_MONO_MODE_R(2) 只能听到音频文件中右声道的音频
AUDIO_MIXING_DUAL_MONO_MODE_MIX(3) 能同时听到音频文件中左右声道的音频

AudioMixingError

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

混音错误码。

枚举值

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

AudioMixingState

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

音频混音文件播放状态。

枚举值

类型 说明
AUDIO_MIXING_STATE_PRELOADED(0) 混音已加载
AUDIO_MIXING_STATE_PLAYING(1) 混音正在播放
AUDIO_MIXING_STATE_PAUSED(2) 混音暂停
AUDIO_MIXING_STATE_STOPPED(3) 混音停止
AUDIO_MIXING_STATE_FAILED(4) 混音播放失败
AUDIO_MIXING_STATE_FINISHED(5) 混音播放结束
AUDIO_MIXING_STATE_PCM_ENABLED(6) 准备PCM混音
AUDIO_MIXING_STATE_PCM_DISABLED(7) PCM混音播放结束

AudioMixingType

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

混音播放类型

枚举值

类型 说明
AUDIO_MIXING_TYPE_PLAYOUT(0) 仅本地播放
AUDIO_MIXING_TYPE_PUBLISH(1) 仅发送到远端
AUDIO_MIXING_TYPE_PLAYOUT_AND_PUBLISH(2) 在本地播放并发送到远端

AudioPlaybackDevice

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

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

枚举值

类型 说明
AUDIO_PLAYBACK_DEVICE_HEADSET(1) 有线耳机
AUDIO_PLAYBACK_DEVICE_EARPIECE(2) 听筒
AUDIO_PLAYBACK_DEVICE_SPEAKERPHONE(3) 扬声器
AUDIO_PLAYBACK_DEVICE_HEADSET_BLUETOOTH(4) 蓝牙耳机
AUDIO_PLAYBACK_DEVICE_HEADSET_USB(5) USB设备

成员函数

返回 名称
int value

函数说明

value

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

获取当前值

返回值 当前值

AudioPropertiesConfig

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

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

成员变量

类型 名称
int interval
boolean enable_spectrum
boolean enable_vad

变量说明

interval

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

信息提示间隔,单位:ms

enable_spectrum

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

是否开启音频频谱检测

enable_vad

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

是否开启人声检测 (VAD)

AudioPropertiesInfo

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

音频属性信息

成员变量

类型 名称
int linearVolume
int nonlinearVolume
float[] spectrum
int vad

变量说明

linearVolume

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

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

nonlinearVolume

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

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

spectrum

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

频谱数组

vad

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

人声检测(VAD)结果

AudioRenderType

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

音频输出源类型

枚举值

类型 说明
AUDIO_RENDER_TYPE_EXTERNAL(0) 自定义渲染
AUDIO_RENDER_TYPE_INTERNAL(1) 内部渲染

AudioSourceType

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

音频输入源类型

枚举值

类型 说明
AUDIO_SOURCE_TYPE_EXTERNAL(0) 自定义采集音频源
AUDIO_SOURCE_TYPE_INTERNAL(1) RTC SDK 内部采集音频源

AVSyncState

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

音视频同步状态

枚举值

类型 说明
AV_SYNC_STATE_STREAM_SYNC_BEGIN(0) 音视频开始同步
AV_SYNC_STATE_AUDIO_STREAM_REMOVE(1) 音视频同步过程中音频移除,但不影响当前的同步关系
AV_SYNC_STATE_VIDEO_STREAM_REMOVE(2) 音视频同步过程中视频移除,但不影响当前的同步关系

CameraId

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

移动端摄像头

枚举值

类型 说明
CAMERA_ID_FRONT (0) 前置摄像头
CAMERA_ID_BACK (1) 后置摄像头(默认设置)
CAMERA_ID_EXTERNAL (2) 外接摄像头
CAMERA_ID_INVALID (3) 无效值

CloudProxyInfo

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

云代理信息

成员变量

类型 名称
String cloudProxyIp
int cloudProxyPort

变量说明

cloudProxyIp

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

云代理服务器 IP

cloudProxyPort

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

云代理服务器端口

ColorSpace

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

视频帧色彩空间

枚举值

类型 说明
kColorSpaceUnknown(0) 色彩空间未知
kColorSpaceYCbCrBT601LimitedRange(1) BT.601数字编码标准,色彩空间[16-235]
kColorSpaceYCbCrBT601FullRange(2) BT.601数字编码标准,颜色空间[0-255]
kColorSpaceYCbCrBT709LimitedRange(3) BT.7091数字编码标准,颜色空间[16-235]
kColorSpaceYCbCrBT709FullRange(4) BT.7091数字编码标准,颜色空间[0-255]

EarMonitorMode

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

是否开启耳返功能

枚举值

类型 说明
EAR_MONITOR_MODE_OFF(0) 不开启(默认设置)
EAR_MONITOR_MODE_ON(1) 开启

ForwardStreamEventInfo

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

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

成员变量

类型 名称
String roomId
ForwardStreamEvent event

变量说明

roomId

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

跨房间转发媒体流过程中的发生该事件的目标房间 ID
空字符串代表所有目标房间

event

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

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

ForwardStreamEvent

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

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

枚举值

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

ForwardStreamInfo

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

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

成员变量

类型 名称
String roomId
String token

变量说明

roomId

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

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

token

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

使用转发目标房间 RoomID 和 UserID 生成 Token。
测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。
如果 Token 无效,转发失败。

ForwardStreamStateInfo

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

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

成员变量

类型 名称
String roomId
ForwardStreamState state
ForwardStreamError error

变量说明

roomId

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

跨房间转发媒体流过程中目标房间 ID
空字符串代表所有目标房间

state

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

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

error

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

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

ForwardStreamState

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

媒体流跨房间转发状态

枚举值

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

成员函数

返回 名称
int value

函数说明

value

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

获取当前值

ForwardStreamError

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

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

枚举值

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

HumanOrientation

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

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

成员变量

类型 名称
Orientation forward
Orientation right
Orientation up

成员函数

返回 名称
HumanOrientation HumanOrientation

变量说明

forward

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

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

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

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

up

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

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

函数说明

HumanOrientation

public com.ss.bytertc.engine.data.HumanOrientation.HumanOrientation(
    Orientation forward,
    Orientation right,
    Orientation up)

LocalAudioPropertiesInfo

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

本地音频属性信息

成员变量

类型 名称
StreamIndex streamIndex
AudioPropertiesInfo audioPropertiesInfo

变量说明

streamIndex

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

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

audioPropertiesInfo

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

音频属性信息,详见 AudioPropertiesInfo。

MediaInputType

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

视频输入类型

枚举值

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

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

此设置仅切换至内部采集,你需继续调用 startVideoCapture 开启内部采集。

MirrorType

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

镜像类型

枚举值

类型 说明
MIRROR_TYPE_NONE(0) 本地预览和编码传输时均无镜像效果
MIRROR_TYPE_RENDER(1) 本地预览时有镜像效果,编码传输时无镜像效果
MIRROR_TYPE_RENDER_AND_ENCODER(3) 本地预览和编码传输时均有镜像效果

MuteState

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

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

枚举值

类型 说明
MUTE_STATE_OFF(0) 发送
MUTE_STATE_ON(1) 停止发送

Orientation

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

方向朝向信息

成员变量

类型 名称
float x
float y
float z

变量说明

x

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

x 方向向量

y

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

y 方向向量

z

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

z 方向向量

Position

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

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

成员变量

类型 名称
int x
int y
int z

变量说明

x

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

x 坐标

y

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

y 坐标

z

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

z 坐标

ReceiveRange

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

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

成员变量

类型 名称
int min
int max

变量说明

min

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

能够接收语音、并且具有衰减效果的最小距离值,该值须 ≥ 0,但 ≤ max。
小于该值的范围内没有范围语音效果,即收听到的音频音量相同。

max

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

能够收听语音的最大距离值,该值须 > 0 且 ≥ min。
当收听者和声源距离处于 [min, max) 之间时,收听到的音量根据距离呈衰减效果。
超出该值范围的音频将无法收听到。

RemoteAudioPropertiesInfo

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

远端音频属性信息

成员变量

类型 名称
RemoteStreamKey streamKey
AudioPropertiesInfo audioPropertiesInfo

变量说明

streamKey

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

远端流信息,详见 RemoteStreamKey

audioPropertiesInfo

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

音频属性信息,详见 AudioPropertiesInfo

ScreenMediaType

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

屏幕采集媒体类型

枚举值

类型 说明
SCREEN_MEDIA_TYPE_VIDEO_ONLY(0) 仅采集视频
SCREEN_MEDIA_TYPE_AUDIO_ONLY(1) 仅采集音频
SCREEN_MEDIA_TYPE_VIDEO_AND_AUDIO(2) 采集音频和视频

StreamIndex

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

流属性

枚举值

类型 说明
STREAM_INDEX_MAIN(0)

主流。包括:

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

+ 通过自定义采集,采集到的视频/音频。
STREAM_INDEX_SCREEN(1) 屏幕流。屏幕共享时共享的视频流,或来自声卡的本地播放音频流。

StreamSycnInfoConfig

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

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

成员变量

类型 名称
StreamIndex streamIndex
int repeatCount
SyncInfoStreamType streamType

变量说明

streamIndex

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

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

repeatCount

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

信息发送的重复次数

streamType

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

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

SyncInfoStreamType

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

媒体流信息同步的流类型

枚举值

类型 说明
SYNC_INFO_STREAM_TYPE_AUDIO 音频流

VideoFrameType

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

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

枚举值

类型 说明
kVideoFrameTypeRawMemory(0) CPU Buffer
kVideoFrameTypeGLTexture(2) GL Texture

VideoPixelFormat

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

视频帧的数据格式

枚举值

类型 说明
kVideoPixelFormatUnknown(0) 未知格式
kVideoPixelFormatI420(1) I420格式
kVideoPixelFormatNV12(2) NV12格式
kVideoPixelFormatNV21(3) NV21格式
kVideoPixelFormatRGBA(5) RGBA格式
kVideoPixelFormatTexture2D(GLES10.GL_TEXTURE_2D) Texture2D格式
kVideoPixelFormatTextureOES(GLES11Ext.GL_TEXTURE_EXTERNAL_OES) TextureOES格式

VideoRotationMode

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

视频旋转模式

枚举值

类型 说明
FollowApp(0) App 方向
FollowGSensor(1) 重力方向

VirtualBackgroundSource

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

虚拟背景对象。

成员变量

类型 名称
VirtualBackgroundSourceType sourceType
int sourceColor
String sourcePath

变量说明

sourceType

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

虚拟背景类型,详见 VirtualBackgroundSourceType 。

sourceColor

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

纯色背景使用的颜色。
格式为 0xAARRGGBB 。

sourcePath

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

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

注意:

VirtualBackgroundSourceType

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

虚拟背景类型。

枚举值

类型 说明
SourceTypeColor 使用纯色背景替换视频原有背景。
SourceTypeImage 使用自定义图片背景替换视频原有背景。

IRTCASREngineEventHandler

public interface com.ss.bytertc.engine.handler.IRTCASREngineEventHandler

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

成员函数

返回 名称
void onSuccess
void onMessage
void onError

函数说明

onSuccess

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

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

onMessage

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

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

传入参数

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

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

onError

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

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

传入参数

参数名 类型 说明
errorCode int 错误码
• < 0: 参数错误或 API 调用顺序错误,参看 RTCASRErrorCode;
• >0: 参看 语音识别服务错误码
errorMessage String 错误原因说明。

RTCASRErrorCode

public enum com.ss.bytertc.engine.handler.IRTCASREngineEventHandler.RTCASRErrorCode

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

枚举值

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

NetworkQuality

public class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQuality

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

成员变量

类型 名称
int NETWORK_QUALITY_UNKNOWN
int NETWORK_QUALITY_EXCELLENT
int NETWORK_QUALITY_GOOD
int NETWORK_QUALITY_POOR
int NETWORK_QUALITY_BAD
int NETWORK_QUALITY_VERY_BAD

变量说明

NETWORK_QUALITY_UNKNOWN

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQuality.NETWORK_QUALITY_UNKNOWN = 0;

媒体流网络质量未知。

NETWORK_QUALITY_EXCELLENT

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQuality.NETWORK_QUALITY_EXCELLENT = 1;

媒体流网络质量极好。

NETWORK_QUALITY_GOOD

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQuality.NETWORK_QUALITY_GOOD = 2;

媒体流网络质量好。

NETWORK_QUALITY_POOR

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQuality.NETWORK_QUALITY_POOR = 3;

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

NETWORK_QUALITY_BAD

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQuality.NETWORK_QUALITY_BAD = 4;

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

NETWORK_QUALITY_VERY_BAD

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQuality.NETWORK_QUALITY_VERY_BAD = 5;

媒体流网络质量非常差。

NetworkDetectionStopReason

public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkDetectionStopReason

通话前探测的停止原因 onNetworkDetectionStopped 回调的参数类型

枚举值

类型 说明
NetworkDetectionStopReasonUser (0) 用户主动停止
NetworkDetectionStopReasonTimeout (1) 探测超过三分钟
NetworkDetectionStopReasonConnectionLost (2) 探测网络连接断开。
当超过 12s 没有收到回复,SDK 将断开网络连接,并且不再尝试重连。
NetworkDetectionStopReasonStreaming (3) 本地开始推拉流,停止探测
NetworkDetectionStopReasonInnerErr (4) 网络探测失败,内部异常

NetworkDetectionLinkType

public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkDetectionLinkType

通话前探测链接的类型 onNetworkDetectionResult 回调的参数类型

枚举值

类型 说明
NetworkDetectionLinkTypeUp (0) 上行网络探测
NetworkDetectionLinkTypeDown (1) 下行网络探测

FallbackOrRecoverReason

public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.FallbackOrRecoverReason

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

枚举值

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

StreamRemoveReason

public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.StreamRemoveReason

房间内远端流移除原因。

枚举值

类型 说明
STREAM_REMOVE_REASON_UNPUBLISH(0) 远端用户停止发布流。
STREAM_REMOVE_REASON_PUBLISH_FAILED(1) 远端用户发布流失败。
STREAM_REMOVE_REASON_KEEP_LIVE_FAILED(2) 保活失败。
STREAM_REMOVE_REASON_CLIENT_DISCONNECTED(3) 远端用户断网。
STREAM_REMOVE_REASON_REPUBLISH(4) 远端用户重新发布流。
STREAM_REMOVE_REASON_OTHER(5) 其他原因。

LocalVideoStreamState

public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStreamState

本地视频流状态

枚举值

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

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

+ 视频编码失败,对应错误码 LocalVideoStreamError 中的 LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE

LocalVideoStreamError

public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStreamError

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

枚举值

类型 说明
LOCAL_VIDEO_STREAM_ERROR_OK(0) 状态正常(本地视频状态改变正常时默认返回值)
LOCAL_VIDEO_STREAM_ERROR_FAILURE(1) 本地视频流发布失败
LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION(2) 没有权限启动本地视频采集设备
LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY(3) 本地视频采集设备被占用
LOCAL_VIDEO_STREAM_ERROR_DEVICE_NOT_FOUND(4) 本地视频采集设备不存在或已移除
LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE(5) 本地视频采集失败,建议检查采集设备是否正常工作
LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE(6) 本地视频编码失败
LOCAL_VIDEO_STREAM_ERROR_DEVICE_DISCONNECTED(7) 本地视频采集设备被移除

RemoteVideoState

public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoState

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

枚举值

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

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

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

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

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

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

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

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

RemoteVideoStateChangeReason

public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStateChangeReason

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

枚举值

类型 说明
REMOTE_VIDEO_STATE_CHANGE_REASON_INTERNAL(0) 内部原因
REMOTE_VIDEO_STATE_CHANGE_REASON_NETWORK_CONGESTION(1) 网络阻塞
REMOTE_VIDEO_STATE_CHANGE_REASON_NETWORK_RECOVERY(2) 网络恢复正常
REMOTE_VIDEO_STATE_CHANGE_REASON_LOCAL_MUTED(3) 本地用户停止接收远端视频流或本地用户禁用视频模块
REMOTE_VIDEO_STATE_CHANGE_REASON_LOCAL_UNMUTED(4) 本地用户恢复接收远端视频流或本地用户启用视频模块
REMOTE_VIDEO_STATE_CHANGE_REASON_REMOTE_MUTED(5) 远端用户停止发送视频流或远端用户禁用视频模块
REMOTE_VIDEO_STATE_CHANGE_REASON_REMOTE_UNMUTED(6) 远端用户恢复发送视频流或远端用户启用视频模块
REMOTE_VIDEO_STATE_CHANGE_REASON_REMOTE_OFFLINE(7) 远端用户离开房间
状态转换参看 onUserUnPublishStream/onUserUnPublishScreen。

RecordingState

public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RecordingState

本地录制的状态

枚举值

类型 说明
RECORDING_STATE_ERROE(0) 录制异常
RECORDING_STATE_PROCESSING(1) 录制进行中
RECORDING_STATE_SUCCESS(2) 录制文件保存成功,调用 stopFileRecording 结束录制之后才会收到该状态码。

RecordingErrorCode

public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RecordingErrorCode

本地录制的错误码

枚举值

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

ConnectionState

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

SDK 与信令服务器连接状态。

枚举值

类型 说明
CONNECTION_STATE_DISCONNECTED(1) 连接断开。
CONNECTION_STATE_CONNECTING(2) 首次连接,正在连接中。
CONNECTION_STATE_CONNECTED(3) 首次连接成功。
CONNECTION_STATE_RECONNECTING(4) 连接断开后重新连接中。
CONNECTION_STATE_RECONNECTED(5) 连接断开后重连成功。
CONNECTION_STATE_LOST(6) 网络连接断开超过 10 秒,仍然会继续重连。

RemoteStreamSwitch

public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamSwitch

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

成员变量

类型 名称
String uid
boolean isScreen
int before_video_index
int after_video_index
boolean before_enable
boolean after_enable
FallbackOrRecoverReason reason

变量说明

uid

public String com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamSwitch.uid;

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

isScreen

public boolean com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamSwitch.isScreen;

是否是屏幕共享流

before_video_index

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamSwitch.before_video_index;

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

after_video_index

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamSwitch.after_video_index;

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

before_enable

public boolean com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamSwitch.before_enable;

流切换前是否有视频流

after_enable

public boolean com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamSwitch.after_enable;

流切换后是否有视频流

reason

public FallbackOrRecoverReason com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamSwitch.reason;

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

RtcUser

public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RtcUser

用户信息

成员变量

类型 名称
String userId
String metaData

变量说明

userId

public String com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RtcUser.userId;

用户 id

metaData

public String com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RtcUser.metaData;

元数据

FirstFrameSendState

public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.FirstFrameSendState

首帧发送状态

枚举值

类型 说明
FIRST_FRAME_SEND_STATE_SENDING(0) 发送中
FIRST_FRAME_SEND_STATE_SENT(1) 发送成功
FIRST_FRAME_SEND_STAT_END(2) 发送失败

FirstFramePlayState

public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.FirstFramePlayState

首帧播放状态

枚举值

类型 说明
FIRST_FRAME_PLAY_STATE_PLAYING(0)
FIRST_FRAME_PLAY_STATE_PLAYED(1)
FIRST_FRAME_PLAY_STATE_END(2)

RTCRoomStats

public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats

通话相关的统计信息

成员变量

类型 名称
int totalDuration
long txBytes
long rxBytes
int txKBitRate
int rxKBitRate
int txAudioKBitRate
int rxAudioKBitRate
int txVideoKBitRate
int rxVideoKBitRate
int users
double cpuTotalUsage
double cpuAppUsage
double txLostrate
double rxLostrate
int rtt
int txJitter
int rxJitter
int txCellularKBitrate
int rxCellularKBitrate

成员函数

返回 名称
void reset

变量说明

totalDuration

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.totalDuration;

进房到退房之间累计时长,单位为 s

txBytes

public long com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.txBytes;

本地用户的总发送字节数 (bytes),累计值

rxBytes

public long com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.rxBytes;

本地用户的总接收字节数 (bytes),累计值

txKBitRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.txKBitRate;

发送码率(kbps),获取该数据时的瞬时值

rxKBitRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.rxKBitRate;

接收码率(kbps),获取该数据时的瞬时值

txAudioKBitRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.txAudioKBitRate;

音频包的发送码率(kbps),获取该数据时的瞬时值

rxAudioKBitRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.rxAudioKBitRate;

音频接收码率(kbps),获取该数据时的瞬时值

txVideoKBitRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.txVideoKBitRate;

视频发送码率(kbps),获取该数据时的瞬时值

rxVideoKBitRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.rxVideoKBitRate;

视频接收码率(kbps),获取该数据时的瞬时值

users

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.users;

当前房间内的可见用户人数

cpuTotalUsage

public double com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.cpuTotalUsage;

当前系统的 CPU 使用率 (%)

cpuAppUsage

public double com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.cpuAppUsage;

当前应用的 CPU 使用率 (%)

txLostrate

public double com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.txLostrate;

当前应用的上行丢包率,取值范围为 [0, 1]

rxLostrate

public double com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.rxLostrate;

当前应用的下行丢包率,取值范围为 [0, 1]

rtt

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.rtt;

客户端到服务端数据传输的往返时延(单位 ms)

txJitter

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.txJitter;

系统上行网络抖动(ms)

rxJitter

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.rxJitter;

系统下行网络抖动(ms)

txCellularKBitrate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.txCellularKBitrate;

rxCellularKBitrate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.rxCellularKBitrate;

函数说明

reset

public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.reset()

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

AudioVolumeInfo

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

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

成员变量

类型 名称
String uid
int nonlinearVolume
int linearVolume

变量说明

uid

public String com.ss.bytertc.engine.handler.IRTCEngineEventHandler.AudioVolumeInfo.uid;

说话者的用户 id

nonlinearVolume

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.AudioVolumeInfo.nonlinearVolume;

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

linearVolume

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.AudioVolumeInfo.linearVolume;

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

RemoteVideoStats

public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats

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

成员变量

类型 名称
int width
int height
float videoLossRate
float receivedKBitrate
int decoderOutputFrameRate
int rendererOutputFrameRate
int stallCount
int stallDuration
long e2eDelay
boolean isScreen
int statsInterval
int rtt
int frozenRate
int videoIndex

变量说明

width

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.width;

远端视频流宽度

height

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.height;

远端视频流高度

videoLossRate

public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.videoLossRate;

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

receivedKBitrate

public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.receivedKBitrate;

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

decoderOutputFrameRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.decoderOutputFrameRate;

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

rendererOutputFrameRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.rendererOutputFrameRate;

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

stallCount

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.stallCount;

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

stallDuration

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.stallDuration;

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

e2eDelay

public long com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.e2eDelay;

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

isScreen

public boolean com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.isScreen;

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

statsInterval

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.statsInterval;

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

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

rtt

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.rtt;

往返时延,单位为 ms 。

frozenRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.frozenRate;

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

videoIndex

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.videoIndex;

对应多种分辨率的流的下标,详见 VideoStreamDescription 。

LocalVideoStats

public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats

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

成员变量

类型 名称
float sentKBitrate
int inputFrameRate
int sentFrameRate
int encoderOutputFrameRate
int rendererOutputFrameRate
int targetKBitrate
int targetFrameRate
int statsInterval
float videoLossRate
int rtt
int encodedBitrate
int encodedFrameWidth
int encodedFrameHeight
int encodedFrameCount
int codecType
boolean isScreen

变量说明

sentKBitrate

public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.sentKBitrate;

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

inputFrameRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.inputFrameRate;

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

sentFrameRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.sentFrameRate;

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

encoderOutputFrameRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.encoderOutputFrameRate;

编码器输出帧率。当前编码器在此次统计周期内的输出帧率,单位为 fps 。

rendererOutputFrameRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.rendererOutputFrameRate;

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

targetKBitrate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.targetKBitrate;

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

targetFrameRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.targetFrameRate;

目标发送帧率。当前编码器在此次统计周期内的目标发送帧率,单位为 fps 。

statsInterval

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.statsInterval;

统计间隔,单位为 ms 。

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

videoLossRate

public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.videoLossRate;

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

rtt

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.rtt;

往返时延,单位为 ms 。

encodedBitrate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.encodedBitrate;

视频编码码率。此次统计周期内的视频编码码率,单位为 kbps 。

encodedFrameWidth

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.encodedFrameWidth;

视频编码宽度,单位为 px 。

encodedFrameHeight

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.encodedFrameHeight;

视频编码高度,单位为 px 。

encodedFrameCount

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.encodedFrameCount;

此次统计周期内发送的视频帧总数。

codecType

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.codecType;

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

isScreen

public boolean com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.isScreen;

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

RemoteAudioStats

public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats

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

成员变量

类型 名称
float audioLossRate
float receivedKBitrate
int stallCount
int stallDuration
long e2eDelay
int playoutSampleRate
int statsInterval
int rtt
int total_rtt
int quality
int jitterBufferDelay
int numChannels
int receivedSampleRate
int frozenRate
int concealedSamples
int concealmentEvent
int decSampleRate
int decDuration

变量说明

audioLossRate

public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.audioLossRate;

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

receivedKBitrate

public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.receivedKBitrate;

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

stallCount

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.stallCount;

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

stallDuration

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.stallDuration;

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

e2eDelay

public long com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.e2eDelay;

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

playoutSampleRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.playoutSampleRate;

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

statsInterval

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.statsInterval;

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

rtt

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.rtt;

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

total_rtt

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.total_rtt;

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

quality

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.quality;

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

jitterBufferDelay

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.jitterBufferDelay;

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

numChannels

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.numChannels;

音频声道数。

receivedSampleRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.receivedSampleRate;

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

frozenRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.frozenRate;

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

concealedSamples

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.concealedSamples;

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

concealmentEvent

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.concealmentEvent;

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

decSampleRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.decSampleRate;

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

decDuration

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.decDuration;

解码时长。对此次统计周期内接收的远端音频流进行解码的总耗时,单位为 s 。

LocalAudioStats

public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalAudioStats

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

成员变量

类型 名称
float audioLossRate
float sendKBitrate
int recordSampleRate
int statsInterval
int rtt
int numChannels
int sentSampleRate

变量说明

audioLossRate

public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalAudioStats.audioLossRate;

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

sendKBitrate

public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalAudioStats.sendKBitrate;

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

recordSampleRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalAudioStats.recordSampleRate;

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

statsInterval

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalAudioStats.statsInterval;

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

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

rtt

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalAudioStats.rtt;

往返时延。单位为 ms 。

numChannels

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalAudioStats.numChannels;

音频声道数。

sentSampleRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalAudioStats.sentSampleRate;

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

LocalStreamStats

public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalStreamStats

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

成员变量

类型 名称
LocalAudioStats audioStats
LocalVideoStats videoStats
boolean isScreen

变量说明

audioStats

public LocalAudioStats com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalStreamStats.audioStats;

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

videoStats

public LocalVideoStats com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalStreamStats.videoStats;

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

isScreen

public boolean com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalStreamStats.isScreen;

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

RemoteStreamStats

public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamStats

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

成员变量

类型 名称
String uid
RemoteAudioStats audioStats
RemoteVideoStats videoStats
boolean isScreen

变量说明

uid

public String com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamStats.uid;

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

audioStats

public RemoteAudioStats com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamStats.audioStats;

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

videoStats

public RemoteVideoStats com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamStats.videoStats;

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

isScreen

public boolean com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamStats.isScreen;

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

PerformanceAlarmMode

public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.PerformanceAlarmMode

性能回退的模式

枚举值

类型 说明
PERFORMANCE_ALARM_MODE_NORMAL 未开启发布性能回退
PERFORMANCE_ALARM_MODE_SIMULCAST 已开启发布性能回退

PerformanceAlarmReason

public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.PerformanceAlarmReason

性能回退或者恢复的原因

枚举值

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

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

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

SourceWantedData

public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.SourceWantedData

性能回退相关数据

成员变量

类型 名称
int width
int height
int frameRate

变量说明

width

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.SourceWantedData.width;

如果未开启发送性能回退,此值表示推荐的视频输入宽度;
如果开启了发送性能回退,此值表示当前推流的最大宽度。

height

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.SourceWantedData.height;

如果未开启发送性能回退,此值表示推荐的视频输入高度;
如果开启了发送性能回退,此值表示当前推流的最大高度。

frameRate

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.SourceWantedData.frameRate;

如果未开启发送性能回退,此值表示推荐的视频输入帧率,单位 fps;
如果开启了发送性能回退,此值表示当前推流的最大帧率,单位 fps。

USER_ONLINE_STATUS

public class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.USER_ONLINE_STATUS

用户在线状态

成员变量

类型 名称
int USER_ONLINE_STATUS_OFFLINE
int USER_ONLINE_STATUS_ONLINE
int USER_ONLINE_STATUS_UNREACHABLE

变量说明

USER_ONLINE_STATUS_OFFLINE

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.USER_ONLINE_STATUS.USER_ONLINE_STATUS_OFFLINE = 0;

对端用户离线
对端用户已经调用 logout,或者没有调用 login 进行登录

USER_ONLINE_STATUS_ONLINE

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.USER_ONLINE_STATUS.USER_ONLINE_STATUS_ONLINE = 1;

对端用户在线
对端用户调用 login 登录,并且连接状态正常。

USER_ONLINE_STATUS_UNREACHABLE

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.USER_ONLINE_STATUS.USER_ONLINE_STATUS_UNREACHABLE = 2;

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

MediaDeviceType

public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType

媒体设备类型

成员变量

类型 名称
int MEDIA_DEVICE_TYPE_AUDIO_UNKNOWN
int MEDIA_DEVICE_TYPE_AUDIO_RENDER_DEVICE
int MEDIA_DEVICE_TYPE_AUDIO_CAPTURE_DEVICE
int MEDIA_DEVICE_TYPE_VIDEO_CAPTURE_DEVICE
int MEDIA_DEVICE_TYPE_SCREEN_VIDEO_CAPTURE_DEVICE
int MEDIA_DEVICE_TYPE_SCREEN_AUDIO_CAPTURE_DEVICE

变量说明

MEDIA_DEVICE_TYPE_AUDIO_UNKNOWN

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_AUDIO_UNKNOWN = -1;

未知设备

MEDIA_DEVICE_TYPE_AUDIO_RENDER_DEVICE

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_AUDIO_RENDER_DEVICE = 0;

音频渲染设备

MEDIA_DEVICE_TYPE_AUDIO_CAPTURE_DEVICE

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_AUDIO_CAPTURE_DEVICE = 1;

音频采集设备

MEDIA_DEVICE_TYPE_VIDEO_CAPTURE_DEVICE

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_VIDEO_CAPTURE_DEVICE = 3;

视频采集设备

MEDIA_DEVICE_TYPE_SCREEN_VIDEO_CAPTURE_DEVICE

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_SCREEN_VIDEO_CAPTURE_DEVICE = 4;

屏幕视频设备

MEDIA_DEVICE_TYPE_SCREEN_AUDIO_CAPTURE_DEVICE

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_SCREEN_AUDIO_CAPTURE_DEVICE = 5;

屏幕音频设备

MediaDeviceState

public static class  com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState

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

成员变量

类型 名称
int MEDIA_DEVICE_STATE_STARTED
int MEDIA_DEVICE_STATE_STOPPED
int MEDIA_DEVICE_STATE_RUNTIMEERROR
int MEDIA_DEVICE_STATE_ADDED
int MEDIA_DEVICE_STATE_REMOVED
int MEDIA_DEVICE_STATE_INTERRUPTION_BEGAN
int MEDIA_DEVICE_STATE_INTERRUPTION_ENDED

变量说明

MEDIA_DEVICE_STATE_STARTED

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_STARTED = 1;

设备开启采集

MEDIA_DEVICE_STATE_STOPPED

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_STOPPED = 2;

设备停止采集

MEDIA_DEVICE_STATE_RUNTIMEERROR

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_RUNTIMEERROR = 3;

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

MEDIA_DEVICE_STATE_ADDED

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_ADDED = 10;

设备已插入

MEDIA_DEVICE_STATE_REMOVED

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_REMOVED = 11;

设备被移除

MEDIA_DEVICE_STATE_INTERRUPTION_BEGAN

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_INTERRUPTION_BEGAN= 12;

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

MEDIA_DEVICE_STATE_INTERRUPTION_ENDED

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_INTERRUPTION_ENDED= 13;

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

MediaDeviceError

public static class  com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError

媒体设备错误类型

成员变量

类型 名称
int MEDIA_DEVICE_ERROR_OK
int MEDIA_DEVICE_ERROR_NOPERMISSION
int MEDIA_DEVICE_ERROR_DEVICEBUSY
int MEDIA_DEVICE_ERROR_DEVICEFAILURE
int MEDIA_DEVICE_ERROR_DEVICENOTFOUND
int MEDIA_DEVICE_ERROR_DEVICEDISCONNECTED
int MEDIA_DEVICE_ERROR_DEVICENOCALLBACK
int MEDIA_DEVICE_ERROR_UNSUPPORTFORMAT

变量说明

MEDIA_DEVICE_ERROR_OK

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_OK = 0;

媒体设备正常

MEDIA_DEVICE_ERROR_NOPERMISSION

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_NOPERMISSION = 1;

没有权限启动媒体设备

MEDIA_DEVICE_ERROR_DEVICEBUSY

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_DEVICEBUSY = 2;

媒体设备已经在使用中

MEDIA_DEVICE_ERROR_DEVICEFAILURE

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_DEVICEFAILURE = 3;

媒体设备错误

MEDIA_DEVICE_ERROR_DEVICENOTFOUND

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_DEVICENOTFOUND = 4;

未找到指定的媒体设备

MEDIA_DEVICE_ERROR_DEVICEDISCONNECTED

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_DEVICEDISCONNECTED = 5;

媒体设备被移除

MEDIA_DEVICE_ERROR_DEVICENOCALLBACK

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_DEVICENOCALLBACK = 6;

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

MEDIA_DEVICE_ERROR_UNSUPPORTFORMAT

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_UNSUPPORTFORMAT = 7;

设备采样率不支持

MediaDeviceWarning

public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceWarning

媒体设备警告

成员变量

类型 名称
int MEDIA_DEVICE_WARNING_OK
int MEDIA_DEVICE_WARNING_OPERATION_DENIED
int MEDIA_DEVICE_WARNING_CAPTURE_SILENCE
int MEDIA_DEVICE_WARNING_ANDROID_SYS_SILENCE
int MEDIA_DEVICE_WARNING_ANDROID_SYS_SILENCE_DISAPPEAR

变量说明

MEDIA_DEVICE_WARNING_OK

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceWarning.MEDIA_DEVICE_WARNING_OK = 0;

无警告

MEDIA_DEVICE_WARNING_OPERATION_DENIED

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceWarning.MEDIA_DEVICE_WARNING_OPERATION_DENIED = 1;

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

MEDIA_DEVICE_WARNING_CAPTURE_SILENCE

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceWarning.MEDIA_DEVICE_WARNING_CAPTURE_SILENCE = 2;

采集到的数据为静音帧。

MEDIA_DEVICE_WARNING_ANDROID_SYS_SILENCE

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceWarning.MEDIA_DEVICE_WARNING_ANDROID_SYS_SILENCE = 3;

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

MEDIA_DEVICE_WARNING_ANDROID_SYS_SILENCE_DISAPPEAR

public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceWarning.MEDIA_DEVICE_WARNING_ANDROID_SYS_SILENCE_DISAPPEAR = 4;

Android 特有的静音消失

NetworkQualityStats

public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats

上行/下行网络质量

成员变量

类型 名称
String uid
double fractionLost
int rtt
int totalBandwidth
int txQuality
int rxQuality

成员函数

返回 名称
String toString

变量说明

uid

public String com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats.uid;

用户 id

fractionLost

public double com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats.fractionLost;

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

rtt

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats.rtt;

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

totalBandwidth

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats.totalBandwidth;

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

txQuality

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats.txQuality;

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

rxQuality

public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats.rxQuality;

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

函数说明

toString

public String com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats.toString()

ByteRTCStreamMixingEvent

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

转推直播任务状态

枚举值

类型 说明
STREAM_MIXING_START(1) 合流功能触发
STREAM_MIXING_START_SUCCESS(2) 合流成功
STREAM_MIXING_START_FAILED(3) 合流功能启动失败
STREAM_MIXING_UPDATE(4) 更新合流
STREAM_MIXING_STOP(5) 合流结束
STREAM_MIXING_CHANGE_MIX_TYPE(6) 合流类型发生改变
STREAM_MIXING_FIRST_AUDIO_FRAME_BY_CLIENT_MIX(7) 收到客户端合流音频首帧
STREAM_MIXING_FIRST_VIDEO_FRAME_BY_CLIENT_MIX(8) 收到客户端合流视频首帧
STREAM_MIXING_UPDATE_TIMEOUT(9) 更新合流超时
STREAM_MIXING_START_TIMEOUT(10) 开始合流超时
STREAM_MIXING_REQUEST_PARAM_ERROR(11) 合流布局参数错误

ByteRTCStreamMixingType

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

合流类型

枚举值

类型 说明
STREAM_MIXING_BY_SERVER(0) 服务端合流
STREAM_MIXING_BY_CLIENT(1) 端云一体合流

成员函数

返回 名称
ByteRTCStreamMixingType ByteRTCStreamMixingType

函数说明

ByteRTCStreamMixingType

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

ByteRTCTranscoderErrorCode

public enum com.ss.bytertc.engine.live.ByteRTCTranscoderErrorCode

转推直播错误码

枚举值

类型 说明
TRANSCODER_ERROR_OK(0) 推流成功。
TRANSCODER_ERROR_BASE(1090)
TRANSCODER_ERROR_INVALID_PARAM(1091) 客户端 SDK 检测到无效推流参数,请检查合流参数合法性。
TRANSCODER_ERROR_INVALID_STATE(1092) 状态错误,需要在状态机正常状态下发起操作
TRANSCODER_ERROR_INVALID_OPERATOR(1093) 无效操作
TRANSCODER_ERROR_TIMEOUT(1094) 转推直播任务处理超时,请检查网络状态并重试
TRANSCODER_ERROR_INVALID_PARAM_BY_SERVER(1095) 服务端检测到错误的推流参数
TRANSCODER_ERROR_SUB_TIMEOUT_BY_SERVER(1096) 服务端检测到订阅流超时
TRANSCODER_ERROR_INVALID_STATE_BY_SERVER(1097) 合流服务端内部错误。
TRANSCODER_ERROR_AUTHENTICATION_BY_CDN(1098) 合流服务端推 CDN 失败。
TRANSCODER_ERROR_TIMEOUT_BY_SIGNALING(1099) 服务端接收信令超时,请检查网络状态并重试。

成员函数

返回 名称
ByteRTCTranscoderErrorCode ByteRTCTranscoderErrorCode

函数说明

ByteRTCTranscoderErrorCode

com.ss.bytertc.engine.live.ByteRTCTranscoderErrorCode.ByteRTCTranscoderErrorCode(
    int value)

LiveTranscoding

public class com.ss.bytertc.engine.live.LiveTranscoding

转推直播配置参数。

成员变量

类型 名称
String ACTION_START
String ACTION_CHANGED
String ACTION_STOPPED

静态函数

返回 名称
static LiveTranscoding getDefualtLiveTranscode

成员函数

返回 名称
void setUrl
void setRoomId
void setUserId
void setAction
void setVideo
void setAudio
void setLayout
ByteRTCStreamMixingType getMixType
void setMixType
String getUrl
VideoConfig getVideo
AudioConfig getAudio
Layout getLayout

变量说明

ACTION_START

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

开启转推直播。

ACTION_CHANGED

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

更新合流视频布局。

ACTION_STOPPED

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

停止直播推流功能。

函数说明

getDefualtLiveTranscode

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

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

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

setUrl

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

设置推流 CDN 地址。

setRoomId

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

设置roomId。

setUserId

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

设置userId。

setAction

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

设置转推直播动作参数。

传入参数

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

setVideo

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

设置视频转码配置参数。

传入参数

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

setAudio

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

设置音频转码配置参数。

传入参数

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

setLayout

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

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

传入参数

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

getMixType

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

获取合流类型。

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

setMixType

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

设置合流类型。

传入参数

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

getUrl

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

获取推流的 CDN 地址。

返回值 CDN 的 URL 地址。

getVideo

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

获取视频转码配置参数。

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

getAudio

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

获取音频转码配置参数。

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

getLayout

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

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

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

TranscoderContentControlType

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

合流输出内容类型

枚举值

类型 说明
HAS_AUDIO_AND_VIDEO(0) 输出的混流包含音频和视频
HAS_AUDIO_ONLY(1) 输出的混流只包含音频
HAS_VIDEO_ONLY(2) 输出的混流只包含视频

成员函数

返回 名称
int getValue

函数说明

getValue

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

获取合流输出内容类型。

返回值 合流输出内容类型

TranscoderRenderMode

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

视频渲染的缩放模式

枚举值

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

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

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

视频尺寸非等比例缩放,把窗口充满。在此过程中,视频帧的长宽比例可能会发生变化。

成员函数

返回 名称
int getValue

函数说明

getValue

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

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

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

AACProfile

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

AAC 编码类型。

枚举值

类型 说明
AAC_PROFILE_LC("LC") 编码等级 AAC-LC
AAC_PROFILE_HEV1("HEv1") 编码等级 HE-AAC v1
AAC_PROFILE_HEV2("HEv2") 编码等级 HE-AAC v2

成员函数

返回 名称
String getValue

函数说明

getValue

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

获取 AAC 编码类型。

返回值 AAC 编码类型。

VideoConfig

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

视频转码配置参数。

成员函数

返回 名称
VideoConfig setCodec
VideoConfig setFps
VideoConfig setGop
VideoConfig setLowLatency
VideoConfig setKBitRate
VideoConfig setWidth
VideoConfig setHeight

函数说明

setCodec

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

设置视频编码器。

传入参数

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

setFps

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

设置合流视频帧率信息。

传入参数

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

setGop

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

设置视频 I 帧间隔。

传入参数

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

setLowLatency

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

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

传入参数

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

setKBitRate

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

设置合流视频码率

传入参数

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

setWidth

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

设置合流视频宽度。

传入参数

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

setHeight

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

设置合流视频高度。

传入参数

参数名 类型 说明
height int 合流视频高度。单位为 px,范围为 [2, 1080],必须是偶数。默认值为 480。

VideoCodecType

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

转推直播视频编码器格式

枚举值

类型 说明
VIDEO_CODEC_TYPE_H264("H264") 使用 H264 编码格式
VIDEO_CODEC_TYPE_BYTEVC1("ByteVC1") 自定义编码器

成员函数

返回 名称
String getValue

函数说明

getValue

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

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

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

AudioConfig

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

音频转码配置参数。

成员函数

返回 名称
AudioConfig setCodec
AudioConfig setKBitRate
AudioConfig setSampleRate
AudioConfig setChannels
AudioConfig setAacProfile

函数说明

setCodec

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

设置音频编码格式。

传入参数

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

setKBitRate

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

设置音频码率。

传入参数

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

setSampleRate

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

设置音频采样率。

传入参数

参数名 类型 说明
sampleRate int 音频采样率,单位 kHz。可取 32Khz、44.1Khz、48Khz,默认值为 48Khz。

setChannels

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

设置声道数。

传入参数

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

setAacProfile

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

设置 AAC 等级。

传入参数

参数名 类型 说明
AACProfile **** AAC 等级,参看 AACProfile。默认值为 AAC_PROFILE_LC("LC")。

Region

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

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

成员函数

返回 名称
Region uid
Region roomId
Region zorder
Region alpha
Region contentControl
Region renderMode
Region position
Region size
boolean isScreenStream
Region setScreenStream
boolean isLocalUser
Region setLocalUser

函数说明

uid

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

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

传入参数

参数名 类型 说明
uid String 用户 ID。

roomId

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

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

传入参数

参数名 类型 说明
roomId String 房间 ID。

zorder

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

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

传入参数

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

alpha

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

设置透明度。

传入参数

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

contentControl

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

设置合流内容类型。

传入参数

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

renderMode

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

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

传入参数

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

position

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

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

传入参数

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

size

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

设置用户视频相对大小。

传入参数

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

isScreenStream

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

是否是屏幕流。

返回值

setScreenStream

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

设置是否是屏幕流。

传入参数

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

isLocalUser

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

是否本地用户。

返回值

setLocalUser

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

设置是否是本地用户。

传入参数

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

Layout

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

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

成员函数

返回 名称
Region[] getRegions
void setRegions
String getAppData
void setAppData
String getBackgroundColor
void setBackgroundColor

函数说明

getRegions

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

获取用户布局信息列表。

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

setRegions

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

设置用户布局信息列表。

传入参数

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

getAppData

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

获取透传的 App 数据。

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

setAppData

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

设置透传的 App 数据。

传入参数

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

getBackgroundColor

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

获取画布的背景颜色。

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

setBackgroundColor

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

设置画布的背景颜色。

传入参数

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

Builder

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

构建参数组合

成员函数

返回 名称
Builder appData
Builder backgroundColor

函数说明

appData

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

透传的 app 数据

backgroundColor

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

画布的背景颜色

RTCNativeLibraryLoader

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

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

成员函数

返回 名称
boolean load

函数说明

load

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

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

传入参数

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

PublicStreaming

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

公共流参数。

成员变量

类型 名称
String ACTION_START
String ACTION_CHANGED
String ACTION_STOPPED

静态函数

返回 名称
static PublicStreaming getDefualtPublicStreaming

成员函数

返回 名称
void setAction
void setVideo
void setAudio
void setLayout
VideoConfig getVideo
AudioConfig getAudio
Layout getLayout

变量说明

ACTION_START

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

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

ACTION_CHANGED

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

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

ACTION_STOPPED

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

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

函数说明

getDefualtPublicStreaming

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

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

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

setAction

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

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

传入参数

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

setVideo

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

设置公共流视频参数。

传入参数

参数名 类型 说明
video VideoConfig 公共流视频参数。详见 VideoConfig 数据类型。

setAudio

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

设置公共流音频参数。

传入参数

参数名 类型 说明
audio AudioConfig 公共流音频参数。详见 AudioConfig 数据类型。

setLayout

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

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

传入参数

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

getVideo

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

获取公共流视频参数。

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

getAudio

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

获取公共流音频参数。

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

getLayout

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

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

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

VideoConfig

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

公共流的视频参数

成员函数

返回 名称
VideoConfig setFps
VideoConfig setKBitRate
VideoConfig setWidth
VideoConfig setHeight

函数说明

setFps

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

设置公共流视频帧率信息。

传入参数

参数名 类型 说明
fps int 公共流视频帧率。

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

setKBitRate

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

设置公共流视频码率

传入参数

参数名 类型 说明
kBitRate int 公共流视频码率,单位为 Kbps 。

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

setWidth

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

设置公共流视频宽度。

传入参数

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

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

setHeight

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

设置公共流视频高度。

传入参数

参数名 类型 说明
height int 公共流视频高度。单位为 px,范围为 [2, 1080],必须是偶数。默认值为 480。

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

AudioConfig

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

公共流的音频参数。

成员函数

返回 名称
AudioConfig setKBitRate
AudioConfig setSampleRate
AudioConfig setChannels

函数说明

setKBitRate

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

设置音频码率。

传入参数

参数名 类型 说明
kBitRate int 音频码率。单位为 kbps。可选取值:16, 32, 64。

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

setSampleRate

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

设置音频采样率。

传入参数

参数名 类型 说明
sampleRate int 音频采样率。单位为 kHz。可选取值:16000, 32000, and 48000

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

setChannels

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

设置声道数。

传入参数

参数名 类型 说明
channels int 音频声道数,可取 1 或 2。

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

SourceCrop

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

视频裁剪参数。

成员函数

返回 名称
SourceCrop setLocationX
SourceCrop setLocationY
SourceCrop setWidthProportion
SourceCrop setHeightProportion

函数说明

setLocationX

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

设置左上角横坐标。

传入参数

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

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

setLocationY

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

设置左上角纵坐标。

传入参数

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

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

setWidthProportion

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

设置视频宽度。

传入参数

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

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

setHeightProportion

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

设置视频高度。

传入参数

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

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

Layout

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

公共流的公共流布局

成员函数

返回 名称
Region[] getRegions
void setRegions
int getInterpolationMode
void setInterpolationMode
int getLayoutMode
void setLayoutMode
String getBackgroundImage
void setBackgroundImage
String getBackgroundColor
void setBackgroundColor

函数说明

getRegions

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

获取用户布局信息列表。

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

setRegions

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

设置用户布局信息列表。

传入参数

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

getInterpolationMode

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

获取插帧模式。

返回值 插帧模式。 0: 最后一帧 !0: 黑帧

setInterpolationMode

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

设置插帧模式。

传入参数

参数名 类型 说明
interMode int 插帧模式。
0: 最后一帧
!0: 黑帧

getLayoutMode

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

获取布局模式。

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

setLayoutMode

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

设置布局模式。

传入参数

参数名 类型 说明
layoutMode int 目标布局模式
2: 自定义模式。

getBackgroundImage

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

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

返回值 当前背景图片链接

setBackgroundImage

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

设置背景图片链接。

传入参数

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

getBackgroundColor

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

获取画布的背景颜色。

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

setBackgroundColor

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

设置画布的背景颜色。

传入参数

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

Builder

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

公共流构建参数组合

成员函数

返回 名称
Builder addRegoin
Builder interpolationMode
Builder layoutMode
Builder backgroundImage
Builder backgroundColor

函数说明

addRegoin

public Builder com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Builder.addRegoin(
    Region region)

用户布局信息列表

传入参数

参数名 类型 说明
region Region 详见 Region

返回值 公共流结构体,详见 Builder

interpolationMode

public Builder com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Builder.interpolationMode(
    int mode)

插帧模式

传入参数

参数名 类型 说明
mode int 0: 最好一帧 1: 空白帧

返回值 公共流结构体,详见 Builder

layoutMode

public Builder com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Builder.layoutMode(
    int mode)

公共流布局模式

传入参数

参数名 类型 说明
mode int 0:自定义

返回值 公共流结构体,详见 Builder

backgroundImage

public Builder com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Builder.backgroundImage(
    String bgImage)

画布的背景图片地址

传入参数

参数名 类型 说明
bgImage String

返回值 公共流结构体,详见 Builder

backgroundColor

public Builder com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Builder.backgroundColor(
    String)

背景颜色

传入参数

参数名 类型 说明
backgroundColor String

返回值 公共流结构体,详见 Builder

Region

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

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

成员函数

返回 名称
Region userId
Region roomId
Region zorder
Region alpha
Region mediaType
Region streamType
Region renderMode
Region position
Region size
Region sourceCropPosition
Region sourceCropSize

函数说明

userId

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

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

传入参数

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

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

roomId

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

设置媒体流所在房间的 房间 ID。

传入参数

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

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

zorder

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

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

传入参数

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

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

alpha

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

设置透明度。

传入参数

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

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

mediaType

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

设置公共流内容类型。

传入参数

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

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

streamType

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

设置公共流媒体类型。

传入参数

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

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

renderMode

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

设置视频显示模式。

传入参数

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

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

position

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

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

传入参数

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

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

size

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

设置用户视频相对大小。

传入参数

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

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

sourceCropPosition

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

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

传入参数

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

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

sourceCropSize

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

设置裁剪视频相对大小。

传入参数

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

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

AudioFrame

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

PCM 音频帧

成员变量

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

变量说明

buffer

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

PCM 数据

samples

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

采样点个数

sampleRate

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

采样率,参看 AudioSampleRate。

channel

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

音频声道,参看 AudioChannel。

IAudioFrame

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

音频数据

成员函数

返回 名称
long timestamp_us
AudioSampleRate sample_rate
AudioChannel channel
ByteBuffer getDataBuffer
int data_size
AudioFrameType frame_type
void release

函数说明

timestamp_us

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

获取音频帧时间戳。

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

sample_rate

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

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

返回值 音频采样率

channel

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

获取音频声道,参看 AudioChannel。

返回值 音频声道

getDataBuffer

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

获取音频帧内存块地址

返回值 音频帧的 ByteBuffer

data_size

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

获取音频帧数据大小。

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

frame_type

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

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

返回值 音频帧类型

release

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

释放音频帧。

AudioDeviceType

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

音频设备类型

枚举值

类型 说明
AUDIO_DEVICE_TYPE_UNKNOWN(-1) 未知设备
AUDIO_DEVICE_TYPE_RENDER_DEVICE(0) 音频渲染设备
AUDIO_DEVICE_TYPE_CAPTURE_DEVICE(1) 音频采集设备类型
AUDIO_DEVICE_TYPE_SCREEN_CAPTURE_DEVICE(2) 屏幕流音频设备

RangeAudioInfo

public class com.ss.bytertc.engine.type.RangeAudioInfo

范围语音流信息

成员变量

类型 名称
String userId
int factor

变量说明

userId

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

远端音频发布用户 ID

factor

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

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

RecordingFileType

public enum com.ss.bytertc.engine.type.RecordingFileType

本地录制文件的存储格式

枚举值

类型 说明
RECORDING_FILE_TYPE_AAC(0) aac 格式文件
RECORDING_FILE_TYPE_MP4(1) mp4 格式文件

UserOnlineStatus

public class com.ss.bytertc.engine.type.UserOnlineStatus

用户在线状态

成员变量

类型 名称
int USER_ONLINE_STATUS_OFFLINE
int USER_ONLINE_STATUS_ONLINE
int USER_ONLINE_STATUS_UNREACHABLE

变量说明

USER_ONLINE_STATUS_OFFLINE

public static final int com.ss.bytertc.engine.type.UserOnlineStatus.USER_ONLINE_STATUS_OFFLINE = 0;

对端用户离线
对端用户已经调用 logout,或者没有调用 login 进行登录

USER_ONLINE_STATUS_ONLINE

public static final int com.ss.bytertc.engine.type.UserOnlineStatus.USER_ONLINE_STATUS_ONLINE = 1;

对端用户在线
对端用户调用 login 登录,并且连接状态正常。

USER_ONLINE_STATUS_UNREACHABLE

public static final int com.ss.bytertc.engine.type.UserOnlineStatus.USER_ONLINE_STATUS_UNREACHABLE = 2;

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

VideoDeviceType

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

当前视频设备类型

枚举值

类型 说明
VIDEO_DEVICE_TYPE_UNKNOWN(-1) 未知设备类型
VIDEO_DEVICE_TYPE_RENDER_DEVICE(0) 视频渲染设备类型
VIDEO_DEVICE_TYPE_CAPTURE_DEVICE(1) 视频采集设备类型
VIDEO_DEVICE_TYPE_SCREEN_CAPTURE_DEVICE(2) 屏幕流视频设备

ByteWatermark

public class com.ss.bytertc.engine.video.ByteWatermark

水印图片相对视频流的位置和大小。

成员变量

类型 名称
float x
float y
float width
float height

变量说明

x

public float com.ss.bytertc.engine.video.ByteWatermark.x;

水印图片相对视频流左上角的横向偏移与视频流宽度的比值,取值范围为 [0,1)。

y

public float com.ss.bytertc.engine.video.ByteWatermark.y;

水印图片相对视频流左上角的纵向偏移与视频流高度的比值,取值范围为 [0,1)。

width

public  float com.ss.bytertc.engine.video.ByteWatermark.width;

水印图片宽度与视频流宽度的比值,取值范围 [0,1)。

height

public float com.ss.bytertc.engine.video.ByteWatermark.height;

水印图片高度与视频流高度的比值,取值范围为 [0,1)。

FaceDetectionResult

public class com.ss.bytertc.engine.video.FaceDetectionResult

人脸检测结果

成员变量

类型 名称
int detectResult
int imageWidth
int imageHeight
Rectangle[] faces

成员函数

返回 名称
String toString

变量说明

detectResult

public int com.ss.bytertc.engine.video.FaceDetectionResult.detectResult;

人脸检测结果

imageWidth

public int com.ss.bytertc.engine.video.FaceDetectionResult.imageWidth;

原始图片宽度(px)

imageHeight

public int com.ss.bytertc.engine.video.FaceDetectionResult.imageHeight;

原始图片高度(px)

faces

public Rectangle[] com.ss.bytertc.engine.video.FaceDetectionResult.faces;

识别到人脸的矩形框。数组的长度和检测到的人脸数量一致。参看 Rectangle。

函数说明

toString

public String com.ss.bytertc.engine.video.FaceDetectionResult.toString()

IVideoSink

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

自定义视频渲染器。

成员函数

返回 名称
void onFrame

函数说明

onFrame

void com.ss.bytertc.engine.video.IVideoSink.onFrame(
    VideoFrame frame)

视频帧回调

传入参数

参数名 类型 说明
frame VideoFrame 视频帧结构类,参看 VideoFrame

PixelFormat

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

视频帧数据格式

成员变量

类型 名称
int Original
int I420

变量说明

Original

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

原始视频帧格式

I420

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

I420数据格式

Rectangle

public class com.ss.bytertc.engine.video.Rectangle

矩形区域

成员变量

类型 名称
int x
int y
int width
int height

成员函数

返回 名称
Rectangle Rectangle
String toString

变量说明

x

public int com.ss.bytertc.engine.video.Rectangle.x = 0;

矩形区域左上角的 x 坐标

y

public int com.ss.bytertc.engine.video.Rectangle.y = 0;

矩形区域左上角的 y 坐标

width

public int com.ss.bytertc.engine.video.Rectangle.width = 0;

矩形宽度(px)

height

public int com.ss.bytertc.engine.video.Rectangle.height = 0;

矩形高度(px)

函数说明

Rectangle

public com.ss.bytertc.engine.video.Rectangle.Rectangle(
    int x,
    int y,
    int w,
    int h)

toString

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

RTCWatermarkConfig

public class com.ss.bytertc.engine.video.RTCWatermarkConfig

水印参数

成员变量

类型 名称
boolean visibleInPreview
ByteWatermark positionInLandscapeMode
ByteWatermark positionInPortraitMode

变量说明

visibleInPreview

public boolean com.ss.bytertc.engine.video.RTCWatermarkConfig.visibleInPreview = true;

水印是否在视频预览中可见,默认可见。

positionInLandscapeMode

public ByteWatermark com.ss.bytertc.engine.video.RTCWatermarkConfig.positionInLandscapeMode;

横屏时的水印位置和大小,参看 ByteWatermark。

positionInPortraitMode

public ByteWatermark com.ss.bytertc.engine.video.RTCWatermarkConfig.positionInPortraitMode;

竖屏时的水印位置和大小,参看 ByteWatermark。

ScreenSharingParameters

public class com.ss.bytertc.engine.video.ScreenSharingParameters

屏幕共享的编码参数配置

成员变量

类型 名称
int maxWidth
int maxHeight
int frameRate
int bitrate

变量说明

maxWidth

public int com.ss.bytertc.engine.video.ScreenSharingParameters.maxWidth = 0;

屏幕采集编码最大宽度,

maxHeight

public int com.ss.bytertc.engine.video.ScreenSharingParameters.maxHeight = 0;

屏幕采集编码最大高度

frameRate

public int com.ss.bytertc.engine.video.ScreenSharingParameters.frameRate = 15;

屏幕采集编码帧率, 单位 fps

bitrate

public int com.ss.bytertc.engine.video.ScreenSharingParameters.bitrate = -1;

屏幕采集编码码率, -1 为自动码率, SDK 会根据宽高信息选择合适的码率,单位 kbps

VideoCaptureConfig

public class com.ss.bytertc.engine.video.VideoCaptureConfig

视频采集配置

成员变量

类型 名称
CapturePreference capturePreference
int width
int height
int frameRate

变量说明

capturePreference

public CapturePreference com.ss.bytertc.engine.video.VideoCaptureConfig.capturePreference = CapturePreference.AUTO;

视频采集模式

width

public int com.ss.bytertc.engine.video.VideoCaptureConfig.width;

视频采集分辨率的宽度,单位:px。

height

public int com.ss.bytertc.engine.video.VideoCaptureConfig.height;

视频采集分辨率的高度,单位:px。

frameRate

public int com.ss.bytertc.engine.video.VideoCaptureConfig.frameRate;

视频采集帧率,单位:fps。

CapturePreference

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

视频采集模式

枚举值

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

VideoEncoderConfiguration

public class com.ss.bytertc.engine.video.VideoEncoderConfiguration

视频编码配置

成员变量

类型 名称
VideoDimensions dimensions
FrameRate frameRate
int kBitrate
OrientationMode orientationMode

变量说明

dimensions

public VideoDimensions com.ss.bytertc.engine.video.VideoEncoderConfiguration.dimensions;

视频编码像素

frameRate

public FrameRate com.ss.bytertc.engine.video.VideoEncoderConfiguration.frameRate;

视频编码帧率

kBitrate

public int com.ss.bytertc.engine.video.VideoEncoderConfiguration.kBitrate;

视频编码码率

orientationMode

public OrientationMode com.ss.bytertc.engine.video.VideoEncoderConfiguration.orientationMode;

视频编码方向模式

OrientationMode

public static enum com.ss.bytertc.engine.video.VideoEncoderConfiguration.OrientationMode

视频编码的方向模式

枚举值

类型 说明
ORIENTATION_MODE_ADAPTIVE(0) 视频输出方向与采集方向一致。
ORIENTATION_MODE_FIXED_LANDSCAPE(1) 固定横屏输出视频。若采集到的视频是竖屏模式,则视频编码器会对其进行裁剪。
ORIENTATION_MODE_FIXED_PORTRAIT(2) 固定竖屏输出视频。若采集到的视频是横屏模式,则视频编码器会对其进行裁剪。

VideoFrame

public abstract class com.ss.bytertc.engine.video.VideoFrame

视频帧

成员函数

返回 名称
synchronized void setReleaseCallback
synchronized boolean hasReleaseCallback
abstract VideoFrameType getFrameType
abstract VideoPixelFormat getPixelFormat
abstract long getTimeStampUs
abstract int getWidth
abstract int getHeight
abstract VideoRotation getRotation
abstract ColorSpace getColorSpace
abstract CameraId getCameraId
abstract int getNumberOfPlanes
abstract ByteBuffer getPlaneData
abstract int getPlaneLineSize
abstract ByteBuffer getExternalDataInfo
abstract ByteBuffer getSupplementaryInfo
abstract int getTextureID
abstract float[] getTextureMatrix
abstract EGLContext getEGLContext
synchronized void retain
synchronized void release

函数说明

setReleaseCallback

public synchronized void com.ss.bytertc.engine.video.VideoFrame.setReleaseCallback(
    Runnable releaseCallback)

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

传入参数

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

hasReleaseCallback

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

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

返回值

getFrameType

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

获取视频帧类型,参看 VideoFrameType

getPixelFormat

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

获取视频帧格式,参看 VideoPixelFormat

getTimeStampUs

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

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

getWidth

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

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

getHeight

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

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

getRotation

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

获取视频帧旋转角度

getColorSpace

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

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

getCameraId

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

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

getNumberOfPlanes

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

获取视频帧像素平面数量

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

getPlaneData

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

获取 plane 数据

传入参数

参数名 类型 说明
planeIndex int plane 数据索引

getPlaneLineSize

public abstract int com.ss.bytertc.engine.video.VideoFrame.getPlaneLineSize(
    int planeIndex)

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

传入参数

参数名 类型 说明
planeIndex int plane 数据索引

getExternalDataInfo

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

获取 SEI 数据

getSupplementaryInfo

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

获取补充数据指针

getTextureID

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

获取纹理ID

getTextureMatrix

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

获取纹理矩阵

getEGLContext

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

获取纹理使用的 EGLContext

retain

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

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

release

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

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

VideoDecoderConfig

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

视频解码方式

枚举值

类型 说明
VIDEO_DECODER_CONFIG_RAW(0) 开启 SDK 内部解码,只回调解码后的数据
VIDEO_DECODER_CONFIG_ENCODE(1) 开启自定义解码,只回调解码前数据
VIDEO_DECODER_CONFIG_BOTH(2) 开启 SDK 内部解码,同时回调解码前和解码后的数据

VideoPreprocessorConfig

public class com.ss.bytertc.engine.video.VideoPreprocessorConfig

视频处理配置参数。

成员变量

类型 名称
VideoPixelFormat required_pixel_format

变量说明

required_pixel_format

public VideoPixelFormat com.ss.bytertc.engine.video.VideoPreprocessorConfig.required_pixel_format = VideoPixelFormat.kVideoPixelFormatUnknown;

设置请求的像素格式,参看 VideoPixelFormat。

VideoEncoderConfig

public class com.ss.bytertc.engine.VideoEncoderConfig

视频流参数描述

成员变量

类型 名称
int width
int height
int frameRate
int maxBitrate
ScaleMode scaleMode
EncoderPreference encodePreference

变量说明

width

public int com.ss.bytertc.engine.VideoEncoderConfig.width;

视频宽度,单位:px

height

public int com.ss.bytertc.engine.VideoEncoderConfig.height;

视频高度,单位:px

frameRate

public int com.ss.bytertc.engine.VideoEncoderConfig.frameRate;

视频帧率,单位:fps

maxBitrate

public int com.ss.bytertc.engine.VideoEncoderConfig.maxBitrate;

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

scaleMode

public ScaleMode com.ss.bytertc.engine.VideoEncoderConfig.scaleMode = ScaleMode.SCALE_MODE_AUTO;

缩放策略,默认是拉伸

encodePreference

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

编码策略偏好。详见 EncoderPreference

ScaleMode

public enum com.ss.bytertc.engine.VideoEncoderConfig.ScaleMode

视频帧缩放模式,可设置缩放以适应视窗。

枚举值

类型 说明
SCALE_MODE_AUTO(0) 自动模式,默认值为 Stretch
SCALE_MODE_STRETCH(1) 视频尺寸非等比例缩放,把窗口充满。当视频尺寸与显示窗口尺寸不一致时,视频高或宽方向会被拉伸。
SCALE_MODE_FIT_WITH_CROPPING(2) 视频尺寸等比缩放,优先保证窗口被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。
SCALE_MODE_FIT_WITH_FILLING(3) 视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成黑色。

CodecMode

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

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

枚举值

类型 说明
CODEC_MODE_AUTO(0) 自动模式
CODEC_MODE_HARDWARE(1) 硬编码模式
CODEC_MODE_SOFTWARE(2) 软编码模式

VideoCodecType

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

编码模式(H264, ByteVC1)

枚举值

类型 说明
CODEC_TYPE_AUTO(0) 自动选择编码模式
CODEC_TYPE_H264(1) H264
CODEC_TYPE_BYTEVC1(2) ByteVC1

EncoderPreference

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

编码策略偏好

枚举值

类型 说明
Disabled(0) 无偏好
MaintainFramerate(1) 帧率优先
MaintainQuality(2) 质量优先
Balance(3) 平衡质量与帧率

AudioChannel

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

音频声道

枚举值

类型 说明
AUDIO_CHANNEL_AUTO(-1) 自动声道,适用于从 SDK 获取音频数据,使用 SDK 内部处理的声道,不经过 resample。

当你需要从 SDK 获取音频数据时,建议设置成该值,避免 resample 带来的性能损失。
AUDIO_CHANNEL_MONO(1) 单声道
AUDIO_CHANNEL_STEREO(2) 双声道

AudioFrameCallbackMethod

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

音频回调方法

枚举值

类型 说明
AUDIO_FRAME_CALLBACK_RECORD(0) 本地麦克风录制的音频数据回调
AUDIO_FRAME_CALLBACK_PLAYBACK(1) 订阅的远端所有用户混音后的音频数据回调
AUDIO_FRAME_CALLBACK_MIXED(2) 本地麦克风录制和订阅的远端所有用户混音后的音频数据回调
AUDIO_FRAME_CALLBACK_REMOTE_USER(3) 订阅的远端每个用户混音前的音频数据回调

AudioFrameType

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

音频帧类型

枚举值

类型 说明
FRAME_TYPE_PCM16(0) PCM 16bit

成员函数

返回 名称
int value

函数说明

value

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

获取当前值

返回值 当前值

AudioSampleRate

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

音频采样率,单位为 Hz。

枚举值

类型 说明
AUDIO_SAMPLE_RATE_AUTO(-1) 自动采样率,适用于从 SDK 获取音频数据,使用 SDK 内部处理的采样率,不经过 resample。

当你需要从 SDK 获取音频数据时,建议设置成该值,避免 resample 带来的性能损失。
AUDIO_SAMPLE_RATE_8000(8000) 8000 采样率
AUDIO_SAMPLE_RATE_16000(16000) 16000 采样率
AUDIO_SAMPLE_RATE_32000(32000) 32000 采样率
AUDIO_SAMPLE_RATE_44100(44100) 44100 采样率
AUDIO_SAMPLE_RATE_48000(48000) 48000 采样率

LocalAudioStreamError

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

本地音频流状态改变时的错误码。
SDK 通过 onLocalAudioStateChanged 回调该错误码。

枚举值

类型 说明
LOCAL_AUDIO_STREAM_ERROR_OK(0) 本地音频状态正常
LOCAL_AUDIO_STREAM_ERROR_FAILURE(1) 本地音频出错原因未知
LOCAL_AUDIO_STREAM_ERROR_DEVICE_NO_PERMISSION(2) 没有权限启动本地音频录制设备
LOCAL_AUDIO_STREAM_ERROR_RECORD_FAILURE(4) 本地音频录制失败,建议你检查录制设备是否正常工作
LOCAL_AUDIO_STREAM_ERROR_ENCODE_FAILURE(5) 本地音频编码失败
LOCAL_AUDIO_STREAM_ERROR_NO_RECORDING_DEVICE(6) 没有可用的音频录制设备

成员函数

返回 名称
int value

函数说明

value

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

获取当前值

返回值 当前值

LocalAudioStreamState

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

本地音频流状态。
SDK 通过 onLocalAudioStateChanged 回调该状态。

枚举值

类型 说明
LOCAL_AUDIO_STREAM_STATE_STOPPED(0) 本地音频默认初始状态。

麦克风停止工作时回调该状态,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorOk 。
LOCAL_AUDIO_STREAM_STATE_RECORDING(1) 本地音频录制设备启动成功。

采集到音频首帧时回调该状态,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorOk 。
LOCAL_AUDIO_STREAM_STATE_ENCODING(2) 本地音频首帧编码成功。

音频首帧编码成功时回调该状态,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorOk 。
LOCAL_AUDIO_STREAM_STATE_FAILED(3) 本地音频启动失败,在以下时机回调该状态:

+ 本地录音设备启动失败,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorRecordFailure 。

+ 检测到没有录音设备权限,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorDeviceNoPermission。

+ 音频编码失败,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorEncodeFailure。

成员函数

返回 名称
int value

函数说明

value

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

获取当前值

返回值 当前值

RecordingConfig

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

本地录制参数配置

成员变量

类型 名称
String dirPath
RecordingFileType recordingFileType

变量说明

dirPath

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

录制文件保存的绝对路径。你需要指定一个有读写权限的合法路径。

recordingFileType

public RecordingFileType com.ss.bytertc.engine.data.RecordingConfig.recordingFileType = RecordingFileType.RECORDING_FILE_TYPE_MP4;

录制存储文件格式,参看 RecordingFileType

RecordingInfo

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

本地录制的详细信息

成员变量

类型 名称
String filePath
VideoCodecType videoCodecType
int width
int height

变量说明

filePath

public String com.ss.bytertc.engine.data.RecordingInfo.filePath;

录制文件的绝对路径,包含文件名和文件后缀

videoCodecType

public VideoCodecType com.ss.bytertc.engine.data.RecordingInfo.videoCodecType;

录制文件的视频编码类型,参看 参看 VideoCodecType

width

public int com.ss.bytertc.engine.data.RecordingInfo.width;

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

height

public int com.ss.bytertc.engine.data.RecordingInfo.height;

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

RecordingProgress

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

本地录制进度

成员变量

类型 名称
long duration
long fileSize

变量说明

duration

public long com.ss.bytertc.engine.data.RecordingProgress.duration;

当前文件的累计录制时长,单位:毫秒

fileSize

public long com.ss.bytertc.engine.data.RecordingProgress.fileSize;

当前录制文件的大小,单位:byte

RemoteAudioState

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

用户订阅的远端音频流状态。
SDK 通过 onRemoteAudioStateChanged 回调该状态。

枚举值

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

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

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

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

刚收到远端音频流首包时,会触发回调 onRemoteAudioStateChanged,
对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonLocalUnmuted 。
REMOTE_AUDIO_STATE_DECODING(2) 远端音频流正在解码,正常播放,在以下时机回调该状态:

+ 成功解码远端音频首帧,对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonLocalUnmuted

+ 网络由阻塞恢复正常,对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonNetworkRecovery

+ 本地用户恢复接收远端音频流,对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonLocalUnmuted

+ 远端用户恢复发送音频流,对应原因是 RemoteAudioStateChangeReason 中的 kRemoteAudioReasonRemoteUnmuted
REMOTE_AUDIO_STATE_FROZEN(3) 远端音频流卡顿。
网络阻塞导致丢包率大于 40% 时回调该状态,对应原因是
RemoteAudioStateChangeReason 中的 kRemoteAudioReasonNetworkCongestion

成员函数

返回 名称
int value

函数说明

value

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

获取当前值

返回值 当前值

RemoteAudioStateChangeReason

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

远端音频流状态改变的原因。 SDK 通过 onRemoteAudioStateChanged 回调该错误码。

枚举值

类型 说明
REMOTE_AUDIO_STATE_CHANGE_REASON_INTERNAL(0) 内部原因
REMOTE_AUDIO_STATE_CHANGE_REASON_NETWORK_CONGESTION(1) 网络阻塞
REMOTE_AUDIO_STATE_CHANGE_REASON_NETWORK_RECOVERY(2) 网络恢复正常
REMOTE_AUDIO_STATE_CHANGE_REASON_LOCAL_MUTED(3) 本地用户停止接收远端音频流
REMOTE_AUDIO_STATE_CHANGE_REASON_LOCAL_UNMUTED(4) 本地用户恢复接收远端音频流
REMOTE_AUDIO_STATE_CHANGE_REASON_REMOTE_MUTED(5) 远端用户停止发送音频流
REMOTE_AUDIO_STATE_CHANGE_REASON_REMOTE_UNMUTED(6) 远端用户恢复发送音频流
REMOTE_AUDIO_STATE_CHANGE_REASON_REMOTE_OFFLINE(7) 远端用户离开房间

成员函数

返回 名称
int value

函数说明

value

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

获取当前值

返回值 当前值

RemoteStreamKey

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

远端流信息

成员函数

返回 名称
String getRoomId
String getUserId
StreamIndex getStreamIndex

函数说明

getRoomId

public String com.ss.bytertc.engine.data.RemoteStreamKey.getRoomId()

获取房间 ID

getUserId

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

获取用户 ID

getStreamIndex

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

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

RemoteVideoConfig

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

远端视频帧信息

成员函数

返回 名称
RemoteVideoConfig RemoteVideoConfig

函数说明

RemoteVideoConfig

public com.ss.bytertc.engine.data.RemoteVideoConfig.RemoteVideoConfig(
    int width,
    int height,
    int framerate)

远端视频参数设置

传入参数

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

RTCASRConfig

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

使用自动语音识别服务所需校验信息

成员变量

类型 名称
String userId
String accessToken
String secretKey
ASRAuthorizationType authorizationType
String cluster
String appId

变量说明

userId

public String com.ss.bytertc.engine.data.RTCASRConfig.userId;

用户 ID

accessToken

public String com.ss.bytertc.engine.data.RTCASRConfig.accessToken;

访问令牌

secretKey

public String com.ss.bytertc.engine.data.RTCASRConfig.secretKey;

私钥。Signature 鉴权模式下不能为空,token 鉴权模式下为空。参看关于鉴权

authorizationType

public ASRAuthorizationType com.ss.bytertc.engine.data.RTCASRConfig.authorizationType;

鉴权方式

cluster

public String com.ss.bytertc.engine.data.RTCASRConfig.cluster;

场景信息,参看业务集群

appId

public String com.ss.bytertc.engine.data.RTCASRConfig.appId;

应用 ID

ASRAuthorizationType

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

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

枚举值

类型 说明
ASR_AUTHORIZATION_TYPE_TOKEN(0) Token 鉴权
ASR_AUTHORIZATION_TYPE_SIGNATURE(1) Signature 鉴权

VideoFrameInfo

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

视频帧信息

成员变量

类型 名称
VideoRotation rotation

变量说明

rotation

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

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

VideoPictureType

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

编码帧类型

枚举值

类型 说明
VIDEO_PICTURE_TYPE_UNKNOWN(0) 未知类型
VIDEO_PICTURE_TYPE_I(1) I帧,关键帧,编解码不需要参考其他视频帧
VIDEO_PICTURE_TYPE_P(2) P帧,向前参考帧,编解码需要参考前一帧视频帧
VIDEO_PICTURE_TYPE_B(3) B帧,前后参考帧,编解码需要参考前后两帧视频帧

VideoRotation

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

视频帧旋转角度

枚举值

类型 说明
VIDEO_ROTATION_0(0) 顺时针旋转 0 度
VIDEO_ROTATION_90(90) 顺时针旋转 90 度
VIDEO_ROTATION_180(180) 顺时针旋转 180 度
VIDEO_ROTATION_270(270) 顺时针旋转 270 度

VideoSourceType

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

视频输入源类型

枚举值

类型 说明
VIDEO_SOURCE_TYPE_EXTERNAL(0) 自定义采集视频源
VIDEO_SOURCE_TYPE_INTERNAL(1) 内部采集视频源
VIDEO_SOURCE_TYPE_ENCODED_WITH_SIMULCAST(2) 自定义编码视频源。

你仅需推送分辨率最大的一路编码后视频流,SDK 将自动转码生成多路小流
VIDEO_SOURCE_TYPE_ENCODED_WITHOUT_SIMULCAST(3) 自定义编码视频源。

SDK 不会自动生成多路流,你需要自行生成并推送多路流

RTCEncodedVideoFrame

public class com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame

视频帧信息

成员变量

类型 名称
ByteBuffer buffer
long timestampUs
long timestampDtsUs
int width
int height
VideoCodecType videoCodecType
VideoPictureType videoPictureType
VideoRotation videoRotation

变量说明

buffer

public final ByteBuffer com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.buffer;

视频帧数据指针地址

timestampUs

public long com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.timestampUs;

视频采集时间戳,单位:微秒

timestampDtsUs

public long com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.timestampDtsUs;

视频编码时间戳,单位:微秒

width

public int com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.width;

视频分辨率的宽度,单位:px

height

public int com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.height;

视频分辨率的高度,单位:px

videoCodecType

public VideoCodecType com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.videoCodecType;

视频编码类型。参看 VideoCodecType

videoPictureType

public VideoPictureType com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.videoPictureType;

视频帧类型。参看 VideoPictureType

videoRotation

public VideoRotation com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.videoRotation;

视频帧旋转角度,默认旋转 0 度。参看 VideoRotation

VideoDimensions

public class com.ss.bytertc.engine.video.VideoDimensions

视频编码像素

成员变量

类型 名称
int width
int height

变量说明

width

public int com.ss.bytertc.engine.video.VideoDimensions.width;

宽

height

public int com.ss.bytertc.engine.video.VideoDimensions.height;

高

CpuBufferVideoFrameBuilder

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

构建 CpuBuffer 的视频帧

成员函数

返回 名称
CpuBufferVideoFrameBuilder setTimeStampUs
CpuBufferVideoFrameBuilder setWidth
CpuBufferVideoFrameBuilder setHeight
CpuBufferVideoFrameBuilder setRotation
CpuBufferVideoFrameBuilder setColorSpace
CpuBufferVideoFrameBuilder setPlaneData
CpuBufferVideoFrameBuilder setPlaneStride
CpuBufferVideoFrameBuilder setExternalDataInfo
CpuBufferVideoFrameBuilder setSupplementaryInfo
CpuBufferVideoFrameBuilder setReleaseCallback
VideoFrame build

函数说明

setTimeStampUs

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

设置视频帧的时间戳

传入参数

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

setWidth

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

设置视频帧宽度

传入参数

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

setHeight

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

设置视频帧高度

传入参数

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

setRotation

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

设置视频帧旋转角度

传入参数

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

setColorSpace

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

设置视频帧色彩空间

传入参数

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

setPlaneData

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

设置像素平面数据

传入参数

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

setPlaneStride

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

设置指定像素平面的跨距

传入参数

参数名 类型 说明
planeIndex int 像素平面数据索引
stride int 当前像素平面的跨度

setExternalDataInfo

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

设置 SEI 数据

传入参数

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

setSupplementaryInfo

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

设置补充数据指针

传入参数

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

setReleaseCallback

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

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

传入参数

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

build

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

获取到创建好的视频帧

返回值 创建好的视频帧,参看 VideoFrame

GLTextureVideoFrameBuilder

public class com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder

构建纹理格式视频数据返回帧

成员函数

返回 名称
GLTextureVideoFrameBuilder setTimeStampUs
GLTextureVideoFrameBuilder setWidth
GLTextureVideoFrameBuilder setHeight
GLTextureVideoFrameBuilder setRotation
GLTextureVideoFrameBuilder setColorSpace
GLTextureVideoFrameBuilder setExternalDataInfo
GLTextureVideoFrameBuilder setSupplementaryInfo
GLTextureVideoFrameBuilder setTextureID
GLTextureVideoFrameBuilder setTextureMatrix
GLTextureVideoFrameBuilder setEGLContext
GLTextureVideoFrameBuilder setReleaseCallback
VideoFrame build

函数说明

setTimeStampUs

public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setTimeStampUs(
    long timeStampUs)

设置视频帧的时间戳

传入参数

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

setWidth

public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setWidth(
    int width)

设置视频帧宽度

传入参数

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

setHeight

public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setHeight(
    int height)

设置视频帧高度

传入参数

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

setRotation

public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setRotation(
    VideoRotation rotation)

设置视频帧旋转角度

传入参数

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

setColorSpace

public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setColorSpace(
    ColorSpace colorSpace)

设置视频帧色彩空间

传入参数

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

setExternalDataInfo

public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setExternalDataInfo(
    ByteBuffer externalDataInfo)

设置 SEI 数据

传入参数

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

setSupplementaryInfo

public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setSupplementaryInfo(
    ByteBuffer supplementaryInfo)

设置补充数据指针

传入参数

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

setTextureID

public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setTextureID(
    int textureID)

设置视频帧的纹理 ID

传入参数

参数名 类型 说明
textureID int 纹理 ID

setTextureMatrix

public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setTextureMatrix(
    float[] textureMatrix)

设置视频帧纹理矩阵

传入参数

参数名 类型 说明
textureMatrix float[] 视频帧纹理矩阵

setEGLContext

public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setEGLContext(
    EGLContext eglContext)

设置视频帧的 EGLContext

传入参数

参数名 类型 说明
eglContext EGLContext 视频帧的 EGLContext

setReleaseCallback

public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setReleaseCallback(
    Runnable releaseCallback)

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

传入参数

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

build

public VideoFrame com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.build()

获取到创建好的视频帧

返回值 创建好的视频帧,参看 VideoFrame

IAudioProcessor

public interface com.ss.bytertc.engine.IAudioProcessor

自定义音频处理器

成员函数

返回 名称
int processAudioFrame

函数说明

processAudioFrame

int com.ss.bytertc.engine.IAudioProcessor.processAudioFrame(
    IAudioFrame audioFrame)

获取 RTC SDK 采集得到的音频帧,并进行自定义处理,最终将处理后的音频帧给到 RTC SDK 用于编码传输。

传入参数

参数名 类型 说明
audioFrame IAudioFrame RTC SDK 采集到的音频帧,自定义处理可直接对音频 buffer 进行修改。参看 IAudioFrame。

返回值

0: 未处理
>0: 处理成功
< 0: 处理失败

注意 在进行音频自定义处理前,你需要调用 registerLocalAudioProcessor 设置音频自定义处理器。

RTCStream

public class com.ss.bytertc.engine.RTCStream

流属性。

成员变量

类型 名称
String userId
boolean isScreen
boolean hasVideo
boolean hasAudio
List videoStreamDescriptions

变量说明

userId

public String com.ss.bytertc.engine.RTCStream.userId;

发布此流的用户 ID 。

isScreen

public boolean com.ss.bytertc.engine.RTCStream.isScreen;

此流是否为共享屏幕流。

hasVideo

public boolean com.ss.bytertc.engine.RTCStream.hasVideo;

此流是否包括视频流。

hasAudio

public boolean com.ss.bytertc.engine.RTCStream.hasAudio;

流是否包括音频流。

videoStreamDescriptions

public List<VideoStreamDescription> com.ss.bytertc.engine.RTCStream.videoStreamDescriptions;

视频流的属性。
当远端用户调用 setVideoEncoderConfig 方法发布多个配置的视频流时,此处会包含该用户发布的所有视频流的属性信息。
参看 VideoStreamDescription。

SubscribeConfig

public class com.ss.bytertc.engine.SubscribeConfig

选择订阅配置

成员变量

类型 名称
boolean isScreen
boolean subVideo
boolean subAudio
int sub_width
int sub_height
int framerate

成员函数

返回 名称
SubscribeConfig SubscribeConfig

变量说明

isScreen

public boolean com.ss.bytertc.engine.SubscribeConfig.isScreen;

是否是屏幕流

subVideo

public boolean com.ss.bytertc.engine.SubscribeConfig.subVideo;

是否订阅视频

subAudio

public boolean com.ss.bytertc.engine.SubscribeConfig.subAudio;

是否订阅音频

sub_width

public int com.ss.bytertc.engine.SubscribeConfig.sub_width = 0;

视频宽度,单位:px

sub_height

public int com.ss.bytertc.engine.SubscribeConfig.sub_height = 0;

视频高度,单位:px

framerate

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

期望订阅的最高帧率,单位:fps,默认值为 0,设为大于 0 的值时开始生效。
当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。
仅码流支持 SVC 分级编码特性时方可生效。

函数说明

SubscribeConfig

public com.ss.bytertc.engine.SubscribeConfig.SubscribeConfig(
    boolean isScreen,
    boolean subVideo,
    boolean subAudio,
    int videoIndex,
    int svcLayer,
    int sub_width,
    int sub_height,
    int sub_video_index)

SVCLayer

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

时域分层订阅层级

枚举值

类型 说明
SVCLayerDefault(0) 不指定分层(默认值)
SVCLayerBase(1) T0层
SVCLayerMain(2) T0+T1层
SVCLayerHigh(3) T0+T1+T2层

SubscribeState

public enum com.ss.bytertc.engine.SubscribeState

订阅媒体流状态

枚举值

类型 说明
SUBSCRIBE_STATE_SUCCESS 订阅/取消订阅流成功
SUBSCRIBE_STATE_FAILED_NOT_IN_ROOM 订阅/取消订阅流失败,本地用户未在房间中
SUBSCRIBE_STATE_FAILED_STREAM_NOT_FOUND 订阅/取消订阅流失败,房间内未找到指定的音视频流
SUBSCRIBE_STATE_FAILED_SIGNAL 订阅/取消订阅流失败,信令错误,请重试

SubscribeVideoConfig

public class com.ss.bytertc.engine.SubscribeVideoConfig

视频订阅配置信息

成员函数

返回 名称
SubscribeVideoConfig SubscribeVideoConfig

函数说明

SubscribeVideoConfig

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

视频订阅配置信息

传入参数

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

SysStats

public class com.ss.bytertc.engine.SysStats

CPU 和内存统计信息

成员变量

类型 名称
int cpu_cores
double cpu_app_usage
double cpu_total_usage
double memory_usage
long full_memory
long total_memory_usage
long free_memory
double memory_ratio
double total_memory_ratio

变量说明

cpu_cores

public int com.ss.bytertc.engine.SysStats.cpu_cores;

设备的 CPU 核数

cpu_app_usage

public double com.ss.bytertc.engine.SysStats.cpu_app_usage;

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

cpu_total_usage

public double com.ss.bytertc.engine.SysStats.cpu_total_usage;

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

memory_usage

public double com.ss.bytertc.engine.SysStats.memory_usage;

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

full_memory

public long com.ss.bytertc.engine.SysStats.full_memory;

设备的内存大小 单位:MB

total_memory_usage

public long com.ss.bytertc.engine.SysStats.total_memory_usage;

系统已使用内存 MB

free_memory

public long com.ss.bytertc.engine.SysStats.free_memory;

系统当前空闲内存(MB)

memory_ratio

public double com.ss.bytertc.engine.SysStats.memory_ratio;

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

total_memory_ratio

public double com.ss.bytertc.engine.SysStats.total_memory_ratio;

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

UserInfo

public class com.ss.bytertc.engine.UserInfo

用户信息

成员函数

返回 名称
UserInfo UserInfo

函数说明

UserInfo

public com.ss.bytertc.engine.UserInfo.UserInfo(
    String uid,
    String extraInfo)

用户信息

传入参数

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

VideoCanvas

public class com.ss.bytertc.engine.VideoCanvas

视频帧渲染设置

成员变量

类型 名称
int RENDER_MODE_HIDDEN
int RENDER_MODE_FIT
int RENDER_MODE_Fill
View renderView
int renderMode
String roomId
String uid
String streamId
boolean isScreen
int background_color

变量说明

RENDER_MODE_HIDDEN

public static final int com.ss.bytertc.engine.VideoCanvas.RENDER_MODE_HIDDEN = 1;

视窗填满优先。
视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。
缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长大于等于视窗对应边长。

RENDER_MODE_FIT

public static final int com.ss.bytertc.engine.VideoCanvas.RENDER_MODE_FIT = 2;

视频帧内容全部显示优先。
视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将填充 background_color。
缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长小于等于视窗对应边长。

RENDER_MODE_Fill

public static final int com.ss.bytertc.engine.VideoCanvas.RENDER_MODE_Fill = 3;

视频帧自适应画布
视频帧非等比缩放,直至画布被填满。在此过程中,视频帧的长宽比例可能会发生变化。

renderView

public View com.ss.bytertc.engine.VideoCanvas.renderView;

需要渲染的视图

renderMode

public int com.ss.bytertc.engine.VideoCanvas.renderMode;

渲染模式:可选 RENDER_MODE_HIDDEN, RENDER_MODE_FIT 和 RENDER_MODE_Fill。

roomId

public String com.ss.bytertc.engine.VideoCanvas.roomId;

房间 ID

uid

public String com.ss.bytertc.engine.VideoCanvas.uid;

用户 ID

streamId

public String com.ss.bytertc.engine.VideoCanvas.streamId;

视图对应的公共流ID

isScreen

public boolean com.ss.bytertc.engine.VideoCanvas.isScreen;

是否是屏幕流

background_color

public int com.ss.bytertc.engine.VideoCanvas.background_color;

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

VideoStreamDescription

public class com.ss.bytertc.engine.VideoStreamDescription

视频流参数描述

成员变量

类型 名称
Pair videoSize
int frameRate
int maxKbps
ScaleMode scaleMode
EncoderPreference encodePreference

变量说明

videoSize

public Pair<Integer, Integer> com.ss.bytertc.engine.VideoStreamDescription.videoSize;

视频分辨率

frameRate

public int com.ss.bytertc.engine.VideoStreamDescription.frameRate;

视频帧率

maxKbps

public int com.ss.bytertc.engine.VideoStreamDescription.maxKbps;

最高编码码率(千比特每秒)。建议使用 -1,SDK 会自动根据分辨率和帧率适配合适的码率。

scaleMode

public ScaleMode com.ss.bytertc.engine.VideoStreamDescription.scaleMode = ScaleMode.SCALE_MODE_AUTO;

缩放策略,默认为自动模式。

encodePreference

public EncoderPreference com.ss.bytertc.engine.VideoStreamDescription.encodePreference = EncoderPreference.MaintainFramerate;

编码策略偏好,详见 EncoderPreference

ScaleMode

public enum com.ss.bytertc.engine.VideoStreamDescription.ScaleMode

视频帧缩放模式,可设置缩放以适应视窗。

枚举值

类型 说明
SCALE_MODE_AUTO(0) 自动模式,默认为视窗填满。
SCALE_MODE_STRETCH(1) 对视频帧进行缩放,直至视频帧和视窗分辨率一致为止。这一过程不保证等比缩放。
SCALE_MODE_FIT_WITH_CROPPING(2) 视窗填满优先。

视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。

缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长大于等于视窗对应边长。
SCALE_MODE_FIT_WITH_FILLING(3) 视频帧内容全部显示优先。

视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将被涂黑。

缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长小于等于视窗对应边长。

CodecMode

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

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

枚举值

类型 说明
CODEC_MODE_AUTO(0) 自动模式
CODEC_MODE_HARDWARE(1) 硬编码模式
CODEC_MODE_SOFTWARE(2) 软编码模式

VideoCodecType

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

编码模式(H264, ByteVC1)

枚举值

类型 说明
CODEC_TYPE_AUTO(0) 自动选择编码模式
CODEC_TYPE_H264(1) H264
CODEC_TYPE_BYTEVC1(2) ByteVC1

EncoderPreference

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

编码策略偏好

枚举值

类型 说明
Disabled(0) 无偏好
MaintainFramerate(1) 帧率优先
MaintainQuality(2) 质量优先
Balance(3) 平衡质量与帧率

MultiRoomConfig

public class com.ss.bytertc.engine.MultiRoomConfig

多房间参数配置

成员变量

类型 名称
RTCEngine.ChannelProfile profile
boolean isAutoSubscribeAudio
boolean isAutoSubscribeVideo
RemoteVideoConfig remoteVideoConfig

成员函数

返回 名称
int getRemoteVideoConfigWidth
int getRemoteVideoConfigHeight
int getRemoteVideoConfigFrameRate

变量说明

profile

public RTCEngine.ChannelProfile com.ss.bytertc.engine.MultiRoomConfig.profile;

房间模式,参看 ChannelProfile,默认为普通音视频通话模式,进房后不可更改。

isAutoSubscribeAudio

public boolean com.ss.bytertc.engine.MultiRoomConfig.isAutoSubscribeAudio;

是否自动订阅音频流,默认为自动订阅。

isAutoSubscribeVideo

public boolean com.ss.bytertc.engine.MultiRoomConfig.isAutoSubscribeVideo;

是否自动订阅摄像头采集的视频流,默认为自动订阅。
屏幕流始终自动订阅,不受该方法影响。

remoteVideoConfig

public RemoteVideoConfig com.ss.bytertc.engine.MultiRoomConfig.remoteVideoConfig = null;

远端视频流参数,参看 RemoteVideoConfig

函数说明

getRemoteVideoConfigWidth

public int com.ss.bytertc.engine.MultiRoomConfig.getRemoteVideoConfigWidth()

getRemoteVideoConfigHeight

public int com.ss.bytertc.engine.MultiRoomConfig.getRemoteVideoConfigHeight()

getRemoteVideoConfigFrameRate

public int com.ss.bytertc.engine.MultiRoomConfig.getRemoteVideoConfigFrameRate()

RTCRoomConfig

public class com.ss.bytertc.engine.RTCRoomConfig

房间参数配置

成员变量

类型 名称
RTCEngine.ChannelProfile profile
boolean isAutoPublish
boolean isAutoSubscribeAudio
boolean isAutoSubscribeVideo
RemoteVideoConfig remoteVideoConfig

成员函数

返回 名称
int getRemoteVideoConfigWidth
int getRemoteVideoConfigHeight
int getRemoteVideoConfigFrameRate

变量说明

profile

public RTCEngine.ChannelProfile com.ss.bytertc.engine.RTCRoomConfig.profile;

房间模式,参看 ChannelProfile,默认为 CHANNEL_PROFILE_COMMUNICATION,进房后不可更改。

isAutoPublish

public boolean com.ss.bytertc.engine.RTCRoomConfig.isAutoPublish;

是否自动发布音视频流,默认为自动发布。
若调用 setUserVisibility 将自身可见性设为 false,无论是默认的自动发布流还是手动设置的自动发布流都不会进行发布,你需要将自身可见性设为 true 后方可发布。

isAutoSubscribeAudio

public boolean com.ss.bytertc.engine.RTCRoomConfig.isAutoSubscribeAudio;

是否自动订阅音频流,默认为自动订阅。

isAutoSubscribeVideo

public boolean com.ss.bytertc.engine.RTCRoomConfig.isAutoSubscribeVideo;

是否自动订阅主视频流,默认为自动订阅。
屏幕流始终自动订阅,不受该参数影响。

remoteVideoConfig

public RemoteVideoConfig com.ss.bytertc.engine.RTCRoomConfig.remoteVideoConfig = null;

远端视频流参数,参看 RemoteVideoConfig

函数说明

getRemoteVideoConfigWidth

public int com.ss.bytertc.engine.RTCRoomConfig.getRemoteVideoConfigWidth()

getRemoteVideoConfigHeight

public int com.ss.bytertc.engine.RTCRoomConfig.getRemoteVideoConfigHeight()

getRemoteVideoConfigFrameRate

public int com.ss.bytertc.engine.RTCRoomConfig.getRemoteVideoConfigFrameRate()