RtcMode

public enum com.ss.video.rtc.engine.RtcEngine.RtcMode

引擎工作模式

枚举值

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

成员函数

返回 名称
int value

函数说明

value

public int com.ss.video.rtc.engine.RtcEngine.RtcMode.value()

获取当前值

返回值

当前值

RangeAudioMode

public enum com.ss.video.rtc.engine.RtcEngine.RangeAudioMode

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

枚举值

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

成员函数

返回 名称
int value

函数说明

value

public int com.ss.video.rtc.engine.RtcEngine.RangeAudioMode.value()

获取当前值

返回值

当前值

BackgroundMode

public enum com.ss.video.rtc.engine.RtcEngine.BackgroundMode

背景模式 开启背景替换功能时生效,详见 replaceBackground。

枚举值

类型 说明
BACKGROUND_A(0) 背景1
BACKGROUND_B(1) 背景2
BLUR(2) 虚化
NONE(3) 无

成员函数

返回 名称
int value

函数说明

value

public int com.ss.video.rtc.engine.RtcEngine.BackgroundMode.value()

获取 Background 的 int value

返回值

int 类型的 value

DivideModel

public enum com.ss.video.rtc.engine.RtcEngine.DivideModel

分割模型 开启背景替换功能时生效,详见replaceBackground。

枚举值

类型 说明
EFFECT(0) effect
DEFAULT(1) 自研

成员函数

返回 名称
int value

函数说明

value

public int com.ss.video.rtc.engine.RtcEngine.DivideModel.value()

DivideModel 的 int value

返回值

int 类型的 value

AudioPerfProfile

public enum com.ss.video.rtc.engine.RtcEngine.AudioPerfProfile

用户机型等级信息。 在部分应用场景下,需要关注用户机型的配置高低,根据不同的配置,选择不同复杂度的音频处理算法,在能耗、用户体验上进行折中。

枚举值

类型 说明
AUDIO_PERF_PROFILE_AUTO(0) 自动策略,SDK 会在加入房间时上传机型信息。服务端根据机型信息判断性能级别,下发对应配置。
AUDIO_PERF_PROFILE_LOW(1) 低配策略,关闭 AEC、ANS、AGC 算法,播放 sample rate 为 16000。
策略内容可以定制,联系销售咨询具体方案
AUDIO_PERF_PROFILE_MID(2) 中配策略,开启 AEC、ANS、AGC 算法,播放 sample rate 为 16000。
策略内容可以定制,联系销售咨询具体方案
AUDIO_PERF_PROFILE_HIGH(3) 高配策略,开启 AEC、ANS、AGC 算法,播放 sample rate 为 48000。
策略内容可以定制,联系销售咨询具体方案

成员函数

返回 名称
int value

函数说明

value

public int com.ss.video.rtc.engine.RtcEngine.AudioPerfProfile.value()

AudioPerfProfile的int value

返回值

int类型的value

CLIENT_ROLE_TYPE

public enum com.ss.video.rtc.engine.RtcEngine.CLIENT_ROLE_TYPE

用户角色。房间模式为直播、游戏、云游戏模式时的可选用户角色。
用户可通过设置用户角色控制:1.发布/取消发布音视频流;2.用户自身是否在房间中隐身。设置用户角色参考 setClientRole 方法。

枚举值

类型 说明
CLIENT_ROLE_BROADCASTER 主播角色。主播角色的用户既可以发布流到房间中,也可以从房间中订阅流,房间中的其他用户可以感知到该用户在房间中。
CLIENT_ROLE_AUDIENCE 观众角色。观众角色的用户只能从房间中订阅流,不能向房间中发布流,房间中的其他用户可以感知到该用户在房间中。
CLIENT_ROLE_SILENT_AUDIENCE 静默观众角色。静默观众角色的用户只能从房间中订阅流,不能向房间中发布流,房间中的其他用户无法感知到该用户在房间中。该用户加入退出房间等行为不会通知给房间中的其他用户。

CHANNEL_PROFILE_TYPE

public enum com.ss.video.rtc.engine.RtcEngine.CHANNEL_PROFILE_TYPE

房间模式。房间使用的场景模式。
通过设置房间模式,用户可以选择应用 SDK 针对不同房间模式场景的优化策略。设置房间模式参考 setChannelProfile 方法。

枚举值

类型 说明
CHANNEL_PROFILE_COMMUNICATION 通信模式。通信模式下,无用户角色区分。适用于 IM 场景。
CHANNEL_PROFILE_LIVE_BROADCASTING 直播模式。直播模式下,有用户角色区分(用户角色参考 CLIENT_ROLE_TYPE)。适用于直播、教育大班课等场景。
CHANNEL_PROFILE_GAME 游戏模式。游戏模式下,有用户角色区分。 SDK 会使用低延时设置。适用于游戏场景。
CHANNEL_PROFILE_CLOUD_GAME 云游戏模式。云游戏模式下,有用户角色区分。 SDK 会使用低延时设置。适用于云游戏场景。

