目录
数据类型 | 描述 | 支持的最低版本 |
加入频道所需信息 | 3.0.0 | |
创建摄像头视频流时的配置对象 | 3.0.0 | |
创建麦克风音频流时的配置对象 | 3.0.0 | |
创建屏幕共享流时的配置对象 | 3.0.0 | |
创建自定义音频轨道时的配置参数 | 3.0.0 | |
创建自定义视频轨道时的配置参数 | 3.0.0 | |
媒体轨道类型 | 3.0.0 | |
视频采集规格 | 3.0.0 | |
设备信息 | 3.0.0 | |
sdk 连接状态 | 3.0.0 | |
频道内的远端用户信息 | 3.0.0 | |
订阅远端视频流模式 | 3.0.0 | |
与服务器断开连接的原因 | 3.0.0 | |
本地音频轨道的统计信息 | 3.0.0 | |
本地视频轨道的统计信息 | 3.0.0 | |
远端视频轨道的统计数据 | 3.0.0 | |
播放视频配置参数 | 3.0.0 | |
网络质量评分 | 3.0.0 | |
本地客户端全局配置信息 | 3.0.0 | |
日志级别 | 3.0.0 | |
批量订阅远端音视频轨道 | 3.1.0 | |
批量订阅远端音视频轨道的反馈 | 3.1.0 | |
批量取消订阅远端音视频轨道 | 3.1.0 | |
加入音频分组时的配置项 | 3.4.0 | |
音频分组相关信息 | 3.4.0 | |
音频分组成员信息 | 3.4.0 |
数据类型详情
JoinParam
加入频道所需信息
interface JoinParam
属性 | 类型 | 描述 |
appId | string | 您在 DingRTC 项目的 AppId,仅支持大小写字母、数字和下划线。 |
channel | string | 频道 Id,字符内容只允许[A-Za-z0-9_-],长度不超过64个字符。 |
token | string | 用于鉴权的token。 |
uid | string | 标识用户的 Id,字符内容只允许[A-Za-z0-9_-],长度不超过64个字符。 |
userName | string | 用户名称,长度不超过UTF-8编码64个字节。 |
CameraVideoTrackConfig
创建摄像头视频流时的配置对象
interface CameraVideoTrackConfig
属性 | 类型 | 描述 |
deviceId? | string | (Optional)指定摄像头的设备ID。 你可以通过 getCameras 来获取当前的摄像头设备列表。 |
dimension? | (Optional)视频采集规格 | |
frameRate? | number | (Optional)帧率 |
facingMode? | 'user' | 'environment' | (Optional)移动端指定使用前置/后置摄像头来采集视频。 |
maxBitrate? | number | (Optional)最大码率,单位Kbps,未设置时会sdk内部计算一个值 |
MicrophoneAudioTrackConfig
创建麦克风音频流时的配置对象
类型签名
interface MicrophoneAudioTrackConfig
属性 | 类型 | 描述 |
AEC? | boolean | (Optional)是否开启回声消除 |
AGC? | boolean | (Optional)是否开启自动增益 |
ANS? | boolean | (Optional)是否开启噪声抑制 |
deviceId? | string | (Optional)设备 id |
ScreenVideoTrackConfig
创建屏幕共享流时的配置对象
类型签名
interface ScreenVideoTrackConfig
属性 | 类型 | 描述 |
dimension? | (Optional)视频规格 | |
displaySurface? | 'browser' | 'window' | 'monitor' | (Optional)默认选中的共享内容类型,支持设为标签页、应用窗口、或屏幕。 |
frameRate? | number | (Optional)帧率 |
maxBitrate? | number | (Optional)最大码率,单位Kbps,未设置时会sdk内部计算一个值 |
VideoDimension
视频采集规格
type VideoDimension =
'VD_120x120' |
'VD_160x120' |
'VD_180x180' |
'VD_240x180' |
'VD_320x180' |
'VD_240x240' |
'VD_320x240' |
'VD_424x240' |
'VD_360x360' |
'VD_480x360' |
'VD_640x360' |
'VD_480x480' |
'VD_640x480' |
'VD_840x480' |
'VD_960x540' |
'VD_960x720' |
'VD_1280x720' |
'VD_1920x1080';
TrackMediaType
媒体轨道类型
type TrackMediaType = 'audio' | 'video';
CustomVideoTrackConfig
创建自定义视频轨道时的配置参数
类型签名
interface CustomVideoTrackConfig
属性 | 类型 | 描述 |
dimension? | (Optional)视频规格 | |
frameRate? | number | (Optional)帧率 |
mediaStreamTrack | MediaStreamTrack | 您维护的 MediaStreamTrack 对象。 |
maxBitrate? | number | (Optional)最大码率,单位Kbps,未设置时会sdk内部计算一个值 |
CustomAudioTrackConfig
创建自定义音频轨道时的配置参数
类型签名
interface CustomAudioTrackConfig
属性 | 类型 | 描述 |
mediaStreamTrack | MediaStreamTrack | 您维护的 MediaStreamTrack 对象。 |
DeviceInfo
设备信息
类型签名
interface DeviceInfo
属性 | 类型 | 描述 |
device | 采集设备的设备信息。 | |
state | 'active' | 'inactive' | 采集设备当前的插拔状态。 "active": 该设备已经插入。 "inactive": 该设备已经被拔出。 |
ConnectionState
sdk 连接状态
类型签名
type ConnectionState =
'disconnected' |
'connecting' |
'reconnecting' |
'connected' |
'disconnecting';
RemoteUser
频道内的远端用户信息,可以通过 DingRTCClient.remoteUsers 或者 DingRTCClient.on("user-joined") 等事件获取。
该对象描述了频道内远端用户的当前状态,包括远端用户 ID、远端是否发布了音频或视频等。
如果检测到远端用户已经发布,可以将这个对象传入 DingRTCClient.subscribe 中发起订阅,订阅成功后可以通过本对象的 audioTrack 或者 videoTrack 字段获取远端音视频轨道对象用于播放。
属性列表
属性 | 类型 | 描述 |
audioMuted | boolean | 远端当前麦克风是否静音。 |
videoMuted | boolean | 远端当前摄像头是否关闭。 |
auxiliaryMuted | boolean | 远端当前屏幕共享是否关闭。 |
audioTrack | 如果成功订阅了远端用户的音频,这里会保存远端的音频轨道对象。 | |
auxiliaryTrack | 如果成功订阅了远端用户的桌面共享,这里会保存远端的桌面共享视频轨道对象。 | |
hasAudio | boolean | 远端当前是否在发送音频。 |
hasAuxiliary | boolean | 远端当前是否在发送屏幕共享。 |
hasVideo | boolean | 远端当前是否在发送视频。 |
userId | string | 远端用户的用户 ID。 |
videoTrack | 如果成功订阅了远端用户的视频,这里会保存远端的视频轨道对象。 |
RemoteStreamType
订阅远端视频流模式。
类型签名
type RemoteStreamType = 'high' | 'low' | 'FHD' | 'HD' | 'SD' | 'LD';
类型 | 描述 | 版本 |
high | 超高清流(设备性能、网络状态、推流分辨率符合要求情况下满足),对应1080P收费档。 | 3.0.0 |
FHD | 超高清流(设备性能、网络状态、推流分辨率符合要求情况下满足),对应1080P收费档。 | 3.3.0 |
HD | 高清流(设备性能、网络状态、推流分辨率符合要求情况下满足),对应720P收费档。 | 3.3.0 |
SD | 标清(设备性能、网络状态、推流分辨率符合要求情况下满足),对应480P收费档。 | 3.3.0 |
LD | 流畅(设备性能、网络状态、推流分辨率符合要求情况下满足),对应480P收费档。 | 3.3.0 |
low | 流畅(设备性能、网络状态、推流分辨率符合要求情况下满足),对应480P收费档。 | 3.0.0 |
DisconnectedReason
与服务器断开连接的原因
类型签名
type DisconnectedReason =
'leave' | // 用户主动离开
'network_error' | // 端侧网络链接异常
'server_error' | // 服务端错误
'uid_banned' | // uid 被移除
'uid_replaced' | // uid被重复登录顶替入会
'channel_banned'| // 频道被关闭
'timeout'; // 超时离会
LocalAudioStates
本地音频轨道的统计信息
类型签名
interface LocalAudioStates
属性 | 类型 | 描述 |
channelCount? | number | (Optional)采集的声道数 |
codec? | string | (Optional)音频的编码格式。 |
sampleRate? | number | (Optional)音频采样率 |
sendBytes? | number | (Optional)发送的音频总字节数 (bytes)。 |
sendPackets? | number | (Optional)发送的音频总包数。 |
sendPacketsLost? | number | (Optional)发送的音频总丢包数。 |
timestamp? | number | (Optional)调用时的时间戳 |
LocalVideoStatesMap
本地视频轨道的统计信息
类型签名
interface LocalVideoStatesMap
属性 | 类型 | 描述 |
auxiliary? | (Optional) 桌面共享统计信息 | |
camera? | (Optional)视频数据统计信息 |
LocalVideoStates
本地视频轨道的统计信息
类型签名
interface LocalVideoStates
属性 | 类型 | 描述 |
captureFrameRate? | number | (Optional)视频采集帧率(fps), Safari 和 Firefox 上无法获取该值。 |
captureResolution? | Resolution | (Optional)视频采集的分辨率 |
codec? | string | (Optional)视频编码格式。 |
encodeFrameRate? | number | (Optional)编码帧率 |
outgingBitrate? | number | (Optional)本地传输可用码率 |
qpSum? | number | (Optional)发送端编码出的带有QP值的帧的数量 |
sendBitrate? | number | (Optional)视频发送码率 (bps)。 |
sendBytes? | number | (Optional)发送的视频总字节数 (bytes)。 |
sendFrameRate? | number | (Optional)视频发送帧率(fps)。 |
sendPackets? | number | (Optional)发送的视频总包数。 |
sendPacketsLost? | number | (Optional)发送的视频总丢包数。 |
sendResolution? | Resolution | (Optional)视频发送的分辨率 |
targetBitrate? | number | (Optional)目标发送码率 |
timestamp? | number | (Optional)调用时的时间戳 |
RemoteVideoStates
远端视频轨道的统计数据,包括连接、传输等基本信息。
类型签名
interface RemoteVideoStates
属性 | 类型 | 描述 |
codec? | string | (Optional)视频编码格式。 |
decodeFrameRate? | number | (Optional)视频解码帧率。 |
receiveBitrate? | number | (Optional)视频发送码率 (bps)。 |
receiveBytes? | number | (Optional)接收的视频总字节数 (bytes)。 |
receiveFrameRate? | number | (Optional)视频发送帧率(fps)。 |
receivePackets? | number | (Optional)接收的视频总包数。 |
receivePacketsLost? | number | (Optional)接收的视频总丢包数。 |
receiveResolution? | Resolution | (Optional)接收视频的分辨率。 |
timestamp? | number | (Optional)调用时的时间戳 |
RemoteVideoStatesMap
远端视频流统计信息,uid 为 key,对应该用户的视频统计信息
类型签名
interface RemoteVideoStatesMap {
[uid: string]: {
camera?: RemoteVideoStates;
auxiliary?: RemoteVideoStates;
};
}
VideoPlayerConfig
播放视频配置参数
类型签名
interface VideoPlayerConfig
属性 | 类型 | 描述 |
fit? | 'contain' | 'cover' | 'fill' | (Optional)视频填充类型 |
mirror? | boolean | (Optional)是否镜像播放 |
GlobalClientConfigInfo
本地客户端全局配置信息
类型签名
interface GlobalClientConfigInfo
属性 | 类型 | 描述 |
gslb? | string | string[] | (Optional) gslb域名 |
NetworkQuality
本地用户加入频道后,SDK 会每两秒触发一次"network-quality"回调报告本地用户的上下行网络质量, 当前基于平均往返时延、丢包率计算。
-0 网络状态未知
-1 网络极佳
-2 网络较好
-3 网络一般
-4 网络较差
-5 网络极差
-6 网络已断开
类型签名:
type NetworkQuality = 0 | 1 | 2 | 3 | 4 | 5 | 6;
LogLevel
设置一个日志级别,你就能看到该级别及以上级别的所有日志
-debug 输出所有日志
-info 输出info、error、warn日志
-warn 输出error、warn日志
-error 输出error日志
-none 不输出日志
类型签名
type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'none';
SubscribeParam
批量订阅用户音视频轨道
interface SubscribeParam
属性 | 类型 | 描述 |
uid | string | 远端用户的userId |
mediaType | 订阅的媒体轨道类型 | |
auxiliary? | string | 如果订阅视频轨道,是否是共享流 |
SubscribeResult
批量订阅用户音视频轨道的反馈
interface SubscribeResult
属性 | 类型 | 描述 |
uid | string | 远端用户的userId |
auxiliary? | string | 如果订阅视频轨道,是否是共享流 |
track | 订阅完成后获取到音视频轨道对象 | |
error | DingRTCError | 订阅失败时的错误信息 |
UnsubscribeParam
批量取消订阅用户音视频轨道
interface UnsubscribeParam
属性 | 类型 | 描述 |
uid | string | 远端用户的userId |
mediaType | 取消订阅的媒体轨道类型 | |
auxiliary? | string | 如果取消订阅视频轨道,是否是共享流 |
JoinGroupConfig
加入指定音频分组时的配置项
interface JoinGroupConfig
属性 | 类型 | 描述 |
groupId | string | 将要加入或创建的音频分组Id |
userData? | string | 加入分组时可携带的自定义数据 |
publishAudioToGroup? | boolean | 加入分组时是否自动将音频流混流到分组内 |
Group
音频分组相关信息
interface Group
属性 | 类型 | 描述 |
id | string | 音频分组Id |
uses | 音频分组成员信息列表 | |
audioPublished | boolean | 是否已混音到该分组 |
joined | boolean | 是否已加入该分组 |
GroupUser
音频分组成员信息
interface GroupUser
属性 | 类型 | 描述 |
userId | string | 音频分组成员用户Id |
userData? | string | 该成员加入分组时携带的自定义数据 |