数据类型

目录

数据类型

描述

支持的最低版本

JoinParam

加入频道所需信息

3.0.0

CameraVideoTrackConfig

创建摄像头视频流时的配置对象

3.0.0

MicrophoneAudioTrackConfig

创建麦克风音频流时的配置对象

3.0.0

ScreenVideoTrackConfig

创建屏幕共享流时的配置对象

3.0.0

CustomAudioTrackConfig

创建自定义音频轨道时的配置参数

3.0.0

CustomVideoTrackConfig

创建自定义视频轨道时的配置参数

3.0.0

TrackMediaType

媒体轨道类型

3.0.0

VideoDimension

视频采集规格

3.0.0

DeviceInfo

设备信息

3.0.0

ConnectionState

sdk 连接状态

3.0.0

RemoteUser

频道内的远端用户信息

3.0.0

RemoteStreamType

订阅远端视频流模式

3.0.0

DisconnectedReason

与服务器断开连接的原因

3.0.0

LocalAudioStates

本地音频轨道的统计信息

3.0.0

LocalVideoStates

本地视频轨道的统计信息

3.0.0

RemoteVideoStates

远端视频轨道的统计数据

3.0.0

VideoPlayerConfig

播放视频配置参数

3.0.0

NetworkQuality

网络质量评分

3.0.0

GlobalClientConfigInfo

本地客户端全局配置信息

3.0.0

LogLevel

日志级别

3.0.0

SubscribeParam

批量订阅远端音视频轨道

3.1.0

SubscribeResult

批量订阅远端音视频轨道的反馈

3.1.0

UnsubscribeParam

批量取消订阅远端音视频轨道

3.1.0

JoinGroupConfig

加入音频分组时的配置项

3.4.0

Group

音频分组相关信息

3.4.0

GroupUser

音频分组成员信息

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?

VideoDimension

(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?

VideoDimension

(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?

VideoDimension

(Optional)视频规格

frameRate?

number

(Optional)帧率

mediaStreamTrack

MediaStreamTrack

您维护的 MediaStreamTrack 对象。

maxBitrate?

number

(Optional)最大码率,单位Kbps,未设置时会sdk内部计算一个值

CustomAudioTrackConfig

创建自定义音频轨道时的配置参数

类型签名

interface CustomAudioTrackConfig 

属性

类型

描述

mediaStreamTrack

MediaStreamTrack

您维护的 MediaStreamTrack 对象。

DeviceInfo

设备信息

类型签名

interface DeviceInfo 

属性

类型

描述

device

MediaDeviceInfo

采集设备的设备信息。

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

RemoteAudioTrack

如果成功订阅了远端用户的音频,这里会保存远端的音频轨道对象。

auxiliaryTrack

RemoteVideoTrack

如果成功订阅了远端用户的桌面共享,这里会保存远端的桌面共享视频轨道对象。

hasAudio

boolean

远端当前是否在发送音频。

hasAuxiliary

boolean

远端当前是否在发送屏幕共享。

hasVideo

boolean

远端当前是否在发送视频。

userId

string

远端用户的用户 ID。

videoTrack

RemoteVideoTrack

如果成功订阅了远端用户的视频,这里会保存远端的视频轨道对象。

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?

LocalVideoStates

(Optional) 桌面共享统计信息

camera?

LocalVideoStates

(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

TrackMediaType

订阅的媒体轨道类型

auxiliary?

string

如果订阅视频轨道,是否是共享流

SubscribeResult

批量订阅用户音视频轨道的反馈

interface SubscribeResult

属性

类型

描述

uid

string

远端用户的userId

auxiliary?

string

如果订阅视频轨道,是否是共享流

track

RemoteTrack

订阅完成后获取到音视频轨道对象

error

DingRTCError

订阅失败时的错误信息

UnsubscribeParam

批量取消订阅用户音视频轨道

interface UnsubscribeParam

属性

类型

描述

uid

string

远端用户的userId

mediaType

TrackMediaType

取消订阅的媒体轨道类型

auxiliary?

string

如果取消订阅视频轨道,是否是共享流

JoinGroupConfig

加入指定音频分组时的配置项

interface JoinGroupConfig

属性

类型

描述

groupId

string

将要加入或创建的音频分组Id

userData?

string

加入分组时可携带的自定义数据

publishAudioToGroup?

boolean

加入分组时是否自动将音频流混流到分组内

Group

音频分组相关信息

interface Group

属性

类型

描述

id

string

音频分组Id

uses

GroupUser[]

音频分组成员信息列表

audioPublished

boolean

是否已混音到该分组

joined

boolean

是否已加入该分组

GroupUser

音频分组成员信息

interface GroupUser

属性

类型

描述

userId

string

音频分组成员用户Id

userData?

string

该成员加入分组时携带的自定义数据