SubscribeFallbackOptions

public enum com.ss.video.rtc.engine.RtcEngine.SubscribeFallbackOptions

订阅回退选项。

枚举值

类型 说明
SUBSCRIBE_FALLBACK_OPTIONS_DISABLED(0) 下行网络较弱时,不对音视频流作回退处理,默认值。
SUBSCRIBE_FALLBACK_OPTIONS_STREAM_LOW(1) 下行网络较弱时只接收视频小流。
SUBSCRIBE_FALLBACK_OPTIONS_AUDIO_ONLY(2) 下行网络较弱时,先尝试只接收视频小流;如果网络环境无法显示视频,则再回退到只接收远端订阅的音频流。

RemoteUserPriority

public enum com.ss.video.rtc.engine.RtcEngine.RemoteUserPriority

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

枚举值

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

ConnectionState

public enum com.ss.video.rtc.engine.RtcEngine.ConnectionState

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

枚举值

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

BufferType

public @interface com.ss.video.rtc.engine.mediaio.RtcVideoFrame.BufferType

视频帧缓冲区格式

成员变量

类型 名称
int RAWDATA
int TEXTURE

变量说明

RAWDATA

int com.ss.video.rtc.engine.mediaio.RtcVideoFrame.BufferType.RAWDATA = 0;

原始数据

TEXTURE

int com.ss.video.rtc.engine.mediaio.RtcVideoFrame.BufferType.TEXTURE = 1;

纹理数据格式

PixelFormat

public @interface com.ss.video.rtc.engine.mediaio.RtcVideoFrame.PixelFormat

视频帧数据格式

成员变量

类型 名称
int I420
int NV21
int TEXTURE_2D
int TEXTURE_OES

变量说明

I420

int com.ss.video.rtc.engine.mediaio.RtcVideoFrame.PixelFormat.I420 = 1;

I420数据格式

NV21

int com.ss.video.rtc.engine.mediaio.RtcVideoFrame.PixelFormat.NV21 = 3;

NV21数据格式

TEXTURE_2D

int com.ss.video.rtc.engine.mediaio.RtcVideoFrame.PixelFormat.TEXTURE_2D = 10;

2d纹理格式

TEXTURE_OES

int com.ss.video.rtc.engine.mediaio.RtcVideoFrame.PixelFormat.TEXTURE_OES = 11;

oes纹理格式

ScaleMode

public enum com.ss.video.rtc.engine.VideoStreamDescription.ScaleMode

缩放模式

枚举值

类型 说明
Auto(0) 自动模式,目前默认是伸展
Stretch(1) 伸展模式
FitWithCropping(2) 保持比例裁剪
FitWithFilling(3) 保持比例缩放

CodecMode

public enum com.ss.video.rtc.engine.VideoStreamDescription.CodecMode

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

枚举值

类型 说明
AutoMode(0) 自动模式
HardwareMode(1) 硬编码模式
SoftwareMode(2) 软编码模式

VideoCodecType

public enum com.ss.video.rtc.engine.VideoStreamDescription.VideoCodecType

编码模式(H264, ByteVC1)

枚举值

类型 说明
AudoCodec(0) 自动选择编码模式
H264Codec(1) H264
ByteVC1Codec(2) ByteVC1

EncoderPreference

public enum com.ss.video.rtc.engine.VideoStreamDescription.EncoderPreference

编码策略偏好

枚举值

类型 说明
Disabled(0) 无偏好
MaintainFramerate(1) 帧率优先
MaintainQuality(2) 质量优先
Balance(3) 平衡质量与帧率

LiveTranscoding

public class com.ss.video.rtc.engine.live.LiveTranscoding

直播推流转码配置参数。
用户调用 enableLiveTranscoding 方法开启直播推流转码功能时,传入的合流转码配置参数。

成员变量

类型 名称
String ACTION_START
String ACTION_CHANGED
String ACTION_STOPPED

静态函数

返回 名称
static LiveTranscoding getDefualtLiveTranscode

成员函数

返回 名称
void setUrl
void setAction
void setVideo
void setAudio
void setLayout
void setAdvancedConfig
String getUrl
VideoConfig getVideo
AudioConfig getAudio
Layout getLayout

变量说明

ACTION_START

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

ACTION_CHANGED

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

ACTION_STOPPED

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

函数说明

getDefualtLiveTranscode

public static LiveTranscoding com.ss.video.rtc.engine.live.LiveTranscoding.getDefualtLiveTranscode()

获取默认的推流转码配置属性。

返回值

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

setUrl

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

设置推流 CDN 地址。

