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 | 同时订阅音频和视频 |
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 | 同时控制音频和视频 |
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) | 同时控制音频和视频 |
public enum com.ss.bytertc.engine.RTCEngine.RtcMode
引擎工作模式
| 类型 | 说明 |
|---|---|
| RTC_MODE_GENERAL(0) | 通用模式,该模式下只能进行普通会议模式的语音通话,开启自动发布订阅。 |
| RTC_MODE_LOCAL_AUDIO(1) | 游戏语音模式,该模式下关闭自动发布订阅,会按照游戏业务的策略进行主动发布订阅语音。 |
| 返回 | 名称 |
|---|---|
| int | value |
public int com.ss.bytertc.engine.RTCEngine.RtcMode.value()
获取当前值
返回值 当前值
public enum com.ss.bytertc.engine.RTCEngine.SubscribeMode
订阅模式选项。
| 类型 | 说明 |
|---|---|
| AUTO_SUBSCRIBE_MODE(0) | 自动订阅模式。SDK 会自动为用户订阅房间中的每一路流。默认值。 |
| MANUAL_SUBSCRIBE_MODE(1) | 手动订阅模式。SDK 不为自动订阅流。 |
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 |
public int com.ss.bytertc.engine.RTCEngine.RangeAudioMode.value()
获取当前值
返回值 当前值
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 会使用低延时设置。 当你的场景非游戏或云游戏场景,又需要极低延时的体验时,可以使用该模式。 该模式下,音视频通话延时会明显降低,但同时弱网抗性、通话音质等均会受到一定影响。 在使用此模式前,强烈建议咨询技术支持同学。 |
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) | 游戏媒体场景 此场景下,蓝牙耳机使用通话音量,其它设备使用媒体音量。 外放通话且无游戏音效消除优化时,极易出现回声和啸叫。 |
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 等音乐场景。 游戏场景不建议使用。 |
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) | 机器人 |
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) | 录音棚 |
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) | 下行网络不佳或设备性能不足时,取消接收视频,仅接收音频。 |
public enum com.ss.bytertc.engine.RTCEngine.PublishFallbackOption
发布端音视频流回退选项
| 类型 | 说明 |
|---|---|
| kPublishFallbackDisable(0) | 上行网络不佳或设备性能不足时,不对音视频流作回退处理。默认设置。 |
| kPublishFallbackSimulcastSmallVideoOnly(1) | 上行网络不佳或设备性能不足时,发布的视频流会从大流到小流依次降级,直到与当前网络性能匹配从大流开始做降级处理,具体降级规则参看性能回退文档。 |
public enum com.ss.bytertc.engine.RTCEngine.RemoteUserPriority
远端用户优先级,在性能不足需要回退时,会优先回退优先级低的用户的音视频流。
| 类型 | 说明 |
|---|---|
| REMOTE_USER_PRIORITY_LOW(0) | 用户优先级为低,默认值。 |
| REMOTE_USER_PRIORITY_MEDIUM(100) | 用户优先级为正常。 |
| REMOTE_USER_PRIORITY_HIGH(200) | 用户优先级为高。 |
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 | 连接断开后重连成功。 |
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") | 耳返延迟大 |
public enum com.ss.bytertc.engine.RTCEngine.RecordingType
本地录制的媒体类型
| 类型 | 说明 |
|---|---|
| RECORD_AUDIO_ONLY(0) | 只录制音频 |
| RECORD_VIDEO_ONLY(1) | 只录制视频 |
| RECORD_VIDEO_AND_AUDIO(2) | 同时录制音频和视频 |
public enum com.ss.bytertc.engine.RTCEngine.TorchState
相机闪光灯状态
| 类型 | 说明 |
|---|---|
| TORCH_STATE_OFF(0) | 关闭 |
| TORCH_STATE_ON(1) | 打开 |
public class com.ss.bytertc.engine.data.AudioFormat
音频参数格式
| 类型 | 名称 |
|---|---|
| AudioSampleRate | sampleRate |
| AudioChannel | channel |
public AudioSampleRate com.ss.bytertc.engine.data.AudioFormat.sampleRate;
音频采样率,参看 AudioSampleRate。
public AudioChannel com.ss.bytertc.engine.data.AudioFormat.channel;
音频声道,参看 AudioChannel。
public class com.ss.bytertc.engine.data.AudioMixingConfig
混音配置
| 类型 | 名称 |
|---|---|
| AudioMixingType | type |
| int | playCount |
| int | position |
| long | callbackOnProgressInterval |
public AudioMixingType com.ss.bytertc.engine.data.AudioMixingConfig.type;
混音播放类型,详见 AudioMixingType
public int com.ss.bytertc.engine.data.AudioMixingConfig.playCount;
混音播放次数
public int com.ss.bytertc.engine.data.AudioMixingConfig.position;
混音时音频文件播放进度条位置,参数为整数,单位为毫秒
public long com.ss.bytertc.engine.data.AudioMixingConfig.callbackOnProgressInterval;
设置音频文件播放进度回调的时间间隔,单位毫秒,并按照设置的值触发 onAudioMixingPlayingProgress 回调,默认不回调。
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) | 能同时听到音频文件中左右声道的音频 |
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) | 设置混音文件的播放速度不合法 |
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混音播放结束 |
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) | 在本地播放并发送到远端 |
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 |
public int com.ss.bytertc.engine.data.AudioPlaybackDevice.value()
获取当前值
返回值 当前值
public class com.ss.bytertc.engine.data.AudioPropertiesConfig
音频属性信息提示的相关配置
| 类型 | 名称 |
|---|---|
| int | interval |
| boolean | enable_spectrum |
| boolean | enable_vad |
public int com.ss.bytertc.engine.data.AudioPropertiesConfig.interval;
信息提示间隔,单位:ms
注意:
0 && <=100: 开启信息提示,不合法的 interval 值,SDK 自动设置为 100ms
100: 开启信息提示,并将信息提示间隔设置为此值
<= 0: 关闭信息提示
0 && <=100: 开启信息提示,不合法的 interval 值,SDK 自动设置为 100ms
100: 开启信息提示,并将信息提示间隔设置为此值
public boolean com.ss.bytertc.engine.data.AudioPropertiesConfig.enable_spectrum = false;
是否开启音频频谱检测
public boolean com.ss.bytertc.engine.data.AudioPropertiesConfig.enable_vad = false;
是否开启人声检测 (VAD)
public class com.ss.bytertc.engine.data.AudioPropertiesInfo
音频属性信息
| 类型 | 名称 |
|---|---|
| int | linearVolume |
| int | nonlinearVolume |
| float[] | spectrum |
| int | vad |
public int com.ss.bytertc.engine.data.AudioPropertiesInfo.linearVolume;
线性音量,与原始音量呈线性关系,数值越大,音量越大。取值范围是:[0,255]。
public int com.ss.bytertc.engine.data.AudioPropertiesInfo.nonlinearVolume;
非线性音量。由原始音量的对数值转化而来,因此在中低音量时更灵敏,可以用作 Active Speaker(房间内最活跃用户)的识别。取值范围是:[-127,0],单位 dB。
public float[] com.ss.bytertc.engine.data.AudioPropertiesInfo.spectrum = new float[SPECTRUM_SIZE];
频谱数组
public int com.ss.bytertc.engine.data.AudioPropertiesInfo.vad;
人声检测(VAD)结果
public enum com.ss.bytertc.engine.data.AudioRouteDevice
音频播放路由
| 返回 | 名称 |
|---|---|
| int | value |
public int com.ss.bytertc.engine.data.AudioRouteDevice.value()
获取当前值
返回值 当前值
public enum com.ss.bytertc.engine.data.AudioSourceType
音频输入源类型
| 类型 | 说明 |
|---|---|
| AUDIO_SOURCE_TYPE_EXTERNAL(0) | 自定义采集音频源 |
| AUDIO_SOURCE_TYPE_INTERNAL(1) | RTC SDK 内部采集音频源 |
public enum com.ss.bytertc.engine.data.CameraId
移动端摄像头
| 类型 | 说明 |
|---|---|
| CAMERA_ID_FRONT (0) | 前置摄像头 |
| CAMERA_ID_BACK (1) | 后置摄像头(默认设置) |
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] |
public enum com.ss.bytertc.engine.data.EarMonitorMode
是否开启耳返功能
| 类型 | 说明 |
|---|---|
| EAR_MONITOR_MODE_OFF(0) | 不开启(默认设置) |
| EAR_MONITOR_MODE_ON(1) | 开启 |
public class com.ss.bytertc.engine.data.ForwardStreamEventInfo
跨房间转发媒体流过程中的不同目标房间发生的事件
| 类型 | 名称 |
|---|---|
| String | roomId |
| ForwardStreamEvent | event |
public String com.ss.bytertc.engine.data.ForwardStreamEventInfo.roomId;
跨房间转发媒体流过程中的发生该事件的目标房间 ID
空字符串代表所有目标房间
public ForwardStreamEvent com.ss.bytertc.engine.data.ForwardStreamEventInfo.event;
跨房间转发媒体流过程中该目标房间发生的事件
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 。 |
public class com.ss.bytertc.engine.data.ForwardStreamInfo
媒体流跨房间转发的目标房间的相关信息
| 类型 | 名称 |
|---|---|
| String | roomId |
| String | token |
public String com.ss.bytertc.engine.data.ForwardStreamInfo.roomId;
跨间转发媒体流过程中目标房间 ID
public String com.ss.bytertc.engine.data.ForwardStreamInfo.token;
用于向该房间转发媒体流的 Token。
如果 Token 无效,转发失败。
public class com.ss.bytertc.engine.data.ForwardStreamStateInfo
跨房间转发媒体流过程中的不同目标房间的状态和错误信息
| 类型 | 名称 |
|---|---|
| String | roomId |
| ForwardStreamState | state |
| ForwardStreamError | error |
public String com.ss.bytertc.engine.data.ForwardStreamStateInfo.roomId;
跨房间转发媒体流过程中目标房间 ID
空字符串代表所有目标房间
public ForwardStreamState com.ss.bytertc.engine.data.ForwardStreamStateInfo.state;
跨房间转发媒体流过程中该目标房间的状态,参看 ForwardStreamState
public ForwardStreamError com.ss.bytertc.engine.data.ForwardStreamStateInfo.error;
跨房间转发媒体流过程中该目标房间抛出的错误码,参看 ForwardStreamError
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 |
public int com.ss.bytertc.engine.data.ForwardStreamStateInfo.ForwardStreamState.value()
获取当前值
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) | 服务端不支持转发功能 |
public class com.ss.bytertc.engine.data.HumanOrientation
三维朝向信息,三个向量需要两两垂直。
| 类型 | 名称 |
|---|---|
| Orientation | forward |
| Orientation | right |
| Orientation | up |
| 返回 | 名称 |
|---|---|
| HumanOrientation | HumanOrientation |
public Orientation com.ss.bytertc.engine.data.HumanOrientation.forward;
正前方朝向向量
public Orientation com.ss.bytertc.engine.data.HumanOrientation.right;
正右方朝向向量
public Orientation com.ss.bytertc.engine.data.HumanOrientation.up;
正上方朝向向量
public com.ss.bytertc.engine.data.HumanOrientation.HumanOrientation(
Orientation forward,
Orientation right,
Orientation up)
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| forward | Orientation | |
| right | Orientation | |
| up | Orientation |
public class com.ss.bytertc.engine.data.LocalAudioPropertiesInfo
本地音频属性信息
| 类型 | 名称 |
|---|---|
| StreamIndex | streamIndex |
| AudioPropertiesInfo | audioPropertiesInfo |
public StreamIndex com.ss.bytertc.engine.data.LocalAudioPropertiesInfo.streamIndex;
流属性,主流或屏幕流。参看 StreamIndex。
public AudioPropertiesInfo com.ss.bytertc.engine.data.LocalAudioPropertiesInfo.audioPropertiesInfo;
音频属性信息,详见 AudioPropertiesInfo。
public enum com.ss.bytertc.engine.data.MediaInputType
视频输入类型
| 类型 | 说明 |
|---|---|
| MEDIA_INPUT_TYPE_EXTERNAL(0) | 自定义采集。 设置完成后方可直接向 SDK 推送视频帧。 |
| MEDIA_INPUT_TYPE_INTERNAL(1) | 内部 SDK 采集。 此设置仅切换至内部采集,你需继续调用 startVideoCapture 开启内部采集。 |
public enum com.ss.bytertc.engine.data.MirrorType
镜像类型
| 类型 | 说明 |
|---|---|
| MIRROR_TYPE_NONE(0) | 本地预览和编码传输时均无镜像效果 |
| MIRROR_TYPE_RENDER(1) | 本地预览时有镜像效果,编码传输时无镜像效果 |
| MIRROR_TYPE_RENDER_AND_ENCODER(3) | 本地预览和编码传输时均有镜像效果 |
public enum com.ss.bytertc.engine.data.MuteState
音视频流的发送/播放状态
| 类型 | 说明 |
|---|---|
| MUTE_STATE_OFF(0) | 发送 |
| MUTE_STATE_ON(1) | 停止发送 |
public class com.ss.bytertc.engine.data.RemoteAudioPropertiesInfo
远端音频属性信息
| 类型 | 名称 |
|---|---|
| RemoteStreamKey | streamKey |
| AudioPropertiesInfo | audioPropertiesInfo |
public RemoteStreamKey com.ss.bytertc.engine.data.RemoteAudioPropertiesInfo.streamKey;
远端流信息,详见 RemoteStreamKey
public AudioPropertiesInfo com.ss.bytertc.engine.data.RemoteAudioPropertiesInfo.audioPropertiesInfo;
音频属性信息,详见 AudioPropertiesInfo
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) | 采集音频和视频 |
public enum com.ss.bytertc.engine.data.StreamIndex
流属性
| 类型 | 说明 |
|---|---|
| STREAM_INDEX_MAIN(0) | 主流。包括: + 由摄像头/麦克风通过内部采集机制,采集到的视频/音频; + 通过自定义采集,采集到的视频/音频。 |
| STREAM_INDEX_SCREEN(1) | 屏幕流。屏幕共享时共享的视频流,或来自声卡的本地播放音频流。 |
public class com.ss.bytertc.engine.data.StreamSycnInfoConfig
媒体流信息同步的相关配置
| 类型 | 名称 |
|---|---|
| StreamIndex | streamIndex |
| int | repeatCount |
| SyncInfoStreamType | streamType |
public StreamIndex com.ss.bytertc.engine.data.StreamSycnInfoConfig.streamIndex;
流属性,主流或屏幕流。见枚举类 StreamIndex
STREAM_INDEX_MAIN(0): 主流STREAM_INDEX_SCREEN(1): 屏幕流
public int com.ss.bytertc.engine.data.StreamSycnInfoConfig.repeatCount;
信息发送的重复次数
public SyncInfoStreamType com.ss.bytertc.engine.data.StreamSycnInfoConfig.streamType;
媒体流信息同步的流类型,见 SyncInfoStreamType
public enum com.ss.bytertc.engine.data.StreamSycnInfoConfig.SyncInfoStreamType
媒体流信息同步的流类型
| 类型 | 说明 |
|---|---|
| SYNC_INFO_STREAM_TYPE_AUDIO | 音频流 |
public enum com.ss.bytertc.engine.data.VideoFrameType
视频帧的类型,用于标识视频帧是 CPUBuffer 还是 TextureBuffer
| 类型 | 说明 |
|---|---|
| kVideoFrameTypeRawMemory(0) | CPU Buffer |
| kVideoFrameTypeGLTexture(2) | GL Texture |
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格式 |
public enum com.ss.bytertc.engine.data.VideoRotationMode
视频旋转模式
| 类型 | 说明 |
|---|---|
| FollowApp(0) | App 方向 |
| FollowGSensor(1) | 重力方向 |
public class com.ss.bytertc.engine.data.VirtualBackgroundSource
虚拟背景对象。
| 类型 | 名称 |
|---|---|
| VirtualBackgroundSourceType | sourceType |
| int | sourceColor |
| String | sourcePath |
public VirtualBackgroundSourceType com.ss.bytertc.engine.data.VirtualBackgroundSource.sourceType;
虚拟背景类型,详见 VirtualBackgroundSourceType 。
public int com.ss.bytertc.engine.data.VirtualBackgroundSource.sourceColor;
纯色背景使用的颜色。
格式为 0xAARRGGBB 。
public String com.ss.bytertc.engine.data.VirtualBackgroundSource.sourcePath;
自定义图片背景使用的图片的绝对路径。
注意:
分辨率超过 1080P 时,图片会被等比缩放。背景图片和视频分辨率不一致时,图片会被裁剪缩放。
支持的格式为 jpg、jpeg、和 png。
public enum com.ss.bytertc.engine.data.VirtualBackgroundSourceType
虚拟背景类型。
| 类型 | 说明 |
|---|---|
| SourceTypeColor | 使用纯色背景替换视频原有背景。 |
| SourceTypeImage | 使用自定义图片背景替换视频原有背景。 |
public interface com.ss.bytertc.engine.handler.IRTCASREngineEventHandler
语音识别服务使用状态回调
| 返回 | 名称 |
|---|---|
| void | onSuccess |
| void | onMessage |
| void | onError |
public void com.ss.bytertc.engine.handler.IRTCASREngineEventHandler.onSuccess()
语音识别服务开启成功回调
public void com.ss.bytertc.engine.handler.IRTCASREngineEventHandler.onMessage(
String message)
语音转文字成功后回调,该回调返回识别后的全量消息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| message | String | 识别完成后得到的文字消息 |
注意 若识别过程中发生了网络连接中断,则重连后回调的信息中只包含重连后识别的文字消息,不再包含上一次连接后识别的消息。
public void com.ss.bytertc.engine.handler.IRTCASREngineEventHandler.onError(
int errorCode,
String errorMessage)
当语音识别服务内部发生错误事件时触发该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| errorCode | int | 错误码 • < 0: 参数错误或 API 调用顺序错误,参看 RTCASRErrorCode; • >0: 参看 语音识别服务错误码 |
| errorMessage | String | 错误原因说明。 |
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 技术支持。 |
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 |
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQuality.NETWORK_QUALITY_UNKNOWN = 0;
媒体流网络质量未知。
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQuality.NETWORK_QUALITY_EXCELLENT = 1;
媒体流网络质量极好。
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQuality.NETWORK_QUALITY_GOOD = 2;
媒体流网络质量好。
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQuality.NETWORK_QUALITY_POOR = 3;
媒体流网络质量较差但不影响沟通。
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQuality.NETWORK_QUALITY_BAD = 4;
媒体流网络质量差沟通不顺畅。
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQuality.NETWORK_QUALITY_VERY_BAD = 5;
媒体流网络质量非常差。
public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkDetectionStopReason
通话前探测的停止原因 onNetworkDetectionStopped 回调的参数类型
| 类型 | 说明 |
|---|---|
| NetworkDetectionStopReasonUser (0) | 用户主动停止 |
| NetworkDetectionStopReasonTimeout (1) | 探测超过三分钟 |
| NetworkDetectionStopReasonConnectionLost (2) | 探测网络连接断开。 当超过 12s 没有收到回复,SDK 将断开网络连接,并且不再尝试重连。 |
| NetworkDetectionStopReasonStreaming (3) | 本地开始推拉流,停止探测 |
| NetworkDetectionStopReasonInnerErr (4) | 网络探测失败,内部异常 |
public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkDetectionLinkType
通话前探测链接的类型 onNetworkDetectionResult 回调的参数类型
| 类型 | 说明 |
|---|---|
| NetworkDetectionLinkTypeUp (0) | 上行网络探测 |
| NetworkDetectionLinkTypeDown (1) | 下行网络探测 |
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) | 由性能恢复导致的发布端音视频流恢复。 |
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) | 其他原因。 |
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 |
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) | 本地视频采集设备被移除 |
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) | 远端视频流播放失败 |
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。 |
public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RecordingState
本地录制的状态
| 类型 | 说明 |
|---|---|
| RECORDING_STATE_ERROE(0) | 录制异常 |
| RECORDING_STATE_PROCESSING(1) | 录制进行中 |
| RECORDING_STATE_SUCCESS(2) | 录制文件保存成功,调用 stopFileRecording 结束录制之后才会收到该状态码。 |
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) | 其他异常 |
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 秒,仍然会继续重连。 |
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 |
public String com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamSwitch.uid;
订阅的音视频流的发布者的用户 ID
public boolean com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamSwitch.isScreen;
是否是屏幕共享流
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamSwitch.before_video_index;
流切换前订阅视频流的分辨率对应的索引
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamSwitch.after_video_index;
流切换后订阅视频流的分辨率对应的索引
public boolean com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamSwitch.before_enable;
流切换前是否有视频流
public boolean com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamSwitch.after_enable;
流切换后是否有视频流
public FallbackOrRecoverReason com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamSwitch.reason;
流切换原因,详见类型 FallbackOrRecoverReason 。
public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RtcUser
用户信息
| 类型 | 名称 |
|---|---|
| String | userId |
| String | metaData |
public String com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RtcUser.userId;
用户 id
public String com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RtcUser.metaData;
元数据
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) | 发送失败 |
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) |
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 |
| 返回 | 名称 |
|---|---|
| void | reset |
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.totalDuration;
进房到退房之间累计时长,单位为 s
public long com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.txBytes;
本地用户的总发送字节数 (bytes),累计值
public long com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.rxBytes;
本地用户的总接收字节数 (bytes),累计值
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.txKBitRate;
发送码率(kbps),获取该数据时的瞬时值
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.rxKBitRate;
接收码率(kbps),获取该数据时的瞬时值
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.txAudioKBitRate;
音频包的发送码率(kbps),获取该数据时的瞬时值
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.rxAudioKBitRate;
音频接收码率(kbps),获取该数据时的瞬时值
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.txVideoKBitRate;
视频发送码率(kbps),获取该数据时的瞬时值
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.rxVideoKBitRate;
视频接收码率(kbps),获取该数据时的瞬时值
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.users;
当前房间内的可见用户人数
public double com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.cpuTotalUsage;
当前系统的 CPU 使用率 (%)
public double com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.cpuAppUsage;
当前应用的 CPU 使用率 (%)
public double com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.txLostrate;
当前应用的上行丢包率,取值范围为 [0, 1]
public double com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.rxLostrate;
当前应用的下行丢包率,取值范围为 [0, 1]
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.rtt;
客户端到服务端数据传输的往返时延(单位 ms)
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.txJitter;
系统上行网络抖动(ms)
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.rxJitter;
系统下行网络抖动(ms)
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.reset()
重置所有的 RTCRoomStats 成员变量的值,重新开始统计。
public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.AudioVolumeInfo
声音音量信息。包含每个说话者的用户 id 和音量信息
| 类型 | 名称 |
|---|---|
| String | uid |
| int | nonlinearVolume |
| int | linearVolume |
public String com.ss.bytertc.engine.handler.IRTCEngineEventHandler.AudioVolumeInfo.uid;
说话者的用户 id
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.AudioVolumeInfo.nonlinearVolume;
说话者的音量,范围为 -127(最低)- 0(最高)
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.AudioVolumeInfo.linearVolume;
说话者的音量,范围为 0(最低)- 255(最高)
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 |
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.width;
远端视频流宽度
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.height;
远端视频流高度
public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.videoLossRate;
视频丢包率。统计周期内的视频下行丢包率,单位为 % ,取值范围为 [0,1] 。
public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.receivedKBitrate;
接收码率。统计周期内的视频接收码率,单位为 kbps 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.decoderOutputFrameRate;
解码器输出帧率。统计周期内的视频解码器输出帧率,单位 fps 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.rendererOutputFrameRate;
渲染帧率。统计周期内的视频渲染帧率,单位 fps 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.stallCount;
卡顿次数。统计周期内的卡顿次数。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.stallDuration;
卡顿时长。统计周期内的视频卡顿总时长。单位 ms 。
public long com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.e2eDelay;
用户体验级别的端到端延时,从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为毫秒
public boolean com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.isScreen;
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.statsInterval;
统计间隔,此次统计周期的间隔,单位为 ms 。
注意: 此字段用于设置回调的统计周期,目前设置为 2s 。 此字段用于设置回调的统计周期,目前设置为 2s 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.rtt;
往返时延,单位为 ms 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.frozenRate;
远端用户在进房后发生视频卡顿的累计时长占视频总有效时长的百分比(%)。视频有效时长是指远端用户进房发布视频流后,除停止发送视频流和禁用视频模块之外的视频时长。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.videoIndex;
对应多种分辨率的流的下标,详见 VideoStreamDescription 。
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 |
public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.sentKBitrate;
发送码率。此次统计周期内的视频发送码率,单位为 kbps 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.inputFrameRate;
采集帧率。此次统计周期内的视频采集帧率,单位为 fps 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.sentFrameRate;
发送帧率。此次统计周期内的视频发送帧率,单位为 fps 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.encoderOutputFrameRate;
编码器输出帧率。当前编码器在此次统计周期内的输出帧率,单位为 fps 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.rendererOutputFrameRate;
本地渲染帧率。此次统计周期内的本地视频渲染帧率,单位为 fps 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.targetKBitrate;
目标发送码率。此次统计周期内的视频目标发送码率,单位为 kbps 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.targetFrameRate;
目标发送帧率。当前编码器在此次统计周期内的目标发送帧率,单位为 fps 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.statsInterval;
统计间隔,单位为 ms 。
注意: 此字段用于设置回调的统计周期,默认设置为 2s 。 此字段用于设置回调的统计周期,默认设置为 2s 。
public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.videoLossRate;
视频丢包率。此次统计周期内的视频上行丢包率,取值范围: [0,1] 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.rtt;
往返时延,单位为 ms 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.encodedBitrate;
视频编码码率。此次统计周期内的视频编码码率,单位为 kbps 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.encodedFrameWidth;
视频编码宽度,单位为 px 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.encodedFrameHeight;
视频编码高度,单位为 px 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.encodedFrameCount;
此次统计周期内发送的视频帧总数。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.codecType;
视频的编码类型,具体参考 VideoCodecType 。
public boolean com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStats.isScreen;
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
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 |
public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.audioLossRate;
音频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。
public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.receivedKBitrate;
接收码率。统计周期内的音频接收码率,单位为 kbps 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.stallCount;
音频卡顿次数。统计周期内的卡顿次数。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.stallDuration;
音频卡顿时长。统计周期内的卡顿时长,单位为 ms 。
public long com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.e2eDelay;
用户体验级别的端到端延时。从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为 ms 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.playoutSampleRate;
播放采样率。统计周期内的音频播放采样率信息,单位为 Hz 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.statsInterval;
统计间隔。此次统计周期的间隔,单位为 ms 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.rtt;
客户端到服务端数据传输的往返时延,单位为 ms 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.total_rtt;
发送端——服务端——接收端全链路数据传输往返时延。单位为 ms 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.quality;
远端用户发送的音频流质量。值含义参考 NetworkQuality 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.jitterBufferDelay;
因引入 jitter buffer 机制导致的延时。单位为 ms 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.numChannels;
音频声道数。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.receivedSampleRate;
音频接收采样率。统计周期内接收到的远端音频采样率信息,单位为 Hz 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.frozenRate;
远端用户在加入房间后发生音频卡顿的累计时长占音频总有效时长的百分比。音频有效时长是指远端用户进房发布音频流后,除停止发送音频流和禁用音频模块之外的音频时长。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.concealedSamples;
音频丢包补偿(PLC) 样点总个数。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.concealmentEvent;
音频丢包补偿(PLC) 累计次数。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.decSampleRate;
音频解码采样率。统计周期内的音频解码采样率信息,单位为 Hz 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.decDuration;
解码时长。对此次统计周期内接收的远端音频流进行解码的总耗时,单位为 s 。
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 |
public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalAudioStats.audioLossRate;
音频丢包率。此次统计周期内的音频上行丢包率,单位为 % ,取值范围为 [0, 1] 。
public float com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalAudioStats.sendKBitrate;
发送码率。此次统计周期内的音频发送码率,单位为 kbps 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalAudioStats.recordSampleRate;
采集采样率。此次统计周期内的音频采集采样率信息,单位为 Hz 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalAudioStats.statsInterval;
统计间隔。此次统计周期的间隔,单位为 ms 。
注意: 此字段用于设置回调的统计周期,默认设置为 2s 。 此字段用于设置回调的统计周期,默认设置为 2s 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalAudioStats.rtt;
往返时延。单位为 ms 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalAudioStats.numChannels;
音频声道数。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalAudioStats.sentSampleRate;
音频发送采样率。此次统计周期内的音频发送采样率信息,单位为 Hz 。
public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalStreamStats
本地音/视频流统计信息,统计周期为 2s 。
本地用户发布音/视频流成功后,SDK 会周期性地通过 onLocalStreamStats
通知本地用户发布的音/视频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。
| 类型 | 名称 |
|---|---|
| LocalAudioStats | audioStats |
| LocalVideoStats | videoStats |
| boolean | isScreen |
public LocalAudioStats com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalStreamStats.audioStats;
本地设备发送音频流的统计信息,详见 LocalAudioStats 。
public LocalVideoStats com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalStreamStats.videoStats;
本地设备发送视频流的统计信息,详见 LocalVideoStats 。
public boolean com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalStreamStats.isScreen;
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamStats
用户订阅的远端音/视频流统计信息以及网络状况,统计周期为 2s 。
订阅远端用户发布音/视频流成功后,SDK 会周期性地通过 onRemoteStreamStats
通知本地用户订阅的远端音/视频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。
| 类型 | 名称 |
|---|---|
| String | uid |
| RemoteAudioStats | audioStats |
| RemoteVideoStats | videoStats |
| boolean | isScreen |
public String com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamStats.uid;
用户 ID 。音/视频来源的远端用户 ID 。
public RemoteAudioStats com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamStats.audioStats;
远端音频流的统计信息,详见 RemoteAudioStats
public RemoteVideoStats com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamStats.videoStats;
远端视频流的统计信息,详见 RemoteVideoStats
public boolean com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamStats.isScreen;
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.PerformanceAlarmMode
性能回退的模式
| 类型 | 说明 |
|---|---|
| PERFORMANCE_ALARM_MODE_NORMAL | 未开启发布性能回退 |
| PERFORMANCE_ALARM_MODE_SIMULCAST | 已开启发布性能回退 |
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 | 如果未开启发送性能回退,收到此告警时,意味着性能不足已恢复; 如果开启了发送性能回退,收到此告警时,意味着性能不足已恢复,且已发生发送性能回退恢复。 |
public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.SourceWantedData
性能回退相关数据
| 类型 | 名称 |
|---|---|
| int | width |
| int | height |
| int | frameRate |
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.SourceWantedData.width;
如果未开启发送性能回退,此值表示推荐的视频输入宽度;
如果开启了发送性能回退,此值表示当前推流的最大宽度。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.SourceWantedData.height;
如果未开启发送性能回退,此值表示推荐的视频输入高度;
如果开启了发送性能回退,此值表示当前推流的最大高度。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.SourceWantedData.frameRate;
如果未开启发送性能回退,此值表示推荐的视频输入帧率,单位 fps;
如果开启了发送性能回退,此值表示当前推流的最大帧率,单位 fps。
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 |
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.USER_ONLINE_STATUS.USER_ONLINE_STATUS_OFFLINE = 0;
对端用户离线
对端用户已经调用 logout,或者没有调用 login 进行登录
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.USER_ONLINE_STATUS.USER_ONLINE_STATUS_ONLINE = 1;
对端用户在线
对端用户调用 login 登录,并且连接状态正常。
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.USER_ONLINE_STATUS.USER_ONLINE_STATUS_UNREACHABLE = 2;
无法获取对端用户在线状态
发生级联错误、对端用户在线状态异常时返回
public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType
媒体设备类型
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_AUDIO_UNKNOWN = -1;
未知设备
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_AUDIO_RENDER_DEVICE = 0;
音频渲染设备
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_AUDIO_CAPTURE_DEVICE = 1;
音频采集设备
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_VIDEO_CAPTURE_DEVICE = 3;
视频采集设备
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_SCREEN_VIDEO_CAPTURE_DEVICE = 4;
屏幕视频设备
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_SCREEN_AUDIO_CAPTURE_DEVICE = 5;
屏幕音频设备
public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState
媒体设备状态
通过 onAudioDeviceStateChanged 或 onVideoDeviceStateChanged 回调设备状态。
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_STARTED = 1;
设备开启采集
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_STOPPED = 2;
设备停止采集
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_RUNTIMEERROR = 3;
设备运行时错误
例如,当媒体设备的预期行为是正常采集,但没有收到采集数据时,将回调该状态。
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_ADDED = 10;
设备已插入
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_REMOVED = 11;
设备被移除
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_INTERRUPTION_BEGAN= 12;
系统通话打断了音视频通话。将在通话结束后自动恢复。
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_INTERRUPTION_ENDED= 13;
音视频通话已从系统电话中恢复
public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError
媒体设备错误类型
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_OK = 0;
媒体设备正常
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_NOPERMISSION = 1;
没有权限启动媒体设备
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_DEVICEBUSY = 2;
媒体设备已经在使用中
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_DEVICEFAILURE = 3;
媒体设备错误
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_DEVICENOTFOUND = 4;
未找到指定的媒体设备
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_DEVICEDISCONNECTED = 5;
媒体设备被移除
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_DEVICENOCALLBACK = 6;
无采集数据。当媒体设备的预期行为是正常采集,但没有收到采集数据时,将收到该错误。
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceError.MEDIA_DEVICE_ERROR_UNSUPPORTFORMAT = 7;
设备采样率不支持
public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceWarning
媒体设备警告
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceWarning.MEDIA_DEVICE_WARNING_OK = 0;
无警告
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceWarning.MEDIA_DEVICE_WARNING_OPERATION_DENIED = 1;
非法设备操作。在使用外部设备时,调用了 SDK 内部设备 API。
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceWarning.MEDIA_DEVICE_WARNING_CAPTURE_SILENCE = 2;
采集到的数据为静音帧。
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceWarning.MEDIA_DEVICE_WARNING_ANDROID_SYS_SILENCE = 3;
Android 特有的静音,系统层面的静音上报
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceWarning.MEDIA_DEVICE_WARNING_ANDROID_SYS_SILENCE_DISAPPEAR = 4;
Android 特有的静音消失
public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats
上行/下行网络质量
| 类型 | 名称 |
|---|---|
| String | uid |
| double | fractionLost |
| int | rtt |
| int | totalBandwidth |
| int | txQuality |
| int | rxQuality |
| 返回 | 名称 |
|---|---|
| String | toString |
public String com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats.uid;
用户 id
public double com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats.fractionLost;
本端的上行/下行的丢包率,范围 [0.0,1.0]
当 uid 为本地用户时,代表发布流的上行丢包率。
当 uid 为远端用户时,代表接收所有订阅流的下行丢包率。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats.rtt;
当 uid 为本地用户时有效,客户端到服务端的往返延时(RTT),单位:ms
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats.totalBandwidth;
本端的音视频 RTP 包 2 秒内的平均传输速率,单位:bps
当 uid 为本地用户时,代表发送速率。
当 uid 为远端用户时,代表所有订阅流的接收速率。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats.txQuality;
上行网络质量分。范围 [0,5],分数越高网络质量越差。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats.rxQuality;
下行网络质量分。范围 [0,5],分数越高网络质量越差。
public String com.ss.bytertc.engine.handler.IRTCEngineEventHandler.NetworkQualityStats.toString()
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) | 合流布局参数错误 |
public enum com.ss.bytertc.engine.live.ByteRTCStreamMixingType
合流类型
| 类型 | 说明 |
|---|---|
| STREAM_MIXING_BY_SERVER(0) | 服务端合流 |
| STREAM_MIXING_BY_CLIENT(1) | 客户端合流 |
| 返回 | 名称 |
|---|---|
| ByteRTCStreamMixingType | ByteRTCStreamMixingType |
com.ss.bytertc.engine.live.ByteRTCStreamMixingType.ByteRTCStreamMixingType(
int value)
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 |
| int | getMixType |
| void | setMixType |
| String | getUrl |
| VideoConfig | getVideo |
| AudioConfig | getAudio |
| Layout | getLayout |
public static final String com.ss.bytertc.engine.live.LiveTranscoding.ACTION_START = "started";
开启转推直播。
public static final String com.ss.bytertc.engine.live.LiveTranscoding.ACTION_CHANGED = "layoutChanged";
更新合流视频布局。
public static final String com.ss.bytertc.engine.live.LiveTranscoding.ACTION_STOPPED = "stopped";
停止直播推流功能。
public static LiveTranscoding com.ss.bytertc.engine.live.LiveTranscoding.getDefualtLiveTranscode()
获取默认的推流转码配置属性。
返回值 默认的推流转码配置属性。详见 LiveTranscoding 数据类型。
public void com.ss.bytertc.engine.live.LiveTranscoding.setUrl(
String url)
设置推流 CDN 地址。
public void com.ss.bytertc.engine.live.LiveTranscoding.setRoomId(
String roomId)
设置roomId。
public void com.ss.bytertc.engine.live.LiveTranscoding.setUserId(
String userId)
设置userId。
public void com.ss.bytertc.engine.live.LiveTranscoding.setAction(
String action)
设置转推直播动作参数。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| action | String | 转推直播动作。可选取值如下: • ACTION_START: 开启转推直播功能 • ACTION_CHANGED: 更新转推直播视频合流布局 • ACTION_STOPPED: 停止转推直播功能 |
public void com.ss.bytertc.engine.live.LiveTranscoding.setVideo(
VideoConfig video)
设置视频转码配置参数。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| video | VideoConfig | 视频转码配置参数。详见 VideoConfig 数据类型。 |
public void com.ss.bytertc.engine.live.LiveTranscoding.setAudio(
AudioConfig audio)
设置音频转码配置参数。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audio | AudioConfig | 音频转码配置参数。详见 AudioConfig 数据类型。 |
public void com.ss.bytertc.engine.live.LiveTranscoding.setLayout(
Layout layout)
设置视频流合流整体布局信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| layout | Layout | 视频流合流整体布局参数。详见 Layout 数据类型。 |
public int com.ss.bytertc.engine.live.LiveTranscoding.getMixType()
获取合流类型。
返回值 合流类型
public void com.ss.bytertc.engine.live.LiveTranscoding.setMixType(
int mixType)
设置合流类型。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| mixType | int | • 0:服务端合流, • 1:端云一体合流 |
public String com.ss.bytertc.engine.live.LiveTranscoding.getUrl()
获取推流的 CDN 地址。
返回值 CDN 的 URL 地址。
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.getVideo()
获取视频转码配置参数。
返回值 当前视频转码配置参数。详见 VideoConfig 数据类型。
public AudioConfig com.ss.bytertc.engine.live.LiveTranscoding.getAudio()
获取音频转码配置参数。
返回值 当前音频转码配置参数。详见 AudioConfig 数据类型。
public Layout com.ss.bytertc.engine.live.LiveTranscoding.getLayout()
获取视频流合流整体布局信息。
返回值 当前视频流合流整体布局。详见 Layout 数据类型。
public enum com.ss.bytertc.engine.live.LiveTranscoding.AACProfile
AAC 编码类型。
| 类型 | 说明 |
|---|---|
| AAC_PROFILE_LC("LC") | 编码等级 AAC-LC |
| AAC_PROFILE_MAIN("MAIN") | 编码等级 AAC-MAIN |
| AAC_PROFILE_HEV1("HEv1") | 编码等级 HE-AAC v1 |
| AAC_PROFILE_HEV2("HEv2") | 编码等级 HE-AAC v2 |
| 返回 | 名称 |
|---|---|
| String | getValue |
public String com.ss.bytertc.engine.live.LiveTranscoding.AACProfile.getValue()
获取 AAC 编码类型。
返回值 AAC 编码类型。
public static class com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig
视频转码配置参数。
| 返回 | 名称 |
|---|---|
| VideoConfig | setCodec |
| VideoConfig | setFps |
| VideoConfig | setGop |
| VideoConfig | setLowLatency |
| VideoConfig | setKBitRate |
| VideoConfig | setWidth |
| VideoConfig | setHeight |
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.setCodec(
String codec)
设置视频编码格式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| codec | String | 编码格式。 |
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.setFps(
int fps)
设置合流视频帧率信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| fps | int | 合流的视频帧率。 |
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.setGop(
int gop)
设置视频 I 帧间隔。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| gop | int | 合流 I 帧间隔。 |
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.setLowLatency(
boolean lowLatency)
设置是否使用低延时特性。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| lowLatency | boolean | 是否使用低延时特性。取值含义如下: • true: 使用低延时特性 • false: 不使用低延时特性 |
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.setKBitRate(
int kBitRate)
设置合流视频码率
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| kBitRate | int | 合流视频码率。单位为 kbps,取值范围 [1,10000]。 |
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.setWidth(
int width)
设置合流视频宽度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| width | int | 合流视频宽度。单位为 px,范围为 [2, 1920],必须是偶数。默认值为 640。 |
public VideoConfig com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.setHeight(
int height)
设置合流视频高度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| height | int | 合流视频高度。单位为 px,范围为 [2, 1080],必须是偶数。默认值为 480。 |
public enum com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.VideoCodecType
转推直播视频编码器格式
| 类型 | 说明 |
|---|---|
| VIDEO_CODEC_TYPE_H264("H264") | 使用 H264 编码格式 |
| VIDEO_CODEC_TYPE_BYTEVC1("ByteVC1") | 自定义编码器 |
| 返回 | 名称 |
|---|---|
| String | getValue |
public String com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.VideoCodecType.getValue()
获取转推直播视频编码器格式。
返回值 转推直播视频编码器格式。
public static class com.ss.bytertc.engine.live.LiveTranscoding.AudioConfig
音频转码配置参数。
| 返回 | 名称 |
|---|---|
| AudioConfig | setCodec |
| AudioConfig | setKBitRate |
| AudioConfig | setSampleRate |
| AudioConfig | setChannels |
| AudioConfig | setAacProfile |
public AudioConfig com.ss.bytertc.engine.live.LiveTranscoding.AudioConfig.setCodec(
String codec)
设置音频编码格式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| codec | String | 音频编码格式。 |
public AudioConfig com.ss.bytertc.engine.live.LiveTranscoding.AudioConfig.setKBitRate(
int kBitRate)
设置音频码率。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| kBitRate | int | 音频码率。单位为 kbps。可选取值:16, 32, 64。 |
public AudioConfig com.ss.bytertc.engine.live.LiveTranscoding.AudioConfig.setSampleRate(
int sampleRate)
设置音频采样率。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| sampleRate | int | 音频采样率。单位为 kHz。可选取值:16, 32, 44.1, 48。 |
public AudioConfig com.ss.bytertc.engine.live.LiveTranscoding.AudioConfig.setChannels(
int channels)
设置声道数。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| channels | int | 音频声道数,可取 1 或 2。 |
public AudioConfig com.ss.bytertc.engine.live.LiveTranscoding.AudioConfig.setAacProfile(
AACProfile aacProfile)
设置 AAC 等级。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| AACProfile | **** | AAC 等级。详见 AACProfile 类型。 |
public static class com.ss.bytertc.engine.live.LiveTranscoding.Layout
视频流合流整体布局信息。
开启转推直播功能后,你可以设置参与合流的每路视频流的预设布局信息和合流背景信息等。
| 返回 | 名称 |
|---|---|
| Region[] | getRegions |
| void | setRegions |
| String | getAppData |
| void | setAppData |
| String | getBackgroundColor |
| void | setBackgroundColor |
public Region[] com.ss.bytertc.engine.live.LiveTranscoding.Layout.getRegions()
获取用户布局信息列表。
返回值 当前合流的用户布局信息列表。
public void com.ss.bytertc.engine.live.LiveTranscoding.Layout.setRegions(
Region[] regions)
设置用户布局信息列表。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| regions | Region[] | 用户布局信息列表。为 Region 数据类型的数组。每一个该类型对象为一路单独的视频流的布局信息。 |
public String com.ss.bytertc.engine.live.LiveTranscoding.Layout.getAppData()
获取透传的 App 数据。
返回值 当前透传的 App 数据。
public void com.ss.bytertc.engine.live.LiveTranscoding.Layout.setAppData(
String appData)
设置透传的 App 数据。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| appData | String | 透传的 App 数据。 |
public String com.ss.bytertc.engine.live.LiveTranscoding.Layout.getBackgroundColor()
获取画布的背景颜色。
返回值 当前画布的背景颜色。
public void com.ss.bytertc.engine.live.LiveTranscoding.Layout.setBackgroundColor(
String backgroundColor)
设置画布的背景颜色。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| backgroundColor | String | 画布的背景颜色。格式为 RGB 定义下的 Hex 值,如 #FFB6C1 表示浅粉色。默认值 #000000,表示为黑色 |
public static class com.ss.bytertc.engine.live.LiveTranscoding.Layout.Builder
构建参数组合
| 返回 | 名称 |
|---|---|
| Builder | appData |
| Builder | backgroundColor |
public Builder com.ss.bytertc.engine.live.LiveTranscoding.Layout.Builder.appData(
String)
透传的 app 数据
public Builder com.ss.bytertc.engine.live.LiveTranscoding.Layout.Builder.backgroundColor(
String)
画布的背景颜色
public static class com.ss.bytertc.engine.live.LiveTranscoding.Layout.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 |
public Region com.ss.bytertc.engine.live.LiveTranscoding.Layout.Region.uid(
String)
设置视频流发布用户的用户 ID。必填。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 用户 ID。 |
public Region com.ss.bytertc.engine.live.LiveTranscoding.Layout.Region.roomId(
String)
设置视频流发布用户的房间 ID。必填。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID。 |
public Region com.ss.bytertc.engine.live.LiveTranscoding.Layout.Region.zorder(
int)
设置用户视频布局在画布中的层级。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| zorder | int | 用户视频布局在画布中的层级。取值范围为[0 - 100]。0为底层,值越大越上层。 |
public Region com.ss.bytertc.engine.live.LiveTranscoding.Layout.Region.alpha(
double)
设置透明度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| alpha | double | 透明度。可选范围为 [0.0, 1.0]。 |
public Region com.ss.bytertc.engine.live.LiveTranscoding.Layout.Region.contentControl(
int)
设置合流媒体流类型。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| contentControl | int | 合流内容控制。默认值为0,可选取值如下: • 0: 输出的混流包含音视频 • 1: 只包含音频 • 2: 只包含视频 |
public Region com.ss.bytertc.engine.live.LiveTranscoding.Layout.Region.renderMode(
int)
设置视频渲染模式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| renderMode | int | 视频显示模式。可选取值如下: • 1: 视频尺寸等比缩放,优先保证窗口被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。 • 2: 视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成黑色。 • 3: 视频尺寸非等比例缩放,把窗口充满。当视频尺寸与显示窗口尺寸不一致时,视频高或宽方向会被拉伸。 |
public Region com.ss.bytertc.engine.live.LiveTranscoding.Layout.Region.position(
double x,
double y)
设置用户视频布局的相对位置。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| x | double | 视频流对应区域左上角的横坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。 |
| y | double | 视频流对应区域左上角的纵坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。 |
public Region com.ss.bytertc.engine.live.LiveTranscoding.Layout.Region.size(
double width,
double height)
设置用户视频相对大小。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| width | double | 视频流对应区域宽度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。 |
| height | double | 视频流对应区域高度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。 |
public boolean com.ss.bytertc.engine.live.LiveTranscoding.Layout.Region.isScreenStream()
是否是屏幕流。
返回值
public Region com.ss.bytertc.engine.live.LiveTranscoding.Layout.Region.setScreenStream(
boolean screenStream)
设置是否是屏幕流。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| screenStream | boolean | 标识是否是屏幕流 |
public boolean com.ss.bytertc.engine.live.LiveTranscoding.Layout.Region.isLocalUser()
是否本地用户。
返回值
public Region com.ss.bytertc.engine.live.LiveTranscoding.Layout.Region.setLocalUser(
boolean localUser)
设置是否是本地用户。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| localUser | boolean | 标识是否是本地用户 |
public interface com.ss.bytertc.engine.loader.RTCNativeLibraryLoader
用户自定义动态库加载器实现
| 返回 | 名称 |
|---|---|
| boolean | load |
boolean com.ss.bytertc.engine.loader.RTCNativeLibraryLoader.load(
String libraryName)
SDK在需要加载动态库时通过该方法回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| libraryName | String | 要加载的动态库名称 |
public class com.ss.bytertc.engine.publicstream.PublicStreaming
公共流参数。
| 类型 | 名称 |
|---|---|
| String | ACTION_START |
| String | ACTION_CHANGED |
| String | ACTION_STOPPED |
| 返回 | 名称 |
|---|---|
| static PublicStreaming | getDefualtPublicStreaming |
| 返回 | 名称 |
|---|---|
| void | setPublicStreamId |
| void | setRoomId |
| void | setUserId |
| void | setAction |
| void | setVideo |
| void | setAudio |
| void | setLayout |
| VideoConfig | getVideo |
| AudioConfig | getAudio |
| Layout | getLayout |
public static final String com.ss.bytertc.engine.publicstream.PublicStreaming.ACTION_START = "started";
设置公共流发布动作参数:开启公共流推流功能。
public static final String com.ss.bytertc.engine.publicstream.PublicStreaming.ACTION_CHANGED = "layoutChanged";
设置公共流发布动作参数:更新视频公共流布局。
public static final String com.ss.bytertc.engine.publicstream.PublicStreaming.ACTION_STOPPED = "stopped";
设置公共流发布动作参数:停止公共流推流功能。
public static PublicStreaming com.ss.bytertc.engine.publicstream.PublicStreaming.getDefualtPublicStreaming(
String publicStreamId)
获取默认的公共流配置属性。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| publicStreamId | String | 公共流 ID |
返回值 默认的推公共流转码配置属性。详见 PublicStreaming 数据类型。
public void com.ss.bytertc.engine.publicstream.PublicStreaming.setPublicStreamId(
String streamId)
设置公共流 ID。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamId | String |
public void com.ss.bytertc.engine.publicstream.PublicStreaming.setRoomId(
String roomId)
设置 roomId。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String |
public void com.ss.bytertc.engine.publicstream.PublicStreaming.setUserId(
String userId)
设置 userId。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| userId | String |
public void com.ss.bytertc.engine.publicstream.PublicStreaming.setAction(
String action)
设置公共流发布动作参数。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| action | String | 公共流发布动作。可选取值如下: • ACTION_START: 开启发布 • ACTION_CHANGED: 更新公共流布局 • ACTION_STOPPED: 停止发布 |
public void com.ss.bytertc.engine.publicstream.PublicStreaming.setVideo(
VideoConfig video)
设置公共流视频参数。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| video | VideoConfig | 公共流视频参数。详见 VideoConfig 数据类型。 |
public void com.ss.bytertc.engine.publicstream.PublicStreaming.setAudio(
AudioConfig audio)
设置公共流音频参数。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audio | AudioConfig | 公共流音频参数。详见 AudioConfig 数据类型。 |
public void com.ss.bytertc.engine.publicstream.PublicStreaming.setLayout(
Layout layout)
设置视频流公共流整体布局信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| layout | Layout | 视频流公共流整体布局参数。详见 Layout 数据类型。 |
public VideoConfig com.ss.bytertc.engine.publicstream.PublicStreaming.getVideo()
获取公共流视频参数。
返回值 公共流视频参数。详见 VideoConfig 数据类型。
public AudioConfig com.ss.bytertc.engine.publicstream.PublicStreaming.getAudio()
获取公共流音频参数。
返回值 公共流音频参数。详见 AudioConfig 数据类型。
public Layout com.ss.bytertc.engine.publicstream.PublicStreaming.getLayout()
获取视频流公共流整体布局信息。
返回值 当前视频流公共流整体布局。详见 Layout 数据类型。
public static class com.ss.bytertc.engine.publicstream.PublicStreaming.VideoConfig
公共流的视频参数
| 返回 | 名称 |
|---|---|
| VideoConfig | setFps |
| VideoConfig | setKBitRate |
| VideoConfig | setWidth |
| VideoConfig | setHeight |
public VideoConfig com.ss.bytertc.engine.publicstream.PublicStreaming.VideoConfig.setFps(
int fps)
设置公共流视频帧率信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| fps | int | 公共流视频帧率。 |
返回值 公共流视频参数。详见 VideoConfig 数据类型。
public VideoConfig com.ss.bytertc.engine.publicstream.PublicStreaming.VideoConfig.setKBitRate(
int kBitRate)
设置公共流视频码率
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| kBitRate | int | 公共流视频码率,单位为 Kbps 。 |
返回值 公共流视频参数。详见 VideoConfig 数据类型。
public VideoConfig com.ss.bytertc.engine.publicstream.PublicStreaming.VideoConfig.setWidth(
int width)
设置公共流视频宽度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| width | int | 公共流视频宽度。单位为 px,范围为 [2, 1920],必须是偶数。默认值为 640。 |
返回值 公共流视频参数。详见 VideoConfig 数据类型。
public VideoConfig com.ss.bytertc.engine.publicstream.PublicStreaming.VideoConfig.setHeight(
int height)
设置公共流视频高度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| height | int | 公共流视频高度。单位为 px,范围为 [2, 1080],必须是偶数。默认值为 480。 |
返回值 公共流视频参数。详见 VideoConfig 数据类型。
public static class com.ss.bytertc.engine.publicstream.PublicStreaming.AudioConfig
公共流的音频参数。
| 返回 | 名称 |
|---|---|
| AudioConfig | setKBitRate |
| AudioConfig | setSampleRate |
| AudioConfig | setChannels |
public AudioConfig com.ss.bytertc.engine.publicstream.PublicStreaming.AudioConfig.setKBitRate(
int kBitRate)
设置音频码率。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| kBitRate | int | 音频码率。单位为 kbps。可选取值:16, 32, 64。 |
返回值 公共流音频参数。详见 AudioConfig 数据类型。
public AudioConfig com.ss.bytertc.engine.publicstream.PublicStreaming.AudioConfig.setSampleRate(
int sampleRate)
设置音频采样率。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| sampleRate | int | 音频采样率。单位为 kHz。可选取值:16000, 32000, and 48000 |
返回值 公共流音频参数。详见 AudioConfig 数据类型。
public AudioConfig com.ss.bytertc.engine.publicstream.PublicStreaming.AudioConfig.setChannels(
int channels)
设置声道数。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| channels | int | 音频声道数,可取 1 或 2。 |
返回值 公共流音频参数。详见 AudioConfig 数据类型。
public static class com.ss.bytertc.engine.publicstream.PublicStreaming.SourceCrop
视频裁剪参数。
| 返回 | 名称 |
|---|---|
| SourceCrop | setLocationX |
| SourceCrop | setLocationY |
| SourceCrop | setWidthProportion |
| SourceCrop | setHeightProportion |
public SourceCrop com.ss.bytertc.engine.publicstream.PublicStreaming.SourceCrop.setLocationX(
double x)
设置左上角横坐标。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| x | double | 裁剪后得到的视频帧左上角横坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)。 |
返回值 裁剪配置。详见 SourceCrop 数据类型。
public SourceCrop com.ss.bytertc.engine.publicstream.PublicStreaming.SourceCrop.setLocationY(
double y)
设置左上角纵坐标。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| y | double | 裁剪后得到的视频帧左上角纵坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)。 |
返回值 裁剪配置。详见 SourceCrop 数据类型。
public SourceCrop com.ss.bytertc.engine.publicstream.PublicStreaming.SourceCrop.setWidthProportion(
double w)
设置视频宽度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| w | double | 裁剪后得到的视频帧宽度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0] |
返回值 裁剪配置。详见 SourceCrop 数据类型。
public SourceCrop com.ss.bytertc.engine.publicstream.PublicStreaming.SourceCrop.setHeightProportion(
double h)
设置视频高度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| h | double | 裁剪后得到的视频帧高度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0]。 |
返回值 裁剪配置。详见 SourceCrop 数据类型。
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 |
public Region[] com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.getRegions()
获取用户布局信息列表。
返回值 获取当前公共流的用户布局信息列表。
public void com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.setRegions(
Region[] regions)
设置用户布局信息列表。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| regions | Region[] | 用户布局信息列表。为 Region 数据类型的数组。每一个该类型对象为一路单独的视频流的布局信息。 |
public int com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.getInterpolationMode()
获取插帧模式。
返回值 插帧模式。 0: 最后一帧 !0: 黑帧
public void com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.setInterpolationMode(
int interMode)
设置插帧模式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| interMode | int | 插帧模式。 0: 最后一帧 !0: 黑帧 |
public int com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.getLayoutMode()
获取布局模式。
返回值
当前使用的布局模式。
2: 自定义模式。
public void com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.setLayoutMode(
int layoutMode)
设置布局模式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| layoutMode | int | 目标布局模式2: 自定义模式。 |
public String com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.getBackgroundImage()
获取视频的背景图片链接。
返回值 当前背景图片链接
public void com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.setBackgroundImage(
String bgImage)
设置背景图片链接。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| bgImage | String | 背景图片链接。 |
public String com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.getBackgroundColor()
获取画布的背景颜色。
返回值 当前画布的背景颜色。
public void com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.setBackgroundColor(
String backgroundColor)
设置画布的背景颜色。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| backgroundColor | String | 画布的背景颜色。格式为 RGB 定义下的 Hex 值,如 #FFB6C1 表示浅粉色。默认值 #000000,表示为黑色 |
public static class com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Builder
公共流构建参数组合
| 返回 | 名称 |
|---|---|
| Builder | addRegoin |
| Builder | interpolationMode |
| Builder | layoutMode |
| Builder | backgroundImage |
| Builder | backgroundColor |
public Builder com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Builder.addRegoin(
Region region)
用户布局信息列表
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| region | Region | 详见 Region |
返回值 公共流结构体,详见 Builder
public Builder com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Builder.interpolationMode(
int mode)
插帧模式
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| mode | int | 0: 最好一帧 1: 空白帧 |
返回值 公共流结构体,详见 Builder
public Builder com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Builder.layoutMode(
int mode)
公共流布局模式
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| mode | int | 0:自定义 |
返回值 公共流结构体,详见 Builder
public Builder com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Builder.backgroundImage(
String bgImage)
画布的背景图片地址
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| bgImage | String |
返回值 公共流结构体,详见 Builder
public Builder com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Builder.backgroundColor(
String)
背景颜色
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| backgroundColor | String |
返回值 公共流结构体,详见 Builder
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 |
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.userId(
String uid)
设置视频流发布用户的用户 ID。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 用户 ID。必填。 |
返回值 当前流在公共流中的布局信息。详见 Region。
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.roomId(
String)
设置媒体流所在房间的 房间 ID。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 如果此媒体流是通过 startForwardStreamToRooms 转发到你所在房间的媒体流时,你应将房间 ID 设置为你所在的房间 ID。 |
返回值 当前流在公共流中的布局信息。详见 Region。
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.zorder(
int)
设置用户视频布局在画布中的层级。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| zorder | int | 用户视频布局在画布中的层级。取值范围为[0, 100]。0为底层,值越大越上层。 |
返回值 当前流在公共流中的布局信息。详见 Region。
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.alpha(
double)
设置透明度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| alpha | double | 透明度。可选范围为 [0.0, 1.0]。 |
返回值 当前流在公共流中的布局信息。详见 Region。
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.mediaType(
int)
设置公共流内容类型。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| mediaType | int | 公共流内容类型。默认值为0,可选取值如下: • 0: 输出的混流包含音视频 • 1: 只包含音频 • 2: 只包含视频 |
返回值 当前流在公共流中的布局信息。详见 Region。
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.streamType(
int)
设置公共流媒体类型。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamType | int | 公共流媒体类型。默认值为0,可选取值如下: • 0: 普通音视频流 • 1: 屏幕流 |
返回值 当前流在公共流中的布局信息。详见 Region。
public Region com.ss.bytertc.engine.publicstream.PublicStreaming.Layout.Region.renderMode(
int)
设置视频显示模式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| renderMode | int | 视频显示模式。可选取值如下: • 1: 视频尺寸等比缩放,优先保证窗口被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。 • 2: 视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成黑色。 • 3: 视频尺寸非等比例缩放,把窗口充满。当视频尺寸与显示窗口尺寸不一致时,视频高或宽方向会被拉伸。 |
返回值 当前流在公共流中的布局信息。详见 Region。
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。
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。
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。
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。
public class com.ss.bytertc.engine.utils.AudioFrame
PCM 音频帧
| 类型 | 名称 |
|---|---|
| byte[] | buffer |
| int | samples |
| AudioSampleRate | sampleRate |
| AudioChannel | channel |
public byte[] com.ss.bytertc.engine.utils.AudioFrame.buffer;
PCM 数据
public int com.ss.bytertc.engine.utils.AudioFrame.samples;
采样点个数
public AudioSampleRate com.ss.bytertc.engine.utils.AudioFrame.sampleRate;
采样率,参看 AudioSampleRate。
public AudioChannel com.ss.bytertc.engine.utils.AudioFrame.channel;
音频声道,参看 AudioChannel。
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 |
long com.ss.bytertc.engine.utils.IAudioFrame.timestamp_us()
获取音频帧时间戳。
返回值 音频帧时间戳,单位:微秒。
AudioSampleRate com.ss.bytertc.engine.utils.IAudioFrame.sample_rate()
获取音频采样率,参看 AudioSampleRate。
返回值 音频采样率
AudioChannel com.ss.bytertc.engine.utils.IAudioFrame.channel()
获取音频声道,参看 AudioChannel。
返回值 音频声道
ByteBuffer com.ss.bytertc.engine.utils.IAudioFrame.getDataBuffer()
获取音频帧内存块地址
返回值 音频帧的 ByteBuffer
int com.ss.bytertc.engine.utils.IAudioFrame.data_size()
获取音频帧数据大小。
返回值 音频帧数据大小,单位:字节。
AudioFrameType com.ss.bytertc.engine.utils.IAudioFrame.frame_type()
获取音频帧类型,目前只支持 PCM,参看 AudioFrameType。
返回值 音频帧类型
void com.ss.bytertc.engine.utils.IAudioFrame.release()
释放音频帧。
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) | 屏幕流音频设备 |
public enum com.ss.bytertc.engine.type.RecordingFileType
本地录制文件的存储格式
| 类型 | 说明 |
|---|---|
| RECORDING_FILE_TYPE_AAC(0) | aac 格式文件 |
| RECORDING_FILE_TYPE_MP4(1) | mp4 格式文件 |
public class com.ss.bytertc.engine.type.UserOnlineStatus
用户在线状态
| 类型 | 名称 |
|---|---|
| int | USER_ONLINE_STATUS_OFFLINE |
| int | USER_ONLINE_STATUS_ONLINE |
| int | USER_ONLINE_STATUS_UNREACHABLE |
public static final int com.ss.bytertc.engine.type.UserOnlineStatus.USER_ONLINE_STATUS_OFFLINE = 0;
对端用户离线
对端用户已经调用 logout,或者没有调用 login 进行登录
public static final int com.ss.bytertc.engine.type.UserOnlineStatus.USER_ONLINE_STATUS_ONLINE = 1;
对端用户在线
对端用户调用 login 登录,并且连接状态正常。
public static final int com.ss.bytertc.engine.type.UserOnlineStatus.USER_ONLINE_STATUS_UNREACHABLE = 2;
无法获取对端用户在线状态
发生级联错误、对端用户在线状态异常时返回
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) | 屏幕流视频设备 |
public class com.ss.bytertc.engine.video.FaceDetectionResult
人脸检测结果
| 类型 | 名称 |
|---|---|
| int | detectResult |
| int | imageWidth |
| int | imageHeight |
| Rectangle[] | faces |
| 返回 | 名称 |
|---|---|
| String | toString |
public int com.ss.bytertc.engine.video.FaceDetectionResult.detectResult;
人脸检测结果
public int com.ss.bytertc.engine.video.FaceDetectionResult.imageWidth;
原始图片宽度(px)
public int com.ss.bytertc.engine.video.FaceDetectionResult.imageHeight;
原始图片高度(px)
public Rectangle[] com.ss.bytertc.engine.video.FaceDetectionResult.faces;
识别到人脸的矩形框。数组的长度和检测到的人脸数量一致。参看 Rectangle。
public String com.ss.bytertc.engine.video.FaceDetectionResult.toString()
public interface com.ss.bytertc.engine.video.IVideoSink
自定义视频渲染器。
| 返回 | 名称 |
|---|---|
| void | onFrame |
void com.ss.bytertc.engine.video.IVideoSink.onFrame(
VideoFrame frame)
视频帧回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| frame | VideoFrame | 视频帧结构类,参看 VideoFrame |
public @interface com.ss.bytertc.engine.video.IVideoSink.PixelFormat
视频帧数据格式
| 类型 | 名称 |
|---|---|
| int | Original |
| int | I420 |
int com.ss.bytertc.engine.video.IVideoSink.PixelFormat.Original = 0;
原始视频帧格式
int com.ss.bytertc.engine.video.IVideoSink.PixelFormat.I420 = 1;
I420数据格式
public class com.ss.bytertc.engine.video.Rectangle
矩形区域
| 类型 | 名称 |
|---|---|
| int | x |
| int | y |
| int | width |
| int | height |
| 返回 | 名称 |
|---|---|
| Rectangle | Rectangle |
| String | toString |
public int com.ss.bytertc.engine.video.Rectangle.x = 0;
矩形区域左上角的 x 坐标
public int com.ss.bytertc.engine.video.Rectangle.y = 0;
矩形区域左上角的 y 坐标
public int com.ss.bytertc.engine.video.Rectangle.width = 0;
矩形宽度(px)
public int com.ss.bytertc.engine.video.Rectangle.height = 0;
矩形高度(px)
public com.ss.bytertc.engine.video.Rectangle.Rectangle(
int x,
int y,
int w,
int h)
public String com.ss.bytertc.engine.video.Rectangle.toString()
public class com.ss.bytertc.engine.video.ScreenSharingParameters
屏幕共享的编码参数配置
| 类型 | 名称 |
|---|---|
| int | maxWidth |
| int | maxHeight |
| int | frameRate |
| int | bitrate |
public int com.ss.bytertc.engine.video.ScreenSharingParameters.maxWidth = 0;
屏幕采集编码最大宽度,
public int com.ss.bytertc.engine.video.ScreenSharingParameters.maxHeight = 0;
屏幕采集编码最大高度
public int com.ss.bytertc.engine.video.ScreenSharingParameters.frameRate = 15;
屏幕采集编码帧率, 单位 fps
public int com.ss.bytertc.engine.video.ScreenSharingParameters.bitrate = -1;
屏幕采集编码码率, -1 为自动码率, SDK 会根据宽高信息选择合适的码率,单位 kbps
public class com.ss.bytertc.engine.video.VideoCaptureConfig
视频采集配置
| 类型 | 名称 |
|---|---|
| CapturePreference | capturePreference |
| int | width |
| int | height |
| int | frameRate |
public CapturePreference com.ss.bytertc.engine.video.VideoCaptureConfig.capturePreference = CapturePreference.AUTO;
视频采集模式
public int com.ss.bytertc.engine.video.VideoCaptureConfig.width;
视频采集分辨率的宽度,单位:px。
public int com.ss.bytertc.engine.video.VideoCaptureConfig.height;
视频采集分辨率的高度,单位:px。
public int com.ss.bytertc.engine.video.VideoCaptureConfig.frameRate;
视频采集帧率,单位:fps。
public enum com.ss.bytertc.engine.video.VideoCaptureConfig.CapturePreference
视频采集模式
| 类型 | 说明 |
|---|---|
| AUTO(0) | (默认)自动设置采集参数。 SDK在开启采集时根据服务端下发的采集配置结合编码参数设置最佳采集参数。 |
| MANUAL(1) | 手动设置采集参数,包括采集分辨率、帧率。 |
| AUTO_PERFORMANCE(2) | 采集参数与编码参数一致,即在 setVideoEncoderConfig 中设置的参数。 |
public class com.ss.bytertc.engine.video.VideoEncoderConfiguration
视频编码配置
| 类型 | 名称 |
|---|---|
| VideoDimensions | dimensions |
| FrameRate | frameRate |
| int | kBitrate |
| OrientationMode | orientationMode |
public VideoDimensions com.ss.bytertc.engine.video.VideoEncoderConfiguration.dimensions;
视频编码像素
public FrameRate com.ss.bytertc.engine.video.VideoEncoderConfiguration.frameRate;
视频编码帧率
public int com.ss.bytertc.engine.video.VideoEncoderConfiguration.kBitrate;
视频编码码率
public OrientationMode com.ss.bytertc.engine.video.VideoEncoderConfiguration.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) | 固定竖屏输出视频。若采集到的视频是横屏模式,则视频编码器会对其进行裁剪。 |
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 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 |
public synchronized void com.ss.bytertc.engine.video.VideoFrame.setReleaseCallback(
Runnable releaseCallback)
设置视频帧释放回调,当视频帧的引用计数归 0 时,会执行 releaseCallback
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| releaseCallback | Runnable | 视频帧释放回调 |
public synchronized boolean com.ss.bytertc.engine.video.VideoFrame.hasReleaseCallback()
用于检查当前的视频帧是否已设置 releaseCallback
返回值
public abstract VideoFrameType com.ss.bytertc.engine.video.VideoFrame.getFrameType()
获取视频帧类型,参看 VideoFrameType
public abstract VideoPixelFormat com.ss.bytertc.engine.video.VideoFrame.getPixelFormat()
获取视频帧格式,参看 VideoPixelFormat
public abstract long com.ss.bytertc.engine.video.VideoFrame.getTimeStampUs()
获取视频帧时间戳,单位:微秒
public abstract int com.ss.bytertc.engine.video.VideoFrame.getWidth()
获取视频帧宽度,单位:px
public abstract int com.ss.bytertc.engine.video.VideoFrame.getHeight()
获取视频帧高度,单位:px
public abstract VideoRotation com.ss.bytertc.engine.video.VideoFrame.getRotation()
获取视频帧旋转角度
public abstract ColorSpace com.ss.bytertc.engine.video.VideoFrame.getColorSpace()
获取视频帧色彩空间,参看 ColorSpace
public abstract int com.ss.bytertc.engine.video.VideoFrame.getNumberOfPlanes()
获取视频帧像素平面数量
注意 yuv 数据存储格式分为打包(planar)存储格式和平面(packed)存储格式,planar 格式中 Y、U、V 分平面存储,packed 格式中 Y、U、V 交叉存储
public abstract ByteBuffer com.ss.bytertc.engine.video.VideoFrame.getPlaneData(
int planeIndex)
获取 plane 数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| planeIndex | int | plane 数据索引 |
public abstract int com.ss.bytertc.engine.video.VideoFrame.getPlaneLineSize(
int planeIndex)
获取指定 plane 中数据行的长度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| planeIndex | int | plane 数据索引 |
public abstract ByteBuffer com.ss.bytertc.engine.video.VideoFrame.getExternalDataInfo()
获取 SEI 数据
public abstract ByteBuffer com.ss.bytertc.engine.video.VideoFrame.getSupplementaryInfo()
获取补充数据指针
public abstract int com.ss.bytertc.engine.video.VideoFrame.getTextureID()
获取纹理ID
public abstract float[] com.ss.bytertc.engine.video.VideoFrame.getTextureMatrix()
获取纹理矩阵
public abstract EGLContext com.ss.bytertc.engine.video.VideoFrame.getEGLContext()
获取纹理使用的 EGLContext
public synchronized void com.ss.bytertc.engine.video.VideoFrame.retain()
对当前的视频帧进行一次引用计数
public synchronized void com.ss.bytertc.engine.video.VideoFrame.release()
对当前的视频帧减少一次引用计数
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 内部解码,同时回调解码前和解码后的数据 |
public class com.ss.bytertc.engine.video.VideoPreprocessorConfig
视频处理配置参数。
| 类型 | 名称 |
|---|---|
| VideoPixelFormat | required_pixel_format |
public VideoPixelFormat com.ss.bytertc.engine.video.VideoPreprocessorConfig.required_pixel_format = VideoPixelFormat.kVideoPixelFormatUnknown;
设置请求的像素格式,参看 VideoPixelFormat。
public class com.ss.bytertc.engine.VideoEncoderConfig
视频流参数描述
| 类型 | 名称 |
|---|---|
| int | width |
| int | height |
| int | frameRate |
| int | maxBitrate |
| ScaleMode | scaleMode |
| EncoderPreference | encodePreference |
public int com.ss.bytertc.engine.VideoEncoderConfig.width;
视频宽度,单位:px
public int com.ss.bytertc.engine.VideoEncoderConfig.height;
视频高度,单位:px
public int com.ss.bytertc.engine.VideoEncoderConfig.frameRate;
视频帧率,单位:fps
public int com.ss.bytertc.engine.VideoEncoderConfig.maxBitrate;
最大编码码率,使用 SDK 内部采集时可选设置,自定义采集时必须设置,单位:kbps。
内部采集模式下默认值为 -1,即适配码率模式,系统将根据输入的分辨率和帧率自动计算适用的码率。
设为 0 则不对视频流进行编码发送。
public ScaleMode com.ss.bytertc.engine.VideoEncoderConfig.scaleMode = ScaleMode.SCALE_MODE_AUTO;
缩放策略,默认是拉伸
public EncoderPreference com.ss.bytertc.engine.VideoEncoderConfig.encodePreference =
编码策略偏好。详见 EncoderPreference
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) | 视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成黑色。 |
public enum com.ss.bytertc.engine.VideoEncoderConfig.CodecMode
编码器Mode(使用软编码或者硬编码)
| 类型 | 说明 |
|---|---|
| CODEC_MODE_AUTO(0) | 自动模式 |
| CODEC_MODE_HARDWARE(1) | 硬编码模式 |
| CODEC_MODE_SOFTWARE(2) | 软编码模式 |
public enum com.ss.bytertc.engine.VideoEncoderConfig.VideoCodecType
编码模式(H264, ByteVC1)
| 类型 | 说明 |
|---|---|
| CODEC_TYPE_AUTO(0) | 自动选择编码模式 |
| CODEC_TYPE_H264(1) | H264 |
| CODEC_TYPE_BYTEVC1(2) | ByteVC1 |
public enum com.ss.bytertc.engine.VideoEncoderConfig.EncoderPreference
编码策略偏好
| 类型 | 说明 |
|---|---|
| Disabled(0) | 无偏好 |
| MaintainFramerate(1) | 帧率优先 |
| MaintainQuality(2) | 质量优先 |
| Balance(3) | 平衡质量与帧率 |
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) | 双声道 |
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) | 订阅的远端每个用户混音前的音频数据回调 |
public enum com.ss.bytertc.engine.data.AudioFrameType
音频帧类型
| 类型 | 说明 |
|---|---|
| FRAME_TYPE_PCM16(0) | PCM 16bit |
| 返回 | 名称 |
|---|---|
| int | value |
public int com.ss.bytertc.engine.data.AudioFrameType.value()
获取当前值
返回值 当前值
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 采样率 |
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 |
public int com.ss.bytertc.engine.data.LocalAudioStreamError.value()
获取当前值
返回值 当前值
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 |
public int com.ss.bytertc.engine.data.LocalAudioStreamState.value()
获取当前值
返回值 当前值
public class com.ss.bytertc.engine.data.RecordingConfig
本地录制参数配置
| 类型 | 名称 |
|---|---|
| String | dirPath |
| RecordingFileType | recordingFileType |
public String com.ss.bytertc.engine.data.RecordingConfig.dirPath;
录制文件保存的绝对路径。你需要指定一个有读写权限的合法路径。
public RecordingFileType com.ss.bytertc.engine.data.RecordingConfig.recordingFileType = RecordingFileType.RECORDING_FILE_TYPE_MP4;
录制存储文件格式,参看 RecordingFileType
public class com.ss.bytertc.engine.data.RecordingInfo
本地录制的详细信息
| 类型 | 名称 |
|---|---|
| String | filePath |
| VideoCodecType | videoCodecType |
| int | width |
| int | height |
public String com.ss.bytertc.engine.data.RecordingInfo.filePath;
录制文件的绝对路径,包含文件名和文件后缀
public VideoCodecType com.ss.bytertc.engine.data.RecordingInfo.videoCodecType;
录制文件的视频编码类型,参看 参看 VideoCodecType
public int com.ss.bytertc.engine.data.RecordingInfo.width;
录制视频的宽,单位:像素。纯音频录制请忽略该字段
public int com.ss.bytertc.engine.data.RecordingInfo.height;
录制视频的高,单位:像素。纯音频录制请忽略该字段
public class com.ss.bytertc.engine.data.RecordingProgress
本地录制进度
| 类型 | 名称 |
|---|---|
| long | duration |
| long | fileSize |
public long com.ss.bytertc.engine.data.RecordingProgress.duration;
当前文件的累计录制时长,单位:毫秒
public long com.ss.bytertc.engine.data.RecordingProgress.fileSize;
当前录制文件的大小,单位:byte
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 |
public int com.ss.bytertc.engine.data.RemoteAudioState.value()
获取当前值
返回值 当前值
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 |
public int com.ss.bytertc.engine.data.RemoteAudioStateChangeReason.value()
获取当前值
返回值 当前值
public class com.ss.bytertc.engine.data.RemoteStreamKey
远端流信息
| 返回 | 名称 |
|---|---|
| String | getRoomId |
| String | getUserId |
| StreamIndex | getStreamIndex |
public String com.ss.bytertc.engine.data.RemoteStreamKey.getRoomId()
获取房间 ID
public String com.ss.bytertc.engine.data.RemoteStreamKey.getUserId()
获取用户 ID
public StreamIndex com.ss.bytertc.engine.data.RemoteStreamKey.getStreamIndex()
获取流属性,包括主流、屏幕流。参看 StreamIndex
public class com.ss.bytertc.engine.data.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 分级编码特性时方可生效。 |
public class com.ss.bytertc.engine.data.RTCASRConfig
使用自动语音识别服务所需校验信息
| 类型 | 名称 |
|---|---|
| String | userId |
| String | accessToken |
| String | secretKey |
| ASRAuthorizationType | authorizationType |
| String | cluster |
| String | appId |
public String com.ss.bytertc.engine.data.RTCASRConfig.userId;
用户 ID
public String com.ss.bytertc.engine.data.RTCASRConfig.accessToken;
访问令牌
public String com.ss.bytertc.engine.data.RTCASRConfig.secretKey;
私钥。Signature 鉴权模式下不能为空,token 鉴权模式下为空。参看关于鉴权
public ASRAuthorizationType com.ss.bytertc.engine.data.RTCASRConfig.authorizationType;
鉴权方式
public String com.ss.bytertc.engine.data.RTCASRConfig.cluster;
场景信息,参看业务集群
public String com.ss.bytertc.engine.data.RTCASRConfig.appId;
应用 ID
public enum com.ss.bytertc.engine.data.RTCASRConfig.ASRAuthorizationType
语音识别服务鉴权方式,详情请咨询语音识别服务服务相关同学
| 类型 | 说明 |
|---|---|
| ASR_AUTHORIZATION_TYPE_TOKEN(0) | Token 鉴权 |
| ASR_AUTHORIZATION_TYPE_SIGNATURE(1) | Signature 鉴权 |
public class com.ss.bytertc.engine.data.VideoFrameInfo
视频帧信息
| 类型 | 名称 |
|---|---|
| VideoRotation | rotation |
public VideoRotation com.ss.bytertc.engine.data.VideoFrameInfo.rotation = VideoRotation.VIDEO_ROTATION_0;
视频帧顺时针旋转角度。参看 VideoRotation。
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帧,前后参考帧,编解码需要参考前后两帧视频帧 |
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 度 |
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 不会自动生成多路流,你需要自行生成并推送多路流 |
public class com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame
视频帧信息
| 类型 | 名称 |
|---|---|
| ByteBuffer | buffer |
| long | timestampUs |
| long | timestampDtsUs |
| int | width |
| int | height |
| VideoCodecType | videoCodecType |
| VideoPictureType | videoPictureType |
| VideoRotation | videoRotation |
public final ByteBuffer com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.buffer;
视频帧数据指针地址
public long com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.timestampUs;
视频采集时间戳,单位:微秒
public long com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.timestampDtsUs;
视频编码时间戳,单位:微秒
public int com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.width;
视频分辨率的宽度,单位:px
public int com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.height;
视频分辨率的高度,单位:px
public VideoCodecType com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.videoCodecType;
视频编码类型。参看 VideoCodecType
public VideoPictureType com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.videoPictureType;
视频帧类型。参看 VideoPictureType
public VideoRotation com.ss.bytertc.engine.mediaio.RTCEncodedVideoFrame.videoRotation;
视频帧旋转角度,默认旋转 0 度。参看 VideoRotation
public class com.ss.bytertc.engine.video.VideoDimensions
视频编码像素
| 类型 | 名称 |
|---|---|
| int | width |
| int | height |
public int com.ss.bytertc.engine.video.VideoDimensions.width;
宽
public int com.ss.bytertc.engine.video.VideoDimensions.height;
高
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 |
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setTimeStampUs(
long timeStampUs)
设置视频帧的时间戳
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| timeStampUs | long | 视频帧时间戳 |
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setWidth(
int width)
设置视频帧宽度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| width | int | 视频帧宽度,单位:像素 |
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setHeight(
int height)
设置视频帧高度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| height | int | 视频帧高度,单位:像素 |
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setRotation(
VideoRotation rotation)
设置视频帧旋转角度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| rotation | VideoRotation | 视频帧旋转角度,参看 VideoRotation |
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setColorSpace(
ColorSpace colorSpace)
设置视频帧色彩空间
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| colorSpace | ColorSpace | 视频帧色彩空间,参看 ColorSpace |
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setPlaneData(
int planeIndex,
ByteBuffer buffer)
设置像素平面数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| planeIndex | int | 像素平面数据索引 |
| buffer | ByteBuffer | plane 要设置的 ByteBuffer,如果设置的是一个 DirectBuffer,则不会发生拷贝,如果不是,则会发生一次拷贝 |
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setPlaneStride(
int planeIndex,
int stride)
设置指定像素平面的跨距
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| planeIndex | int | 像素平面数据索引 |
| stride | int | 当前像素平面的跨度 |
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setExternalDataInfo(
ByteBuffer externalDataInfo)
设置 SEI 数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| externalDataInfo | ByteBuffer | SEI 数据,如果设置的是一个 DirectBuffer,则不会发生拷贝,如果不是,则会发生一次拷贝 |
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setSupplementaryInfo(
ByteBuffer supplementaryInfo)
设置补充数据指针
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| supplementaryInfo | ByteBuffer | 补充数据指针,如果设置的是一个 DirectBuffer,则不会发生拷贝,如果不是,则会发生一次拷贝 |
public CpuBufferVideoFrameBuilder com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.setReleaseCallback(
Runnable releaseCallback)
设置视频帧的释放回调,当视频帧的引用计数归 0 时,会执行 releaseCallback
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| releaseCallback | Runnable | 视频帧的释放回调 |
public VideoFrame com.ss.bytertc.engine.video.builder.CpuBufferVideoFrameBuilder.build()
获取到创建好的视频帧
返回值 创建好的视频帧,参看 VideoFrame
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 |
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setTimeStampUs(
long timeStampUs)
设置视频帧的时间戳
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| timeStampUs | long | 视频帧时间戳 |
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setWidth(
int width)
设置视频帧宽度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| width | int | 视频帧宽度,单位:像素 |
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setHeight(
int height)
设置视频帧高度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| height | int | 视频帧高度,单位:像素 |
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setRotation(
VideoRotation rotation)
设置视频帧旋转角度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| rotation | VideoRotation | 视频帧旋转角度,参看 VideoRotation |
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setColorSpace(
ColorSpace colorSpace)
设置视频帧色彩空间
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| colorSpace | ColorSpace | 视频帧色彩空间,参看 ColorSpace |
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setExternalDataInfo(
ByteBuffer externalDataInfo)
设置 SEI 数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| externalDataInfo | ByteBuffer | SEI 数据,如果设置的是一个 DirectBuffer,则不会发生拷贝,如果不是,则会发生一次拷贝 |
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setSupplementaryInfo(
ByteBuffer supplementaryInfo)
设置补充数据指针
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| supplementaryInfo | ByteBuffer | 补充数据指针,如果设置的是一个 DirectBuffer,则不会发生拷贝,如果不是,则会发生一次拷贝 |
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setTextureID(
int textureID)
设置视频帧的纹理 ID
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| textureID | int | 纹理 ID |
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setTextureMatrix(
float[] textureMatrix)
设置视频帧纹理矩阵
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| textureMatrix | float[] | 视频帧纹理矩阵 |
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setEGLContext(
EGLContext eglContext)
设置视频帧的 EGLContext
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eglContext | EGLContext | 视频帧的 EGLContext |
public GLTextureVideoFrameBuilder com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.setReleaseCallback(
Runnable releaseCallback)
设置视频帧的释放回调,当视频帧的引用计数归 0 时,会执行 releaseCallback
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| releaseCallback | Runnable | 视频帧的释放回调 |
public VideoFrame com.ss.bytertc.engine.video.builder.GLTextureVideoFrameBuilder.build()
获取到创建好的视频帧
返回值 创建好的视频帧,参看 VideoFrame
public interface com.ss.bytertc.engine.IAudioProcessor
自定义音频处理器
| 返回 | 名称 |
|---|---|
| int | processAudioFrame |
int com.ss.bytertc.engine.IAudioProcessor.processAudioFrame(
IAudioFrame audioFrame)
获取 RTC SDK 采集得到的音频帧,并进行自定义处理,最终将处理后的音频帧给到 RTC SDK 用于编码传输。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrame | IAudioFrame | RTC SDK 采集到的音频帧,自定义处理可直接对音频 buffer 进行修改。参看 IAudioFrame。 |
返回值
0: 未处理
>0: 处理成功
< 0: 处理失败
注意
在进行音频自定义处理前,你需要调用 registerLocalAudioProcessor 设置音频自定义处理器。
public class com.ss.bytertc.engine.RTCStream
流属性。
| 类型 | 名称 |
|---|---|
| String | userId |
| boolean | isScreen |
| boolean | hasVideo |
| boolean | hasAudio |
| List |
videoStreamDescriptions |
public String com.ss.bytertc.engine.RTCStream.userId;
发布此流的用户 ID 。
public boolean com.ss.bytertc.engine.RTCStream.isScreen;
此流是否为共享屏幕流。
public boolean com.ss.bytertc.engine.RTCStream.hasVideo;
此流是否包括视频流。
public boolean com.ss.bytertc.engine.RTCStream.hasAudio;
流是否包括音频流。
public List<VideoStreamDescription> com.ss.bytertc.engine.RTCStream.videoStreamDescriptions;
视频流的属性。
当远端用户调用 setVideoEncoderConfig 方法发布多个配置的视频流时,此处会包含该用户发布的所有视频流的属性信息。
参看 VideoStreamDescription。
public class com.ss.bytertc.engine.SubscribeConfig
选择订阅配置
| 类型 | 名称 |
|---|---|
| boolean | isScreen |
| boolean | subVideo |
| boolean | subAudio |
| int | sub_width |
| int | sub_height |
| int | framerate |
| 返回 | 名称 |
|---|---|
| SubscribeConfig | SubscribeConfig |
public boolean com.ss.bytertc.engine.SubscribeConfig.isScreen;
是否是屏幕流
public boolean com.ss.bytertc.engine.SubscribeConfig.subVideo;
是否订阅视频
public boolean com.ss.bytertc.engine.SubscribeConfig.subAudio;
是否订阅音频
public int com.ss.bytertc.engine.SubscribeConfig.sub_width = 0;
视频宽度,单位:px
public int com.ss.bytertc.engine.SubscribeConfig.sub_height = 0;
视频高度,单位:px
public int com.ss.bytertc.engine.SubscribeConfig.framerate = 0;
期望订阅的最高帧率,单位:fps,默认值为 0,设为大于 0 的值时开始生效。
当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。
仅码流支持 SVC 分级编码特性时方可生效。
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)
public enum com.ss.bytertc.engine.SubscribeConfig.SVCLayer
时域分层订阅层级
| 类型 | 说明 |
|---|---|
| SVCLayerDefault(0) | 不指定分层(默认值) |
| SVCLayerBase(1) | T0层 |
| SVCLayerMain(2) | T0+T1层 |
| SVCLayerHigh(3) | T0+T1+T2层 |
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 | 订阅/取消订阅流失败,信令错误,请重试 |
public class com.ss.bytertc.engine.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。 |
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 |
public int com.ss.bytertc.engine.SysStats.cpu_cores;
设备的 CPU 核数
public double com.ss.bytertc.engine.SysStats.cpu_app_usage;
应用的 CPU 使用率,取值范围为 [0, 1]。
public double com.ss.bytertc.engine.SysStats.cpu_total_usage;
系统的 CPU 使用率,取值范围为 [0, 1]。
public double com.ss.bytertc.engine.SysStats.memory_usage;
应用的内存占用大小(单位 MB)
public long com.ss.bytertc.engine.SysStats.full_memory;
设备的内存大小 单位:MB
public long com.ss.bytertc.engine.SysStats.total_memory_usage;
系统已使用内存 MB
public long com.ss.bytertc.engine.SysStats.free_memory;
系统当前空闲内存(MB)
public double com.ss.bytertc.engine.SysStats.memory_ratio;
当前应用的内存使用率(单位 %)
public double com.ss.bytertc.engine.SysStats.total_memory_ratio;
系统内存使用率(单位 %)
public class com.ss.bytertc.engine.UserInfo
用户信息
| 返回 | 名称 |
|---|---|
| UserInfo | UserInfo |
public com.ss.bytertc.engine.UserInfo.UserInfo(
String uid,
String extraInfo)
用户信息
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 用户 ID。 |
| extraInfo | String | 额外信息。 |
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 |
public static final int com.ss.bytertc.engine.VideoCanvas.RENDER_MODE_HIDDEN = 1;
视窗填满优先。
视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。
缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长大于等于视窗对应边长。
public static final int com.ss.bytertc.engine.VideoCanvas.RENDER_MODE_FIT = 2;
视频帧内容全部显示优先。
视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将填充 background_color。
缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长小于等于视窗对应边长。
public static final int com.ss.bytertc.engine.VideoCanvas.RENDER_MODE_Fill = 3;
视频帧自适应画布
视频帧非等比缩放,直至画布被填满。在此过程中,视频帧的长宽比例可能会发生变化。
public View com.ss.bytertc.engine.VideoCanvas.renderView;
需要渲染的视图
public int com.ss.bytertc.engine.VideoCanvas.renderMode;
渲染模式:可选 RENDER_MODE_HIDDEN, RENDER_MODE_FIT 和 RENDER_MODE_Fill。
public String com.ss.bytertc.engine.VideoCanvas.roomId;
房间 ID
public String com.ss.bytertc.engine.VideoCanvas.uid;
用户 ID
public String com.ss.bytertc.engine.VideoCanvas.streamId;
视图对应的公共流ID
public boolean com.ss.bytertc.engine.VideoCanvas.isScreen;
是否是屏幕流
public int com.ss.bytertc.engine.VideoCanvas.background_color;
用于填充画布空白部分的背景颜色。取值范围是 [0x0000000, 0xFFFFFFFF]。默认值是 0x00000000。其中,透明度设置无效。
public class com.ss.bytertc.engine.VideoStreamDescription
视频流参数描述
| 类型 | 名称 |
|---|---|
| Pair |
videoSize |
| int | frameRate |
| int | maxKbps |
| ScaleMode | scaleMode |
| EncoderPreference | encodePreference |
public Pair<Integer, Integer> com.ss.bytertc.engine.VideoStreamDescription.videoSize;
视频分辨率
public int com.ss.bytertc.engine.VideoStreamDescription.frameRate;
视频帧率
public int com.ss.bytertc.engine.VideoStreamDescription.maxKbps;
最大码率
public ScaleMode com.ss.bytertc.engine.VideoStreamDescription.scaleMode = ScaleMode.SCALE_MODE_AUTO;
缩放策略,默认为自动模式。
public EncoderPreference com.ss.bytertc.engine.VideoStreamDescription.encodePreference = EncoderPreference.MaintainFramerate;
编码策略偏好,详见 EncoderPreference
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) | 视频帧内容全部显示优先。 视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将被涂黑。 缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长小于等于视窗对应边长。 |
public enum com.ss.bytertc.engine.VideoStreamDescription.CodecMode
编码器模式(使用软编码或者硬编码)
| 类型 | 说明 |
|---|---|
| CODEC_MODE_AUTO(0) | 自动模式 |
| CODEC_MODE_HARDWARE(1) | 硬编码模式 |
| CODEC_MODE_SOFTWARE(2) | 软编码模式 |
public enum com.ss.bytertc.engine.VideoStreamDescription.VideoCodecType
编码模式(H264, ByteVC1)
| 类型 | 说明 |
|---|---|
| CODEC_TYPE_AUTO(0) | 自动选择编码模式 |
| CODEC_TYPE_H264(1) | H264 |
| CODEC_TYPE_BYTEVC1(2) | ByteVC1 |
public enum com.ss.bytertc.engine.VideoStreamDescription.EncoderPreference
编码策略偏好
| 类型 | 说明 |
|---|---|
| Disabled(0) | 无偏好 |
| MaintainFramerate(1) | 帧率优先 |
| MaintainQuality(2) | 质量优先 |
| Balance(3) | 平衡质量与帧率 |
public class com.ss.bytertc.engine.MultiRoomConfig
多房间参数配置
| 类型 | 名称 |
|---|---|
| RTCEngine.ChannelProfile | profile |
| boolean | isAutoSubscribeAudio |
| boolean | isAutoSubscribeVideo |
| RemoteVideoConfig | remoteVideoConfig |
| 返回 | 名称 |
|---|---|
| int | getRemoteVideoConfigWidth |
| int | getRemoteVideoConfigHeight |
| int | getRemoteVideoConfigFrameRate |
public RTCEngine.ChannelProfile com.ss.bytertc.engine.MultiRoomConfig.profile;
房间模式,参看 ChannelProfile,默认为普通音视频通话模式,进房后不可更改。
public boolean com.ss.bytertc.engine.MultiRoomConfig.isAutoSubscribeAudio;
是否自动订阅音频流,默认为自动订阅。
public boolean com.ss.bytertc.engine.MultiRoomConfig.isAutoSubscribeVideo;
是否自动订阅摄像头采集的视频流,默认为自动订阅。
屏幕流始终自动订阅,不受该方法影响。
public RemoteVideoConfig com.ss.bytertc.engine.MultiRoomConfig.remoteVideoConfig = null;
远端视频流参数,参看 RemoteVideoConfig
public int com.ss.bytertc.engine.MultiRoomConfig.getRemoteVideoConfigWidth()
public int com.ss.bytertc.engine.MultiRoomConfig.getRemoteVideoConfigHeight()
public int com.ss.bytertc.engine.MultiRoomConfig.getRemoteVideoConfigFrameRate()
public class com.ss.bytertc.engine.RTCRoomConfig
房间参数配置
| 类型 | 名称 |
|---|---|
| RTCEngine.ChannelProfile | profile |
| boolean | isAutoPublish |
| boolean | isAutoSubscribeAudio |
| boolean | isAutoSubscribeVideo |
| RemoteVideoConfig | remoteVideoConfig |
| 返回 | 名称 |
|---|---|
| int | getRemoteVideoConfigWidth |
| int | getRemoteVideoConfigHeight |
| int | getRemoteVideoConfigFrameRate |
public RTCEngine.ChannelProfile com.ss.bytertc.engine.RTCRoomConfig.profile;
房间模式,参看 ChannelProfile,默认为 CHANNEL_PROFILE_COMMUNICATION,进房后不可更改。
public boolean com.ss.bytertc.engine.RTCRoomConfig.isAutoPublish;
是否自动发布音视频流,默认为自动发布。
若调用 setUserVisibility 将自身可见性设为 false,无论是默认的自动发布流还是手动设置的自动发布流都不会进行发布,你需要将自身可见性设为 true 后方可发布。
public boolean com.ss.bytertc.engine.RTCRoomConfig.isAutoSubscribeAudio;
是否自动订阅音频流,默认为自动订阅。
public boolean com.ss.bytertc.engine.RTCRoomConfig.isAutoSubscribeVideo;
是否自动订阅主视频流,默认为自动订阅。
屏幕流始终自动订阅,不受该参数影响。
public RemoteVideoConfig com.ss.bytertc.engine.RTCRoomConfig.remoteVideoConfig = null;
远端视频流参数,参看 RemoteVideoConfig
public int com.ss.bytertc.engine.RTCRoomConfig.getRemoteVideoConfigWidth()
public int com.ss.bytertc.engine.RTCRoomConfig.getRemoteVideoConfigHeight()
public int com.ss.bytertc.engine.RTCRoomConfig.getRemoteVideoConfigFrameRate()