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.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.data.AudioFormat
音频参数格式
| 类型 | 名称 |
|---|---|
| AudioSampleRate | sampleRate |
| AudioChannel | channel |
| 返回 | 名称 |
|---|---|
| AudioFormat | AudioFormat |
| String | toString |
public AudioSampleRate com.ss.bytertc.engine.data.AudioFormat.sampleRate;
音频采样率,详见 AudioSampleRate
public AudioChannel com.ss.bytertc.engine.data.AudioFormat.channel;
音频声道,详见 AudioChannel
public com.ss.bytertc.engine.data.AudioFormat.AudioFormat(
AudioSampleRate sampleRate,
AudioChannel channel)
构造函数
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| sampleRate | AudioSampleRate | 音频采样率 |
| channel | AudioChannel | 音频声道 |
public String com.ss.bytertc.engine.data.AudioFormat.toString()
public enum com.ss.bytertc.engine.data.AudioSampleRate
音频采样率,单位为 Hz。
| 类型 | 说明 |
|---|---|
| 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 采样率 |
| 返回 | 名称 |
|---|---|
| static AudioSampleRate | fromId |
| 返回 | 名称 |
|---|---|
| int | value |
| String | toString |
public static AudioSampleRate com.ss.bytertc.engine.data.AudioSampleRate.fromId(
int id)
public int com.ss.bytertc.engine.data.AudioSampleRate.value()
获取当前值
返回值 当前值
public String com.ss.bytertc.engine.data.AudioSampleRate.toString()
public enum com.ss.bytertc.engine.data.AudioChannel
音频声道
| 类型 | 说明 |
|---|---|
| AUDIO_CHANNEL_MONO(1) | 单声道 |
| AUDIO_CHANNEL_STEREO(2) | 双声道 |
| 返回 | 名称 |
|---|---|
| static AudioChannel | fromId |
| 返回 | 名称 |
|---|---|
| int | value |
| String | toString |
public static AudioChannel com.ss.bytertc.engine.data.AudioChannel.fromId(
int id)
public int com.ss.bytertc.engine.data.AudioChannel.value()
获取当前值
返回值 当前值
public String com.ss.bytertc.engine.data.AudioChannel.toString()
public enum com.ss.bytertc.engine.data.AudioPerformanceProfile
音频处理策略等级。
你可以设置音频处理策略等级。参看 SetAudioPerformanceProfile。
| 类型 | 说明 |
|---|---|
| AUDIO_PERFORMANCE_PROFILE_AUTO(0) | 自动策略。根据应用所在机型等级,自动适配音频处理策略。 |
| AUDIO_PERFORMANCE_PROFILE_LOW(1) | 低配策略。关闭 AEC、ANS、AGC 算法,音频采样率设置为 16000。 |
| AUDIO_PERFORMANCE_PROFILE_MID(2) | 中配策略。开启 AEC、ANS、AGC 算法,音频采样率设置为 16000。 |
| AUDIO_PERFORMANCE_PROFILE_HIGH(3) | 高配策略。开启 AEC、ANS、AGC 算法,音频采样率设置为 48000。 |
| 返回 | 名称 |
|---|---|
| static AudioPerformanceProfile | fromId |
| 返回 | 名称 |
|---|---|
| int | value |
| String | toString |
public static AudioPerformanceProfile com.ss.bytertc.engine.data.AudioPerformanceProfile.fromId(
int id)
public int com.ss.bytertc.engine.data.AudioPerformanceProfile.value()
AudioPerformanceProfile的int value
返回值 int类型的value
public String com.ss.bytertc.engine.data.AudioPerformanceProfile.toString()
public enum com.ss.bytertc.engine.data.AudioPlaybackDevice
音频设备类型。
音频设备变化时 SDK 通过 onAudioPlaybackDeviceChanged 回调当前音频设备播放类型。
| 类型 | 说明 |
|---|---|
| AUDIO_PLAYBACK_DEVICE_SPEAKERPHONE(1) | 扬声器 |
| AUDIO_PLAYBACK_DEVICE_EARPIECE(2) | 听筒 |
| AUDIO_PLAYBACK_DEVICE_HEADSET(3) | 有线耳机 |
| AUDIO_PLAYBACK_DEVICE_HEADSET_BLUETOOTH(4) | 蓝牙耳机 |
| 返回 | 名称 |
|---|---|
| static AudioPlaybackDevice | fromId |
| 返回 | 名称 |
|---|---|
| int | value |
| String | toString |
public static AudioPlaybackDevice com.ss.bytertc.engine.data.AudioPlaybackDevice.fromId(
int id)
public int com.ss.bytertc.engine.data.AudioPlaybackDevice.value()
获取当前值
返回值 当前值
public String com.ss.bytertc.engine.data.AudioPlaybackDevice.toString()
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) | 没有可用的音频录制设备 |
| 返回 | 名称 |
|---|---|
| static LocalAudioStreamError | fromId |
| 返回 | 名称 |
|---|---|
| int | value |
| String | toString |
public static LocalAudioStreamError com.ss.bytertc.engine.data.LocalAudioStreamError.fromId(
int id)
public int com.ss.bytertc.engine.data.LocalAudioStreamError.value()
获取当前值
返回值 当前值
public String com.ss.bytertc.engine.data.LocalAudioStreamError.toString()
public enum com.ss.bytertc.engine.data.LocalAudioStreamState
本地音频流状态。
SDK 通过 OnLocalAudioStateChanged 回调该状态。
| 类型 | 说明 |
|---|---|
| LOCAL_AUDIO_STREAM_STATE_STOPPED(0) | 本地音频默认初始状态。 麦克风停止工作时回调该状态,对应错误码 LocalAudioStreamError.kLocalAudioStreamErrorOkLocalAudioStreamError |
| LOCAL_AUDIO_STREAM_STATE_RECORDING(1) | 本地音频录制设备启动成功。 采集到音频首帧时回调该状态,对应错误码 LocalAudioStreamError.kLocalAudioStreamErrorOkLocalAudioStreamError |
| LOCAL_AUDIO_STREAM_STATE_ENCODING(2) | 本地音频首帧编码成功。 音频首帧编码成功时回调该状态,对应错误码 LocalAudioStreamError.kLocalAudioStreamErrorOkLocalAudioStreamError |
| LOCAL_AUDIO_STREAM_STATE_FAILED(3) | 本地音频启动失败,在以下时机回调该状态: + 本地录音设备启动失败,对应错误码 LocalAudioStreamError.kLocalAudioStreamErrorRecordFailureLocalAudioStreamError + 检测到没有录音设备权限,对应错误码 LocalAudioStreamError.kLocalAudioStreamErrorDeviceNoPermissionLocalAudioStreamError + 音频编码失败,对应错误码 LocalAudioStreamError.kLocalAudioStreamErrorEncodeFailureLocalAudioStreamError |
| 返回 | 名称 |
|---|---|
| static LocalAudioStreamState | fromId |
| 返回 | 名称 |
|---|---|
| int | value |
| String | toString |
public static LocalAudioStreamState com.ss.bytertc.engine.data.LocalAudioStreamState.fromId(
int id)
public int com.ss.bytertc.engine.data.LocalAudioStreamState.value()
获取当前值
返回值 当前值
public String com.ss.bytertc.engine.data.LocalAudioStreamState.toString()
public enum com.ss.bytertc.engine.data.RemoteAudioState
用户订阅的远端音频流状态。
SDK 通过 OnRemoteAudioStateChanged 回调该状态。
| 类型 | 说明 |
|---|---|
| REMOTE_AUDIO_STATE_STOPPED(0) | 远端音频流默认初始状态,在以下时机回调该状态: + 本地用户停止接收远端音频流,对应原因是 RemoteAudioStateChangeReason.kRemoteAudioReasonLocalMutedRemoteAudioStateChangeReason + 远端用户停止发送音频流,对应原因是 RemoteAudioStateChangeReason.kRemoteAudioReasonRemoteMutedRemoteAudioStateChangeReason + 远端用户离开房间,对应原因是 RemoteAudioStateChangeReason.kRemoteAudioReasonRemoteOfflineRemoteAudioStateChangeReason |
| REMOTE_AUDIO_STATE_STARTING(1) | 开始接收远端音频流首包。 刚收到远端音频流首包时,会触发回调 onRemoteAudioStateChanged, 对应原因是 RemoteAudioStateChangeReason.kRemoteAudioReasonLocalUnmutedRemoteAudioStateChangeReason。 |
| REMOTE_AUDIO_STATE_DECODING(2) | 远端音频流正在解码,正常播放,在以下时机回调该状态: + 成功解码远端音频首帧,对应原因是 RemoteAudioStateChangeReason.kRemoteAudioReasonLocalUnmutedRemoteAudioStateChangeReason + 网络由阻塞恢复正常,对应原因是 RemoteAudioStateChangeReason.kRemoteAudioReasonNetworkRecoveryRemoteAudioStateChangeReason + 本地用户恢复接收远端音频流,对应原因是 RemoteAudioStateChangeReason.kRemoteAudioReasonLocalUnmutedRemoteAudioStateChangeReason + 远端用户恢复发送音频流,对应原因是 RemoteAudioStateChangeReason.kRemoteAudioReasonRemoteUnmutedRemoteAudioStateChangeReason |
| REMOTE_AUDIO_STATE_FROZEN(3) | 远端音频流卡顿。 网络阻塞导致丢包率大于 40% 时回调该状态,对应原因是 RemoteAudioStateChangeReason.kRemoteAudioReasonNetworkCongestionRemoteAudioStateChangeReason 。 |
| 返回 | 名称 |
|---|---|
| static RemoteAudioState | fromId |
| 返回 | 名称 |
|---|---|
| int | value |
| String | toString |
public static RemoteAudioState com.ss.bytertc.engine.data.RemoteAudioState.fromId(
int id)
public int com.ss.bytertc.engine.data.RemoteAudioState.value()
获取当前值
返回值 当前值
public String com.ss.bytertc.engine.data.RemoteAudioState.toString()
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) | 远端用户离开房间 |
| 返回 | 名称 |
|---|---|
| static RemoteAudioStateChangeReason | fromId |
| 返回 | 名称 |
|---|---|
| int | value |
| String | toString |
public static RemoteAudioStateChangeReason com.ss.bytertc.engine.data.RemoteAudioStateChangeReason.fromId(
int id)
public int com.ss.bytertc.engine.data.RemoteAudioStateChangeReason.value()
获取当前值
返回值 当前值
public String com.ss.bytertc.engine.data.RemoteAudioStateChangeReason.toString()
public class com.ss.bytertc.engine.live.LiveTranscoding
合流转推配置参数。
| 类型 | 名称 |
|---|---|
| String | ACTION_START |
| String | ACTION_CHANGED |
| String | ACTION_STOPPED |
public static final String com.ss.bytertc.engine.live.LiveTranscoding.ACTION_START = "started";
设置合流转推动作参数,ACTION_START 表示开启直播推流功能。
public static final String com.ss.bytertc.engine.live.LiveTranscoding.ACTION_CHANGED = "layoutChanged";
设置合流转推动作参数,ACTION_CHANGED 表示更新视频合流布局。
public static final String com.ss.bytertc.engine.live.LiveTranscoding.ACTION_STOPPED = "stopped";
设置合流转推动作参数,ACTION_STOPPED 表示停止直播推流功能。
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 |
public static class com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig
视频转码配置参数。
public enum com.ss.bytertc.engine.live.LiveTranscoding.VideoConfig.VideoCodecType
合流转推视频编码器格式。
| 类型 | 说明 |
|---|---|
| VIDEO_CODEC_TYPE_H264("H264") | 使用 H264 编码格式 |
| VIDEO_CODEC_TYPE_BYTEVC1("ByteVC1") | BYTE VC1 编码器 |
public static class com.ss.bytertc.engine.live.LiveTranscoding.AudioConfig
音频转码配置参数。
public static class com.ss.bytertc.engine.live.LiveTranscoding.Layout
视频流合流整体布局信息。
此数据类型为,开启直播推流转码功能,视频合流的完整信息。包括了参与合流的每路视频流的预设布局信息和合流背景信息等。
public static class com.ss.bytertc.engine.live.LiveTranscoding.Layout.Region
单个视频流在合流中的布局信息。 此数据类型为,开启直播推流转码功能,多路视频流合流时,其中一路视频流在合流中的预设布局信息。
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
订阅模式选项。业务方在加入房间前,调用 EnableAutoSubscribe 接口设置订阅模式。
| 类型 | 说明 |
|---|---|
| AUTO_SUBSCRIBE_MODE(0) | 自动订阅模式。SDK 会自动为用户订阅房间中的每一路流。 |
| MANUAL_SUBSCRIBE_MODE(1) | 手动订阅模式。SDK 不为自动订阅流。 |
| 返回 | 名称 |
|---|---|
| MANUAL_SUBSCRIBE_MODE(1); int value = 0; | SubscribeMode |
| int | value |
MANUAL_SUBSCRIBE_MODE(
1)
public int com.ss.bytertc.engine.RTCEngine.SubscribeMode.value()
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.BackgroundMode
背景模式 开启背景替换功能时生效,详见 replaceBackground。
| 类型 | 说明 |
|---|---|
| BACKGROUND_A(0) | 背景1 |
| BACKGROUND_B(1) | 背景2 |
| BLUR(2) | 虚化 |
| NONE(3) | 无 |
| 返回 | 名称 |
|---|---|
| int | value |
public int com.ss.bytertc.engine.RTCEngine.BackgroundMode.value()
获取 Background 的 int value
返回值 int 类型的 value
public enum com.ss.bytertc.engine.RTCEngine.DivideModel
分割模型 开启背景替换功能时生效,详见replaceBackground。
| 类型 | 说明 |
|---|---|
| EFFECT(0) | effect |
| DEFAULT(1) | 自研 |
| 返回 | 名称 |
|---|---|
| int | value |
public int com.ss.bytertc.engine.RTCEngine.DivideModel.value()
DivideModel 的 int value
返回值 int 类型的 value
public enum com.ss.bytertc.engine.RTCEngine.ClientRole
用户角色。
| 类型 | 说明 |
|---|---|
| CLIENT_ROLE_BROADCASTER | 主播角色。该角色用户可在房间内发布和订阅音视频流,房间中的其他用户可以感知到该用户的存在。 |
| CLIENT_ROLE_SILENT_AUDIENCE | 静默观众角色。该众角色用户只可在房间内订阅音视频流,房间中的其他用户无法感知到该用户的存在。 |
public enum com.ss.bytertc.engine.RTCEngine.ChannelProfile
设置房间模式。
你应该根据业务需要,选择合适的房间模式。
你必须在进房前设置房间模式,并且进房后不可更改。
| 类型 | 说明 |
|---|---|
| CHANNEL_PROFILE_COMMUNICATION | 通信模式。 |
| CHANNEL_PROFILE_LIVE_BROADCASTING | 直播模式。 |
| CHANNEL_PROFILE_GAME | 游戏模式。SDK 会使用低延时设置。 |
| CHANNEL_PROFILE_CLOUD_GAME | 云游戏模式。SDK 会使用低延时设置。 |
public enum com.ss.bytertc.engine.RTCEngine.AudioScenarioType
音频场景类型。
选择音频场景后,RTC 会自动根据客户端音频路由和发布订阅状态,适用通话音量/媒体音量。
你可以调用 SetAudioScenario 设置音频场景。
如果以下音频场景类型无法满足你的业务需要,请联系技术支持同学进行定制。
| 类型 | 说明 | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AUDIO_SCENARIO_MUSIC | 音乐场景。默认为此场景。 此场景适用于对音乐表现力有要求的场景,如音乐直播等。 音频路由和发布订阅状态,到音量类型的映射如下:
|
||||||||||||||||||||
| AUDIO_SCENARIO_HIGHQUALITY_COMMUNICATION | 高质量通话场景。 此场景适用于对音乐表现力有要求,但又希望能够使用蓝牙耳机上自带的麦克风进行音频采集的场景。 此场景可以兼顾外放/使用蓝牙耳机时的音频体验,并避免使用蓝牙耳机时音量类型切换导致的听感突变。 音频路由和发布订阅状态,到音量类型的映射如下:
|
||||||||||||||||||||
| AUDIO_SCENARIO_COMMUNICATION | 纯通话音量场景。 此场景下,无论客户端音频路由情况和发布订阅状态,全程使用通话音量。 适用于需要频繁上下麦的通话或会议场景。 此场景可以保持统一的音频模式,不会有音量突变的听感; 最大程度地消除回声,使通话清晰度达到最优; 使用蓝牙耳机时,能够使用蓝牙耳机上自带的麦克风进行音频采集。 但是,会压低使用媒体音量进行播放的其他音频的音量,且音质会变差。 |
||||||||||||||||||||
| AUDIO_SCENARIO_MEDIA | 纯媒体场景。一般不建议使用。 此场景下,无论客户端音频路由情况和发布订阅状态,全程使用媒体音量。 外放通话时,极易出现回声和啸叫。 |
public enum com.ss.bytertc.engine.RTCEngine.SubscribeFallbackOptions
订阅回退选项。
| 类型 | 说明 |
|---|---|
| SUBSCRIBE_FALLBACK_OPTIONS_DISABLED(0) | 下行网络较弱时,不对音视频流作回退处理,默认值。 |
| SUBSCRIBE_FALLBACK_OPTIONS_STREAM_LOW(1) | 下行网络较弱时只接收视频小流。 |
| 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, "没有问题") | 没有问题 |
| PROBLEM_OTHER_MSG (1,"其他问题") | 其他问题 |
| PROBLEM_AUDIO_NOT_CLEAR (1 << 1, "声音不清晰") | 声音不清晰 |
| PROBLEM_VIDEO_NOT_CLEAR (1 << 2, "视频不清晰") | 视频不清晰 |
| PROBLEM_SYNC (1 << 3, "音视频不同步") | 音视频不同步 |
| PROBLEM_AUDIO_LAGGING (1 << 4, "音频卡顿") | 音频卡顿 |
| PROBLEM_VIDEO_LAGGING (1 << 5, "视频卡顿") | 视频卡顿 |
| PROBLEM_CONNECT_FAILED (1 << 6, "无法连接") | 无法连接 |
| PROBLEM_AUDIO_DELAY (1 << 7, "音频延迟") | 音频延迟 |
| PROBLEM_VIDEO_DELAY (1 << 8, "视频延迟") | 视频延迟 |
| PROBLEM_DISCONNECT (1 << 9, "连接断开") | 连接断开 |
| PROBLEM_NO_AUDIO (1 << 10, "无声音") | 无声音 |
| PROBLEM_NO_VIDEO (1 << 11, "无画面") | 无画面 |
| PROBLEM_AUDIO_STRENGTH (1 << 12, "声音过大或过小") | 声音过大或过小 |
| PROBLEM_ECHO (1 << 13, "回声噪音") | 回声噪音 |
public class com.ss.bytertc.engine.VideoCanvas
画布信息和渲染模式
| 类型 | 名称 |
|---|---|
| int | RENDER_MODE_HIDDEN |
| int | RENDER_MODE_FIT |
| View | renderView |
| int | renderMode |
| String | roomId |
| String | uid |
| boolean | isScreen |
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;
视频帧内容全部显示优先。
视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将被涂黑。
缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长小于等于视窗对应边长。
public View com.ss.bytertc.engine.VideoCanvas.renderView;
需要渲染的视图
public int com.ss.bytertc.engine.VideoCanvas.renderMode;
渲染模式
public String com.ss.bytertc.engine.VideoCanvas.roomId;
视图所在的房间 ID
public String com.ss.bytertc.engine.VideoCanvas.uid;
视图对应的用户 ID
public boolean com.ss.bytertc.engine.VideoCanvas.isScreen;
是否是屏幕流
public @interface com.ss.bytertc.engine.mediaio.RTCVideoFrame.BufferType
视频帧缓冲区格式
| 类型 | 名称 |
|---|---|
| int | RAWDATA |
| int | TEXTURE |
int com.ss.bytertc.engine.mediaio.RTCVideoFrame.BufferType.RAWDATA = 0;
原始数据
int com.ss.bytertc.engine.mediaio.RTCVideoFrame.BufferType.TEXTURE = 1;
纹理数据格式
public @interface com.ss.bytertc.engine.mediaio.RTCVideoFrame.PixelFormat
视频帧数据格式
| 类型 | 名称 |
|---|---|
| int | I420 |
| int | NV21 |
| int | TEXTURE_2D |
| int | TEXTURE_OES |
int com.ss.bytertc.engine.mediaio.RTCVideoFrame.PixelFormat.I420 = 1;
I420数据格式
int com.ss.bytertc.engine.mediaio.RTCVideoFrame.PixelFormat.NV21 = 3;
NV21数据格式
int com.ss.bytertc.engine.mediaio.RTCVideoFrame.PixelFormat.TEXTURE_2D = 10;
2d纹理格式
int com.ss.bytertc.engine.mediaio.RTCVideoFrame.PixelFormat.TEXTURE_OES = 11;
oes纹理格式
public enum com.ss.bytertc.engine.VideoStreamDescription.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.VideoStreamDescription.CodecMode
编码器Mode(使用软编码或者硬编码)
| 类型 | 说明 |
|---|---|
| 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.data.RemoteStreamKey
远端流信息
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.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 | 远端用户停止发布流。 |
| STREAM_REMOVE_REASON_PUBLISH_FAILED | 远端用户发布流失败。 |
| STREAM_REMOVE_REASON_KEEP_LIVE_FAILED | 保活失败。 |
| STREAM_REMOVE_REASON_CLIENT_DISCONNECTED | 远端用户断网。 |
| STREAM_REMOVE_REASON_REPUBLISH | 远端用户重新发布流。 |
| STREAM_REMOVE_REASON_OTHER | 其他原因。 |
public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalVideoStreamState
本地视频流状态
| 类型 | 说明 |
|---|---|
| LOCAL_VIDEO_STREAM_STATE_STOPPED(0) | 本地视频采集停止状态(默认初始状态) 本地视频采集关闭时回调该状态,对应错误码 LOCAL_VIDEO_STREAM_ERROR_OKLocalVideoStreamError |
| LOCAL_VIDEO_STREAM_STATE_RECORDING(1) | 本地视频采集设备启动成功 本地视频采集开启时回调该状态,对应错误码 LOCAL_VIDEO_STREAM_ERROR_OKLocalVideoStreamError |
| LOCAL_VIDEO_STREAM_STATE_ENCODING(2) | 本地视频采集后,首帧编码成功 本地视频首帧编码成功时回调该状态,对应错误码 LOCAL_VIDEO_STREAM_ERROR_OKLocalVideoStreamError |
| LOCAL_VIDEO_STREAM_STATE_FAILED(3) | 本地视频启动失败 + 本地视频采集设备启动失败,对应错误码 LOCAL_VIDEO_STREAM_ERROR_FAILURELocalVideoStreamError + 检测到没有视频采集设备权限,对应错误码 LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSIONLocalVideoStreamError + 视频编码失败,对应错误码 LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURELocalVideoStreamError |
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) | 本地视频编码失败 |
public enum com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoState
远端视频流状态。状态改变时,会收到回调:OnRemoteVideoStateChanged
| 类型 | 说明 |
|---|---|
| REMOTE_VIDEO_STATE_STOPPED(0) | 远端视频流默认初始状态,视频尚未开始播放。 |
| REMOTE_VIDEO_STATE_STARTING(1) | 本地用户已接收远端视频流首包。 |
| REMOTE_VIDEO_STATE_DECODING(2) | 远端视频流正在解码,正常播放。 |
| REMOTE_VIDEO_STATE_FROZEN(3) | 远端视频流卡顿,可能有网络等原因。 |
| 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) | 远端用户离开频道 状态转换参看 OnStreamRemove |
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 秒,仍然会继续重连。 |
| 返回 | 名称 |
|---|---|
| static ConnectionState | fromInt |
| 返回 | 名称 |
|---|---|
| ConnectionState | ConnectionState |
| int | getValue |
public static ConnectionState com.ss.bytertc.engine.handler.IRTCEngineEventHandler.ConnectionState.fromInt(
int v)
com.ss.bytertc.engine.handler.IRTCEngineEventHandler.ConnectionState.ConnectionState(
int v)
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.ConnectionState.getValue()
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 |
| 返回 | 名称 |
|---|---|
| void | reset |
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.totalDuration;
通话时长,单位为秒,累计值
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;
当前 App 的 CPU 使用率 (%)
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RTCRoomStats.reset()
重置所有的 RtcStats 成员变量的值,重新开始统计
public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.AudioVolumeInfo
声音音量信息。包含每个说话者的用户 id 和音量信息
| 类型 | 名称 |
|---|---|
| String | uid |
| int | volume |
public String com.ss.bytertc.engine.handler.IRTCEngineEventHandler.AudioVolumeInfo.uid;
说话者的用户 id
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.AudioVolumeInfo.volume;
说话者的音量,范围为 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;
用户体验级别的端到端延时。从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为 ms 。
public boolean com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.isScreen;
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteVideoStats.statsInterval;
统计间隔,此次统计周期的间隔,单位为 ms 。
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 。
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 | 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.quality;
远端用户发送的音频流质量。值含义参考 NetworkQuality 。
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteAudioStats.jitterBufferDelay;
音频发送端到接收端的网络延迟。单位为 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 。
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 |
| int | txQuality |
| int | rxQuality |
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 int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalStreamStats.txQuality;
本地媒体上行网络质量
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.LocalStreamStats.rxQuality;
本地媒体下行网络质量
public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamStats
用户订阅的远端音/视频流统计信息以及网络状况,统计周期为 2s 。
订阅远端用户发布音/视频流成功后,SDK 会周期性地通过 onRemoteStreamStats
通知本地用户订阅的远端音/视频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。
| 类型 | 名称 |
|---|---|
| String | uid |
| RemoteAudioStats | audioStats |
| RemoteVideoStats | videoStats |
| boolean | isScreen |
| int | txQuality |
| int | rxQuality |
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 int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamStats.txQuality;
所属用户的媒体流上行网络质量
public int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.RemoteStreamStats.rxQuality;
所属用户的媒体流下行网络质量
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 static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType
媒体设备类型
| 类型 | 名称 |
|---|---|
| int | MEDIA_DEVICE_TYPE_AUDIO_PLAYOUT_DEVICE |
| int | MEDIA_DEVICE_TYPE_AUDIO_RECORDING_DEVICE |
| int | MEDIA_DEVICE_TYPE_VIDEO_RENDER_DEVICE |
| int | MEDIA_DEVICE_TYPE_VIDEO_CAPTURE_DEVICE |
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_AUDIO_PLAYOUT_DEVICE = 0;
音频播放设备类型
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_AUDIO_RECORDING_DEVICE = 1;
音频录制设备类型
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_VIDEO_RENDER_DEVICE = 2;
视频渲染设备类型,该类型暂无使用
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceType.MEDIA_DEVICE_TYPE_VIDEO_CAPTURE_DEVICE = 3;
视频采集设备类型
public static class com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState
媒体设备状态
| 类型 | 名称 |
|---|---|
| int | MEDIA_DEVICE_STATE_STARTED |
| int | MEDIA_DEVICE_STATE_START_FAILED |
| int | MEDIA_DEVICE_STATE_STOPPED |
| int | MEDIA_DEVICE_STATE_STOP_FAILED |
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_STARTED = 0;
设备已开启
public static final int com.ss.bytertc.engine.handler.IRTCEngineEventHandler.MediaDeviceState.MEDIA_DEVICE_STATE_START_FAILED = 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_STOP_FAILED = 3;
设备停止失败