setAction

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

设置直播推流动作参数。

传入参数

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

setVideo

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

设置视频转码配置参数。

传入参数

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

setAudio

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

设置音频转码配置参数。

传入参数

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

setLayout

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

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

传入参数

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

setAdvancedConfig

public void com.ss.video.rtc.engine.live.LiveTranscoding.setAdvancedConfig(
    JSONObject advancedConfig)

设置动态扩展自定义参数。

传入参数

参数名 类型 说明
advancedConfig JSONObject 动态扩展参数。由用户自定义。

getUrl

public String com.ss.video.rtc.engine.live.LiveTranscoding.getUrl()

获取推流的 CDN 地址。

返回值

CDN 的 URL 地址。

getVideo

public VideoConfig com.ss.video.rtc.engine.live.LiveTranscoding.getVideo()

获取视频转码配置参数。

返回值

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

getAudio

public AudioConfig com.ss.video.rtc.engine.live.LiveTranscoding.getAudio()

获取音频转码配置参数。

返回值

当前音频转码配置参数。详见 LiveTranscoding.AudioConfig 数据类型。

getLayout

public Layout com.ss.video.rtc.engine.live.LiveTranscoding.getLayout()

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

返回值

当前视频流合流整体布局。详见 LiveTranscoding.Layout 数据类型。

AACProfile

public enum com.ss.video.rtc.engine.live.LiveTranscoding.AACProfile

AAC编码类型。

枚举值

类型 说明
LC("LC")
MAIN("MAIN")
HEV1("HEv1")
HEV2("HEv2")

成员函数

返回 名称
AACProfile AACProfile
String getValue

函数说明

AACProfile

com.ss.video.rtc.engine.live.LiveTranscoding.AACProfile.AACProfile(
    String value)

getValue

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

VideoConfig

public static class com.ss.video.rtc.engine.live.LiveTranscoding.VideoConfig

视频转码配置参数。

成员函数

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

函数说明

VideoConfig

public com.ss.video.rtc.engine.live.LiveTranscoding.VideoConfig.VideoConfig()

VideoConfig类型的默认构造方法。

setCodec

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

设置视频编码格式。

传入参数

参数名 类型 说明
codec String 编码格式。

setFps

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

设置合流视频帧率信息。

传入参数

参数名 类型 说明
fps int 合流的视频帧率。

setGop

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

设置视频 I 帧间隔。

传入参数

参数名 类型 说明
gop int 合流 I 帧间隔。

setLowLatency

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

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

传入参数

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

setKBitRate

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

设置合流视频码率,单位为 kbps 。

传入参数

参数名 类型 说明
kBitRate int 合流视频码率。

setWidth

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

设置合流视频宽度。

传入参数

参数名 类型 说明
width int 合流视频宽度。

setHeight

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

设置合流视频高度。

传入参数

参数名 类型 说明
height int 合流视频高度。

AudioConfig

public static class com.ss.video.rtc.engine.live.LiveTranscoding.AudioConfig

音频转码配置参数。

成员函数

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

函数说明

AudioConfig

public com.ss.video.rtc.engine.live.LiveTranscoding.AudioConfig.AudioConfig()

setCodec

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

设置音频编码格式。

传入参数

参数名 类型 说明
codec String 音频编码格式。

setKBitRate

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

设置音频码率。

传入参数

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

setSampleRate

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

设置音频采样率。

传入参数

参数名 类型 说明
sampleRate int 音频采样率。单位为 kHz。可选取值:16, 32, 44.1, 48。

setChannels

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

设置声道数。

传入参数

参数名 类型 说明
channels int 音频声道数。

setAacProfile

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

设置 AAC 等级。

传入参数

参数名 类型 说明
aacProfile AACProfile AAC 登记。详见 AACProfile 类型。

Layout

public static class com.ss.video.rtc.engine.live.LiveTranscoding.Layout

视频流合流整体布局信息。
此数据类型为,开启直播推流转码功能,视频合流的完整信息。包括了参与合流的每路视频流的预设布局信息和合流背景信息等。

成员函数

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

函数说明

getRegions

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

获取用户布局信息列表。

返回值

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

setRegions

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

设置用户布局信息列表。

传入参数

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

getAppData

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

获取透传的 App 数据。

返回值

当前透传的 App 数据。

setAppData

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

设置透传的 App 数据。

传入参数

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

getBackgroundColor

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

获取画布的背景颜色。

返回值

当前画布的背景颜色。

setBackgroundColor

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

设置画布的背景颜色。

传入参数

参数名 类型 说明
backgroundColor String 画布的背景颜色。

Region

public static class com.ss.video.rtc.engine.live.LiveTranscoding.Layout.Region

单个视频流在合流中的布局信息。
此数据类型为,开启直播推流转码功能,多路视频流合流时,其中一路视频流在合流中的预设布局信息。

成员函数

返回 名称
Region Region
Region uid
Region zorder
Region alpha
Region contentControl
Region renderMode
Region position
Region size

函数说明

Region

public com.ss.video.rtc.engine.live.LiveTranscoding.Layout.Region.Region()

uid

public Region com.ss.video.rtc.engine.live.LiveTranscoding.Layout.Region.uid(
    String)

设置用户ID 。
此数据对象为一路远端视频流的合流布局信息,用户ID为远端视频流发布用户的用户ID 。

传入参数

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

zorder

public Region com.ss.video.rtc.engine.live.LiveTranscoding.Layout.Region.zorder(
    int)

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

传入参数

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

alpha

public Region com.ss.video.rtc.engine.live.LiveTranscoding.Layout.Region.alpha(
    double)

设置透明度。

传入参数

参数名 类型 说明
alpha double 透明度。可选范围为[0 - 255]。

contentControl

public Region com.ss.video.rtc.engine.live.LiveTranscoding.Layout.Region.contentControl(
    int)

设置合流内容控制。

传入参数

参数名 类型 说明
contentControl int 合流内容控制。默认值为0,可选取值如下:
• 0: 输出的混流包含音视频
• 1: 只包含音频
• 2: 表示只包含视频

renderMode

public Region com.ss.video.rtc.engine.live.LiveTranscoding.Layout.Region.renderMode(
    int)

设置视频显示模式。
详见 ByteRtcRenderMode 数据类型。

传入参数

参数名 类型 说明
renderMode int 视频显示模式。可选取值如下:
• 1: 视频尺寸等比缩放,优先保证窗口被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。
• 2: 视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成黑色。
• 3: 视频尺寸非等比例缩放,把窗口充满。当视频尺寸与显示窗口尺寸不一致时,视频高或宽方向会被拉伸。

position

public Region com.ss.video.rtc.engine.live.LiveTranscoding.Layout.Region.position(
    double x,
    double y)

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

传入参数

参数名 类型 说明
x double 用户视频布局相对画布左侧的偏移量。相对值,范围为[0.0 - 1.0]。
y double 用户视频布局相对画布顶端的偏移量。相对值,范围为[0.0 - 1.0]。

size

public Region com.ss.video.rtc.engine.live.LiveTranscoding.Layout.Region.size(
    double width,
    double height)

设置用户视频相对大小。

传入参数

参数名 类型 说明
width double 用户视频宽度相对用户原始视频宽度的比例。相对值,范围为[0.0 - 1.0]。
height double 用户视频宽度相对用户原始视频宽度的比例。相对值,范围为[0.0 - 1.0]。

FallbackOrRecoverReason

public enum com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.FallbackOrRecoverReason

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

枚举值

类型 说明
Unknown(-1) 其他原因,非带宽和性能原因引起的回退或恢复。默认值
SubscribeFallbackByBandwidth(0) 由带宽不足导致的订阅端音视频流回退。
SubscribeFallbackByPerformance(1) 由性能不足导致的订阅端音视频流回退。
SubscribeRecoverByBandwidth(2) 由带宽恢复导致的订阅端音视频流恢复。
SubscribeRecoverByPerformance(3) 由性能恢复导致的订阅端音视频流恢复。
PublishFallbackByBandwidth(4) 由带宽不足导致的发布端音视频流回退。
PublishFallbackByPerformance(5) 由性能不足导致的发布端音视频流回退。
PublishRecoverByBandwidth(6) 由带宽恢复导致的发布端音视频流恢复。
PublishRecoverByPerformance(7) 由性能恢复导致的发布端音视频流恢复。

RtcStreamRemoveReason

public enum com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcStreamRemoveReason

房间内远端流移除原因。
房间内远端音视频流移除时,SDK 会通过 onStreamRemove 回调通知用户。此枚 举类型即为通知的远端流移除的原因。

枚举值

类型 说明
RtcStreamRemoveUnpublish 远端用户停止发布流。
RtcStreamRemovePublishFailed 远端用户发布流失败。
RtcStreamRemoveKeepLiveFailed 保活失败。
RtcStreamRemoveClientDisconnected 远端用户断网。
RtcStreamRemoveRepublish 远端用户重新发布流。
RtcStreamRemoveOtherReason 其他原因。

LocalAudioStreamState

public enum com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalAudioStreamState

本地音频流状态 SDK 通过 onLocalAudioStateChanged 回调本地音频流状态

枚举值

类型 说明
LOCAL_AUDIO_STREAM_STATE_STOPPED 本地音频默认初始状态
麦克风停止工作时回调该状态,对应错误码 LOCAL_AUDIO_STREAM_ERROR_OKLocalAudioStreamError
LOCAL_AUDIO_STREAM_STATE_RECORDING 本地音频录制设备启动成功
采集到音频首帧时回调该状态,对应错误码 LOCAL_AUDIO_STREAM_ERROR_OKLocalAudioStreamError
LOCAL_AUDIO_STREAM_STATE_ENCODING 本地音频首帧编码成功
音频首帧编码成功时回调该状态,对应错误码 LOCAL_AUDIO_STREAM_ERROR_OKLocalAudioStreamError
LOCAL_AUDIO_STREAM_STATE_FAILED 本地音频启动失败,在以下时机回调该状态:

+ 本地录音设备启动失败,对应错误码 LOCAL_AUDIO_STREAM_ERROR_RECORD_FAILURELocalAudioStreamError

+ 检测到没有录音设备权限,对应错误码 LOCAL_AUDIO_STREAM_ERROR_DEVICE_NO_PERMISSIONLocalAudioStreamError

+ 音频编码失败,对应错误码 LOCAL_AUDIO_STREAM_ERROR_ENCODE_FAILURELocalAudioStreamError

LocalVideoStreamState

public enum com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStreamState

本地视频流状态 SDK通过 OnLocalVideoStateChangedonLocalVideoStateChanged 回调本地视频流状态

枚举值

类型 说明
LOCAL_VIDEO_STREAM_STATE_STOPPED 本地视频默认初始状态,
本地采集关闭时回调该状态 对应错误码 LOCAL_VIDEO_STREAM_ERROR_OKLocalVideoStreamError
LOCAL_VIDEO_STREAM_STATE_RECORDING 本地视频录制设备启动成功,
本地采集开启时回调该状态 对应错误码 LOCAL_VIDEO_STREAM_ERROR_OKLocalVideoStreamError
LOCAL_VIDEO_STREAM_STATE_ENCODING 本地视频首帧编码成功,
本地视频首帧编码成功时回调该状态 对应错误码 LOCAL_VIDEO_STREAM_ERROR_OKLocalVideoStreamError
LOCAL_VIDEO_STREAM_STATE_FAILED 本地视频启动失败,LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURELocalVideoStreamError
回调该方法即意味着视频设备启用失败,SDK会在以下时机回调该状态:

+ 本地视频采集设备启动失败,对应错误码 LOCAL_VIDEO_STREAM_ERROR_RECORD_FAILURELocalVideoStreamError

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

+ 视频编码失败,对应错误码 LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURELocalVideoStreamError

LocalVideoStreamError

public enum com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStreamError

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

枚举值

类型 说明
LOCAL_VIDEO_STREAM_ERROR_OK 本地视频状态正常
LOCAL_VIDEO_STREAM_ERROR_FAILURE 视频流发布失败
LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION 没有权限启动本地视频录制设备
LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY 本地视频录制设备被占用
LOCAL_VIDEO_STREAM_ERROR_RECORD_FAILURE 本地视频录制失败,建议检查录制设备是否正常工作
LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE 本地视频编码失败

LocalAudioStreamError

public enum com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalAudioStreamError

本地音频流状态改变时的错误码 SDK 通过 onLocalAudioStateChanged 回调该错误码

枚举值

类型 说明
LOCAL_AUDIO_STREAM_ERROR_OK 本地音频状态正常
LOCAL_AUDIO_STREAM_ERROR_FAILURE 本地音频出错原因未知
LOCAL_AUDIO_STREAM_ERROR_DEVICE_NO_PERMISSION 没有权限启动本地音频录制设备
LOCAL_AUDIO_STREAM_ERROR_DEVICE_BUSY 本地音频录制设备已经在使用中
LOCAL_AUDIO_STREAM_ERROR_RECORD_FAILURE 本地音频录制失败,建议你检查录制设备是否正常工作
LOCAL_AUDIO_STREAM_ERROR_ENCODE_FAILURE 本地音频编码失败

RemoteAudioState

public enum com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioState

远端音频流状态 SDK 通过 onRemoteAudioStateChanged 回调该状态

枚举值

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

+ 本地用户停止接收远端音频流,对应错误码 REMOTE_AUDIO_REASON_LOCAL_MUTEDRemoteAudioStateReason

+ 远端用户停止发送音频流,对应错误码 REMOTE_AUDIO_REASON_REMOTE_MUTEDRemoteAudioStateReason

+ 远端用户离开房间,对应错误码 REMOTE_AUDIO_REASON_REMOTE_OFFLINERemoteAudioStateReason
REMOTE_AUDIO_STATE_STARTING 本地用户已接收远端音频首包
收到远端音频首包时回调该状态,对应错误码 REMOTE_AUDIO_REASON_LOCAL_UNMUTEDRemoteAudioStateReason
REMOTE_AUDIO_STATE_DECODING 远端音频流正在解码,正常播放,在以下时机回调该状态:

+ 成功解码远端音频首帧,对应错误码 REMOTE_AUDIO_REASON_LOCAL_UNMUTEDRemoteAudioStateReason

+ 网络由阻塞恢复正常,对应错误码 REMOTE_AUDIO_REASON_NETWORK_RECOVERYRemoteAudioStateReason

+ 本地用户恢复接收远端音频流,对应错误码 REMOTE_AUDIO_REASON_LOCAL_UNMUTEDRemoteAudioStateReason

+ 远端用户恢复发送音频流,对应错误码 REMOTE_AUDIO_REASON_REMOTE_UNMUTEDRemoteAudioStateReason
REMOTE_AUDIO_STATE_FROZEN 远端音频流卡顿
网络阻塞、丢包率大于40%时回调该状态,对应错误码 REMOTE_AUDIO_REASON_NETWORK_CONGESTIONRemoteAudioStateReason
REMOTE_AUDIO_STATE_FAILED 远端音频流播放失败。

RemoteAudioStateReason

public enum com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStateReason

远端音频流状态改变的原因 SDK 通过 onRemoteAudioStateChanged 回调该错误码

枚举值

类型 说明
REMOTE_AUDIO_REASON_INTERNAL 内部原因
REMOTE_AUDIO_REASON_NETWORK_CONGESTION 网络阻塞
REMOTE_AUDIO_REASON_NETWORK_RECOVERY 网络恢复正常
REMOTE_AUDIO_REASON_LOCAL_MUTED 本地用户停止接收远端音频流
REMOTE_AUDIO_REASON_LOCAL_UNMUTED 本地用户恢复接收远端音频流
REMOTE_AUDIO_REASON_REMOTE_MUTED 远端用户停止发送音频流
REMOTE_AUDIO_REASON_REMOTE_UNMUTED 远端用户恢复发送音频流
REMOTE_AUDIO_REASON_REMOTE_OFFLINE 远端用户离开房间

RemoteVideoState

public enum com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoState

远端视频流状态

枚举值

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

+ 本地用户停止接收远端视频流,对应错误码 REMOTE_VIDEO_REASON_LOCAL_MUTEDRemoteVideoStateReason

+ 远端用户停止发送视频流,对应错误码 REMOTE_VIDEO_REASON_REMOTE_MUTEDRemoteVideoStateReason

+ 远端用户离开房间,对应错误码 REMOTE_VIDEO_REASON_REMOTE_OFFLINERemoteVideoStateReason
REMOTE_VIDEO_STATE_STARTING 本地用户已接收远端视频首包
收到远端视频首包时回调该状态,对应错误码 REMOTE_VIDEO_REASON_LOCAL_UNMUTEDRemoteVideoStateReason
REMOTE_VIDEO_STATE_DECODING 远端视频流正在解码,正常播放
在以下时机回调该状态:

+ 成功解码远端视频首帧,对应错误码 REMOTE_VIDEO_REASON_LOCAL_UNMUTEDRemoteVideoStateReason

+ 网络由阻塞恢复正常,对应错误码 REMOTE_VIDEO_REASON_NETWORK_RECOVERYRemoteVideoStateReason

+ 本地用户恢复接收远端视频流,对应错误码 REMOTE_VIDEO_REASON_LOCAL_UNMUTEDRemoteVideoStateReason

+ 远端用户恢复发送视频流,对应错误码 REMOTE_VIDEO_REASON_REMOTE_UNMUTEDRemoteVideoStateReason
REMOTE_VIDEO_STATE_FROZEN 远端音频流卡顿
网络阻塞、丢包率大于40%时回调该状态,对应错误码 REMOTE_VIDEO_REASON_NETWORK_CONGESTIONRemoteVideoStateReason
REMOTE_VIDEO_STATE_FAILED 远端音频流播放失败

RemoteVideoStateReason

public enum com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStateReason

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

枚举值

类型 说明
REMOTE_VIDEO_REASON_INTERNAL 内部原因
REMOTE_VIDEO_REASON_NETWORK_CONGESTION 网络阻塞
REMOTE_VIDEO_REASON_NETWORK_RECOVERY 网络恢复正常
REMOTE_VIDEO_REASON_LOCAL_MUTED 本地用户停止接收远端视频流或本地用户禁用视频模块
REMOTE_VIDEO_REASON_LOCAL_UNMUTED 本地用户恢复接收远端视频流或本地用户启用视频模块
REMOTE_VIDEO_REASON_REMOTE_MUTED 远端用户停止发送视频流或远端用户禁用视频模块
REMOTE_VIDEO_REASON_REMOTE_UNMUTED 远端用户恢复发送视频流或远端用户启用视频模块
REMOTE_VIDEO_REASON_REMOTE_OFFLINE 远端用户离开频道

RemoteStreamSwitch

public static class com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteStreamSwitch

远端流回退或恢复数据

成员变量

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

变量说明

uid

public String com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteStreamSwitch.uid;

远端用户id

isScreen

public boolean com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteStreamSwitch.isScreen;

是否是屏幕共享流

before_video_index

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteStreamSwitch.before_video_index;

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

after_video_index

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteStreamSwitch.after_video_index;

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

before_enable

public boolean com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteStreamSwitch.before_enable;

流切换前是否有视频流

after_enable

public boolean com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteStreamSwitch.after_enable;

流切换后是否有视频流

reason

public FallbackOrRecoverReason com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteStreamSwitch.reason;

流切换原因

RtcUser

public static class com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcUser

用户信息

成员变量

类型 名称
String userId
String metaData

变量说明

userId

public String com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcUser.userId;

用户 id

metaData

public String com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcUser.metaData;

元数据

FirstFrameSendState

public enum com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.FirstFrameSendState

首帧发送状态

枚举值

类型 说明
FIRST_FRAME_SEND_STATE_SENDING(0) 发送中
FIRST_FRAME_SEND_STATE_SENT(1) 发送成功

FirstFramePlayState

public enum com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.FirstFramePlayState

首帧播放状态

枚举值

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

RtcStats

public static class com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcStats

通话相关的统计信息

成员变量

类型 名称
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

变量说明

totalDuration

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcStats.totalDuration;

通话时长,单位为秒,累计值

txBytes

public long com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcStats.txBytes;

发送字节数(bytes),累计值

rxBytes

public long com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcStats.rxBytes;

接收字节数(bytes),累计值

txKBitRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcStats.txKBitRate;

发送码率(kbps),瞬时值

rxKBitRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcStats.rxKBitRate;

接收码率(kbps),瞬时值

txAudioKBitRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcStats.txAudioKBitRate;

音频包的发送码率(kbps),瞬时值

rxAudioKBitRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcStats.rxAudioKBitRate;

音频接收码率(kbps),瞬时值

txVideoKBitRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcStats.txVideoKBitRate;

视频发送码率(kbps),瞬时值

rxVideoKBitRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcStats.rxVideoKBitRate;

视频接收码率(kbps),瞬时值

users

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcStats.users;

当前房间内的人数。

cpuTotalUsage

public double com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcStats.cpuTotalUsage;

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

cpuAppUsage

public double com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcStats.cpuAppUsage;

当前 App 的 CPU 使用率 (%)

函数说明

reset

public void com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RtcStats.reset()

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

AudioVolumeInfo

public static class com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.AudioVolumeInfo

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

成员变量

类型 名称
String uid
int volume

变量说明

uid

public String com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.AudioVolumeInfo.uid;

说话者的用户 id

volume

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.AudioVolumeInfo.volume;

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

RemoteVideoStats

public static class com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats

远端视频相关的统计信息

成员变量

类型 名称
String uid
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

变量说明

uid

public String com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats.uid;

用户 id,指明是哪个用户的视频流

width

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats.width;

远端视频流宽度

height

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats.height;

远端视频流高度

videoLossRate

public float com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats.videoLossRate;

视频丢包率,百分比

receivedKBitrate

public float com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats.receivedKBitrate;

接收码率,单位为 kbps

decoderOutputFrameRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats.decoderOutputFrameRate;

解码器输出帧率,单位 fps

rendererOutputFrameRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats.rendererOutputFrameRate;

渲染帧率,单位 fps

stallCount

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats.stallCount;

卡顿次数

stallDuration

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats.stallDuration;

卡顿时长,单位毫秒

e2eDelay

public long com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats.e2eDelay;

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

isScreen

public boolean com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats.isScreen;

是否是屏幕流

statsInterval

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats.statsInterval;

统计信息的时间间隔,单位毫秒

rtt

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats.rtt;

往返时延,单位为毫秒

frozenRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats.frozenRate;

远端用户在加入房间后发生视频卡顿的累计时长占视频总有效时长的百分比

videoIndex

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteVideoStats.videoIndex;

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

LocalVideoStats

public static class com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats

本地视频相关的统计信息

成员变量

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

变量说明

sentKBitrate

public float com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.sentKBitrate;

发送比特率

inputFrameRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.inputFrameRate;

采集帧率,单位 fps

sentFrameRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.sentFrameRate;

发送帧率,单位 fps

encoderOutputFrameRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.encoderOutputFrameRate;

编码器输出帧率,单位 fps

rendererOutputFrameRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.rendererOutputFrameRate;

本地渲染帧率,单位 fps

targetKBitrate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.targetKBitrate;

目标发送码率,单位 kbps

targetFrameRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.targetFrameRate;

目标发送帧率,单位 fps

statsInterval

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.statsInterval;

统计信息的时间间隔,单位毫秒

videoLossRate

public float com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.videoLossRate;

视频丢包率,单位百分比

rtt

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.rtt;

往返时延,单位为毫秒

encodedBitrate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.encodedBitrate;

视频编码码率(kbps)

encodedFrameWidth

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.encodedFrameWidth;

视频编码宽度(px)

encodedFrameHeight

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.encodedFrameHeight;

视频编码高度(px)

encodedFrameCount

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.encodedFrameCount;

视频发送的帧数,累计值

codecType

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.codecType;

视频的编码类型

isScreen

public boolean com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalVideoStats.isScreen;

视频流是否是屏幕共享流

RemoteAudioStats

public static class com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats

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

成员变量

类型 名称
String uid
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

变量说明

uid

public String com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.uid;

用户ID 。远端音频流发布用户的用户ID 。

audioLossRate

public float com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.audioLossRate;

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

receivedKBitrate

public float com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.receivedKBitrate;

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

stallCount

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.stallCount;

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

stallDuration

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.stallDuration;

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

e2eDelay

public long com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.e2eDelay;

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

playoutSampleRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.playoutSampleRate;

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

statsInterval

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.statsInterval;

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

rtt

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.rtt;

往返时延。单位为 ms 。

quality

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.quality;

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

jitterBufferDelay

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.jitterBufferDelay;

音频发送端到接收端的网络延迟。单位为 ms 。

numChannels

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.numChannels;

音频声道数。

receivedSampleRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.receivedSampleRate;

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

frozenRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.frozenRate;

远端用户在加入房间后发生音频卡顿的累计时长占音频总有效时长的百分比。

concealedSamples

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.concealedSamples;

音频 PLC 样点总个数。

concealmentEvent

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.concealmentEvent;

PLC 累计次数。

decSampleRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.decSampleRate;

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

decDuration

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.RemoteAudioStats.decDuration;

解码时长。单位为 s 。

LocalAudioStats

public static class com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalAudioStats

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

成员变量

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

变量说明

audioLossRate

public float com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalAudioStats.audioLossRate;

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

sendKBitrate

public float com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalAudioStats.sendKBitrate;

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

recordSampleRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalAudioStats.recordSampleRate;

采集采样率。音频采集采样率信息,单位为 Hz 。

statsInterval

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalAudioStats.statsInterval;

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

rtt

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalAudioStats.rtt;

往返时延。单位为 ms 。

numChannels

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalAudioStats.numChannels;

音频声道数。

sentSampleRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.LocalAudioStats.sentSampleRate;

发送采样率。音频发送采样率信息,单位为 Hz 。

SourceWantedData

public static class com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.SourceWantedData

性能回退相关数据

成员变量

类型 名称
int width
int height
int frameRate

变量说明

width

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.SourceWantedData.width;

推荐视频输入宽

height

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.SourceWantedData.height;

推荐视频输入高

frameRate

public int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.SourceWantedData.frameRate;

推荐视频输入帧率,单位 fps

MediaDeviceType

public static class com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.MediaDeviceType

媒体设备类型

成员变量

类型 名称
int kAudioPlayoutDevice
int kAudioRecordingDevice
int kVideoRenderDevice
int kVideoCaptureDevice

变量说明

kAudioPlayoutDevice

public static final int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.MediaDeviceType.kAudioPlayoutDevice = 0;

音频播放设备类型

kAudioRecordingDevice

public static final int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.MediaDeviceType.kAudioRecordingDevice = 1;

音频录制设备类型

kVideoRenderDevice

public static final int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.MediaDeviceType.kVideoRenderDevice = 2;

视频渲染设备类型,该类型暂无使用

kVideoCaptureDevice

public static final int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.MediaDeviceType.kVideoCaptureDevice = 3;

视频采集设备类型

MediaDeviceState

public static class  com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.MediaDeviceState

媒体设备状态

成员变量

类型 名称
int kMediaDeviceStateStarted
int kMediaDeviceStateStartFailed
int kMediaDeviceStateStopped
int kMediaDeviceStateStopFailed

变量说明

kMediaDeviceStateStarted

public static final int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.MediaDeviceState.kMediaDeviceStateStarted = 0;

设备已开启

kMediaDeviceStateStartFailed

public static final int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.MediaDeviceState.kMediaDeviceStateStartFailed = 1;

设备开启失败

kMediaDeviceStateStopped

public static final int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.MediaDeviceState.kMediaDeviceStateStopped = 2;

设备已停止

kMediaDeviceStateStopFailed

public static final int com.ss.video.rtc.engine.handler.IRtcEngineEventHandler.MediaDeviceState.kMediaDeviceStateStopFailed = 3;

设备停止失败