帮你快速理解、总结文档立即下载

类型定义

最近更新时间:2026-10-30 14:35:01
我的收藏
Copyright (c) 2026 Tencent. All rights reserved.

Module: TRTCCloudDef @ TXLiteAVSDK
Function: TRTC 关键类型定义(枚举、参数类与数据类)
Version: 13.5

TRTC 关键类型定义,Flutter SDK:tencent_rtc_sdk。本文档涵盖各接口用到的枚举、参数类与统计数据类,导入 package:tencent_rtc_sdk/trtc_cloud_def.dart 后即可使用。

类型列表

房间与角色

类型
描述
应用场景。
用户角色。
进房参数。
切换房间参数。

视频编码与渲染

类型
描述
视频分辨率。
视频宽高比模式。
视频流类型。
视频画面填充模式。
视频画面旋转方向。
视频镜像类型。
画质偏好。
重力感应适配模式(仅移动端)。
视频编码参数。
网络带宽限制参数。
视频画面渲染参数。

音频

类型
描述
声音音质。
音频录制内容类型。
音频回调数据操作模式。
音频帧内容格式。
音量评估相关参数。
自定义音频回调的格式参数。
音量大小。

美颜与水印

类型
描述
美颜(磨皮)算法。
水印图片的源类型。

屏幕分享

类型
描述
屏幕分享目标类型(仅桌面端)。
屏幕分享目标信息(仅桌面端)。
屏幕窗口列表。
屏幕分享的高级控制参数。
窗口缩略图与图标的存储结构。

CDN 发布与混流

类型
描述
媒体流发布模式。
TRTCUser
参与发布的用户信息。
CDN 转推的目标地址。
媒体流发布的目标配置。
转码流中每一路视频画面的布局。
转码流中水印的布局。
媒体流编码输出参数。
云端混流配置参数。

本地录制与截图

类型
描述
本地视频截图的数据源。
本地媒体录制类型。
本地媒体录制参数。

质量统计与网络测速

类型
描述
网络质量。
音视频播放状态。
播放状态变化的原因。
网络测速场景。
网络质量信息。
本地音视频统计指标。
远端音视频统计指标。
网络和性能的汇总统计指标。
网络测速参数。
网络测速结果。

自定义采集与渲染

类型
描述
视频像素格式。
视频数据传递方式。
视频纹理数据。
视频帧信息。
音频帧数据。

日志与基础结构

类型
描述
日志级别。
TRTCRect
矩形区域坐标。
TRTCSize
尺寸(宽高)。

类型详情

以下按类型列表顺序逐一说明各枚举的取值与各数据类的字段。

TRTCAppScene

应用场景。
TRTC 针对常见的音视频应用场景进行了定向优化,以满足不同垂直行业的差异化要求,主要场景可以分为如下两类:
直播场景(LIVE):包含 live(音频 + 视频)和 voiceChatRoom(纯音频)。该场景下的用户分为“主播”和“观众”两种角色,单个房间最多支持 10 万人同时在线,适合向大量观众进行直播。
实时通话场景(RTC):包含 videoCall(音频 + 视频)和 audioCall(纯音频)。该场景下的用户没有角色区分,但单个房间最多支持 300 人同时在线,适合小范围实时通信。
枚举值
数值
描述
videoCall
0
视频通话场景,支持 720p 和 1080p 高清画质。单个房间最多支持 300 人同时在线,其中最多 50 人可同时发言。
适用场景:一对一视频通话、300 人视频会议、在线问诊、视频聊天、视频面试等。
live
1
互动视频直播场景,支持平滑上下麦无需等待切换,主播延时低至 300 ms 以内;支持十万人级别观众同时播放,播放延时低至 1000 ms。
适用场景:低延时视频直播、10 万人互动课堂、视频直播 PK、视频相亲房、远程培训、大型会议等。
注意:
该场景下必须通过 ​TRTCParams 中的 role 字段指定当前用户的角色。
audioCall
2
音频通话场景,支持 48 kHz 双声道音频通话。单个房间最多支持 300 人同时在线,其中最多 50 人可同时发言。
适用场景:一对一音频通话、300 人音频会议、语音聊天、语音狼人杀等。
voiceChatRoom
3
互动音频直播场景,支持平滑上下麦无需等待切换,主播延时低至 300 ms 以内;支持十万人级别观众同时播放,播放延时低至 1000 ms。
适用场景:低延时音频直播、语聊房、K 歌房、FM 电台等。
注意:
该场景下必须通过 ​TRTCParams 中的 role 字段指定当前用户的角色。

TRTCRoleType

用户角色。
角色仅适用于直播场景(​TRTCAppScene.live 和 ​TRTCAppScene.voiceChatRoom),用户分为以下两种角色:
主播:可以发布自己的音视频流,人数有上限,同一个房间中最多允许 50 人同时发布。
观众:只能收听或观看房间中主播的音视频流;如需发布自己的流,需要先通过 ​switchRole 切换为“主播”角色。单个房间最多支持 10 万名观众同时在线。
枚举值
数值
描述
anchor
20
主播,可以发布自己的音视频流,同一个房间中最多允许 50 人同时发布。
audience
21
观众,只能收听或观看房间中主播的音视频流。如需发布自己的流,需要先通过 ​switchRole 切换为“主播”角色。单个房间最多支持 10 万名观众同时在线。

TRTCParams

进房参数。
作为 TRTC SDK 的进房参数,需要正确设置这些参数,用户才能顺利进入 roomId 或 strRoomId 指定的音视频房间。
由于历史原因,TRTC 支持两种房间号类型:roomId 和 strRoomId。
说明:
请不要混用 roomId 和 strRoomId,因为两者不互通。例如数字 123 和字符串 123 在 TRTC 中是两个完全不同的房间。
字段
类型
默认值
描述
sdkAppId
int
0
应用 ID(必填),腾讯云基于该字段计费。
创建应用后,可以在 TRTC 控制台 的账号信息页面获取该 ID。
userId
String
''
用户 ID(必填),是本地用户的 UTF-8 编码 ID,相当于用户名。
例如账号系统中某用户的 ID 是 mike,则该字段可以设为 mike。
userSig
String
''
用户签名(必填),是当前 userId 对应的鉴权签名,相当于登录腾讯云服务的密码。
计算方法请参见 UserSig。
roomId
int
0
数字房间号,同一个房间中的用户可以彼此看到对方并进行音视频通话,取值范围:1 - 4294967294。
注意:
roomId 和 strRoomId 互斥,若使用 strRoomId,则 roomId 需填 0;若两者都填,roomId 生效。
strRoomId
String
''
字符串房间号,同一个房间中的用户可以彼此看到对方并进行音视频通话,长度限制为 64 字节。
支持的 89 个字符为:字母(a-z、A-Z)、数字(0-9)、空格、!、#、$、%、&、(、)、+、-、:、;、<、=、.、>、?、@、[、]、^、_、{、}、|、~、,。
注意:
roomId 和 strRoomId 必须填写一个。使用同一个 sdkAppId 互通时,请务必使用同一种房间号类型。
role
TRTCRoleType.anchor
直播场景下的用户角色,SDK 通过该参数判断用户是主播还是观众,详见 ​TRTCRoleType。
注意:
该字段仅适用于直播场景(​TRTCAppScene.live 或 ​TRTCAppScene.voiceChatRoom),在通话场景下不生效。
streamId
String
''
绑定的腾讯云直播 CDN 流 ID(选填)。设置该字段后,可以通过标准直播方案(FLV 或 HLS)在腾讯云直播 CDN 上播放该用户的音视频流。
该参数最长 64 字节,可以留空。推荐使用 sdkappid_roomid_userid_main 作为 streamId,这样更易于识别,且不会在您的多个应用中发生冲突。
注意:
如需使用腾讯云直播 CDN,需要先在控制台的“功能配置”页面开启旁路直播功能。
userDefineRecordId
String
''
云端录制开关(选填),用于指定是否将该用户的音视频流在云端录制成指定格式的文件。
最长 64 字节,仅支持字母(a-z、A-Z)、数字(0-9)、下划线和连词符。
privateMapKey
String
''
房间签名(选填)。如果希望只有指定 userId 的用户才能进入房间,需要使用该字段限制权限。
推荐仅在安全性要求较高的场合使用,详情请参见 开启高级权限控制。
businessInfo
String
''
业务数据(选填),仅在一些不常见的特殊需求中使用。
推荐不要使用该字段。

TRTCSwitchRoomConfig

切换房间参数。
字段
类型
默认值
描述
userSig
String
必填
用户签名(必填),是当前 userId 对应的鉴权签名,相当于登录腾讯云服务的密码。
计算方法请参见 UserSig。
roomId
int
0
数字房间号,同一个房间中的用户可以彼此看到对方并进行音视频通话,取值范围:1 - 4294967294。
注意:
roomId 和 strRoomId 互斥,若使用 strRoomId,则 roomId 需填 0;若两者都填,roomId 生效。
strRoomId
String
''
字符串房间号,同一个房间中的用户可以彼此看到对方并进行音视频通话,长度限制为 64 字节。
注意:
roomId 和 strRoomId 必须填写一个。使用同一个 sdkAppId 互通时,请务必使用同一种房间号类型。
privateMapKey
String
''
房间签名(选填)。如果希望只有指定 userId 的用户才能进入房间,需要使用该字段限制权限。
推荐仅在安全性要求较高的场合使用,详情请参见 开启高级权限控制。

TRTCVideoResolution

视频分辨率。
此处仅定义横屏分辨率(例如 640x360),如需使用竖屏分辨率(例如 360x640),请将 ​TRTCVideoResolutionMode 指定为 portrait。
枚举值
数值
描述
res_120_120
1
宽高比 1:1;分辨率 120x120;推荐码率(通话)80 Kbps;推荐码率(直播)120 Kbps。
res_160_160
3
宽高比 1:1;分辨率 160x160;推荐码率(通话)100 Kbps;推荐码率(直播)150 Kbps。
res_270_270
5
宽高比 1:1;分辨率 270x270;推荐码率(通话)200 Kbps;推荐码率(直播)300 Kbps。
res_480_480
7
宽高比 1:1;分辨率 480x480;推荐码率(通话)350 Kbps;推荐码率(直播)500 Kbps。
res_160_120
50
宽高比 4:3;分辨率 160x120;推荐码率(通话)100 Kbps;推荐码率(直播)150 Kbps。
res_240_180
52
宽高比 4:3;分辨率 240x180;推荐码率(通话)150 Kbps;推荐码率(直播)250 Kbps。
res_280_210
54
宽高比 4:3;分辨率 280x210;推荐码率(通话)200 Kbps;推荐码率(直播)300 Kbps。
res_320_240
56
宽高比 4:3;分辨率 320x240;推荐码率(通话)250 Kbps;推荐码率(直播)375 Kbps。
res_400_300
58
宽高比 4:3;分辨率 400x300;推荐码率(通话)300 Kbps;推荐码率(直播)450 Kbps。
res_480_360
60
宽高比 4:3;分辨率 480x360;推荐码率(通话)400 Kbps;推荐码率(直播)600 Kbps。
res_640_480
62
宽高比 4:3;分辨率 640x480;推荐码率(通话)600 Kbps;推荐码率(直播)900 Kbps。
res_960_720
64
宽高比 4:3;分辨率 960x720;推荐码率(通话)1000 Kbps;推荐码率(直播)1500 Kbps。
res_160_90
100
宽高比 16:9;分辨率 160x90;推荐码率(通话)150 Kbps;推荐码率(直播)250 Kbps。
res_256_144
102
宽高比 16:9;分辨率 256x144;推荐码率(通话)200 Kbps;推荐码率(直播)300 Kbps。
res_320_180
104
宽高比 16:9;分辨率 320x180;推荐码率(通话)250 Kbps;推荐码率(直播)400 Kbps。
res_480_270
106
宽高比 16:9;分辨率 480x270;推荐码率(通话)350 Kbps;推荐码率(直播)550 Kbps。
res_640_360
108
宽高比 16:9;分辨率 640x360;推荐码率(通话)500 Kbps;推荐码率(直播)900 Kbps。
res_960_540
110
宽高比 16:9;分辨率 960x540;推荐码率(通话)850 Kbps;推荐码率(直播)1300 Kbps。
res_1280_720
112
宽高比 16:9;分辨率 1280x720;推荐码率(通话)1200 Kbps;推荐码率(直播)1800 Kbps。
res_1920_1080
114
宽高比 16:9;分辨率 1920x1080;推荐码率(通话)2000 Kbps;推荐码率(直播)3000 Kbps。

TRTCVideoResolutionMode

视频宽高比模式。
枚举值
数值
描述
landscape
0
横屏分辨率。
portrait
1
竖屏分辨率。

TRTCVideoStreamType

视频流类型。
枚举值
数值
描述
big
0
高清大画面,一般用于传输摄像头的视频数据。
small
1
低清小画面,内容与大画面相同,但分辨率和码率更低,因此清晰度也更低。
sub
2
辅路画面,一般用于屏幕分享。
同一时间房间中只允许一个用户发布辅路视频画面,其他用户必须等待该用户关闭辅路后才能发布自己的辅路。

TRTCVideoFillMode

视频画面填充模式。
当视频显示区域的宽高比不等于视频画面的宽高比时,需要指定填充模式。
枚举值
数值
描述
fill
0
填充模式。视频画面会被居中等比缩放以充满整个显示区域,超出显示区域的部分会被裁剪掉。该模式下画面可能显示不完整。
fit
1
适应模式。视频画面会按长边等比缩放以适应显示区域,短边区域会被填充黑色。该模式下画面显示完整,但可能有黑边。
scaleFill
2
拉伸填充模式。不考虑画面宽高比,直接拉伸或压缩画面以完全填满显示区域。该模式下画面的宽高比可能被改变,导致渲染出的画面变形。

TRTCVideoRotation

视频画面旋转方向。
枚举值
数值
描述
rotation0
0
不旋转。
rotation90
1
顺时针旋转 90 度。
rotation180
2
顺时针旋转 180 度。
rotation270
3
顺时针旋转 270 度。

TRTCVideoMirrorType

视频镜像类型。
枚举值
数值
描述
auto
0
自动模式:镜像前置摄像头的画面,不镜像后置摄像头的画面(仅适用于移动端)。
enable
1
前置摄像头和后置摄像头的画面都镜像。
disable
2
前置摄像头和后置摄像头的画面都不镜像。

TRTCVideoQosPreference

画质偏好。
TRTC 在弱网络环境下有“保清晰”和“保流畅”两种控制模式,两种模式都会优先保障音频数据的传输。
枚举值
数值
描述
smooth
1
保流畅。当前网络无法同时传输清晰且流畅的画面时,优先保证画面的流畅性,代价是画面会比较模糊。
clear
2
保清晰(默认值)。当前网络无法同时传输清晰且流畅的画面时,优先保证画面的清晰度,代价是画面会比较卡顿。

TRTCGSensorMode

重力感应适配模式(仅移动端)。
枚举值
数值
描述
disable
0
不适配重力感应方向。该模式是桌面端的默认值。
该模式下,当前用户发布的视频画面不受重力感应方向变化的影响。
uiAutoLayout
1
适配重力感应方向。该模式是移动端的默认值。
该模式下,当前用户发布的视频画面会根据重力感应方向进行调整,而本地预览画面的方向保持不变。
当手机或平板倒置时,为了保证远端用户看到的画面方向正常,SDK 会自动将发布的视频画面旋转 180 度。
如果您的应用在 UI 层已经开启了重力感应适配,推荐使用 uiFixLayout 模式。
uiFixLayout
2
适配重力感应方向。
该模式下,当前用户发布的视频画面会根据重力感应方向进行调整,本地预览画面也会相应旋转。
当手机或平板倒置时,为了保证远端用户看到的画面方向正常,SDK 会自动将发布的视频画面旋转 180 度。

TRTCVideoEncParam

视频编码参数。
该设置决定远端用户看到的画面质量,同时也决定云端录制出的视频文件的画面质量。
字段
类型
默认值
描述
videoResolution
TRTCVideoResolution.res_1280_720
视频分辨率,详见 ​TRTCVideoResolution。
视频通话推荐选择 360x640 及以下分辨率,并将 videoResolutionMode 设为 portrait;移动端直播推荐 540x960 + portrait;Windows 和 macOS 推荐 640x360 及以上分辨率 + landscape。
videoResolutionMode
TRTCVideoResolutionMode.portrait
分辨率模式(横屏 / 竖屏),详见 ​TRTCVideoResolutionMode。
若 videoResolution 选择 640x360 且该字段选择 portrait,则编码后的最终输出分辨率为 360x640。
videoFps
int
10
视频采集帧率。
推荐 15 fps 或 20 fps。低于 5 fps 会有明显卡顿;高于 20 fps 则是资源浪费(电影的帧率通常为 24 fps)。
注意:
很多 Android 手机的前置摄像头不支持高于 15 fps 的采集帧率。
videoBitrate
int
1600
目标视频码率,SDK 会按照该码率进行编码,只有在网络不佳时才会主动降低码率。
推荐值请参见 ​TRTCVideoResolution 中各档位的最佳码率,也可以在此基础上稍微调高。
minVideoBitrate
int
0
最低视频码率,SDK 只有在网络不佳时才会降低码率到该值。
0 表示由 SDK 根据分辨率自动决定最低码率。
若希望“保清晰”,可设为 videoBitrate 的 60%;若希望“保流畅”,可设为 200 Kbps;若与 videoBitrate 相同,则相当于关闭 SDK 的自适应调节能力。
enableAdjustRes
bool
false
是否允许动态调整分辨率。
移动端直播推荐 false;视频通话若更看重流畅性,推荐 true(仅对 TRTCVideoStreamType.big 生效)。
注意:
如有录制需求,开启后请确认分辨率的变化不会影响录制效果。

TRTCNetworkQosParam

网络带宽限制参数。
该设置决定 SDK 在各种网络环境下的带宽调控策略,例如弱网下是“保清晰”还是“保流畅”。
字段
类型
默认值
描述
preference
TRTCVideoQosPreference.clear
弱网下是“保清晰”还是“保流畅”,详见 ​TRTCVideoQosPreference。
保流畅:画面会有较多模糊,但能保持流畅不卡顿;
保清晰:画面尽可能清晰,但容易卡顿。

TRTCRenderParams

视频画面渲染参数。
字段
类型
默认值
描述
rotation
TRTCVideoRotation.rotation0
画面顺时针旋转角度,详见 ​TRTCVideoRotation。
fillMode
TRTCVideoFillMode.fill
画面填充模式,详见 ​TRTCVideoFillMode。
mirrorType
TRTCVideoMirrorType.auto
画面镜像模式,详见 ​TRTCVideoMirrorType。

TRTCAudioQuality

声音音质。
TRTC 提供了三种精心调节过的模式,以满足各垂直行业对音质的差异化要求。
枚举值
数值
描述
speech
1
流畅:采样率 16 kHz;单声道;码率 16 Kbps。
该模式的抗丢包能力最强,适合在线会议、语音通话等音频通话场景。
defaultMode
2
默认:采样率 48 kHz;单声道;码率 50 Kbps。
该模式介于流畅模式和高音质模式之间,是 SDK 的默认模式,推荐使用。
music
3
高音质:采样率 48 kHz;双声道 + 全频带;码率 128 Kbps。
适合需要高保真传输音乐的场景,例如在线 K 歌、音乐直播等。

TRTCAudioRecordingContent

音频录制内容类型。
枚举值
数值
描述
all
0
录制本地和远端所有的声音。
local
1
仅录制本地的声音。
remote
2
仅录制远端的声音。

TRTCAudioFrameOperationMode

音频回调数据操作模式。
枚举值
数值
描述
readWrite
0
读写模式:可以获取并修改回调的音频数据,为默认模式。
readOnly
1
只读模式:仅从回调中获取音频数据。

TRTCAudioFrameFormat

音频帧内容格式。
枚举值
数值
描述
none
0
无。
pcm
1
PCM 格式的音频数据。

TRTCAudioVolumeEvaluateParams

音量评估相关参数。
字段
类型
默认值
描述
enablePitchCalculation
bool
false
是否开启本地人声音调计算。
enableSpectrumCalculation
bool
false
是否开启声音频谱计算。
enableVadDetection
bool
false
是否开启本地人声检测。
注意:
需要在 ​startLocalAudio 之前调用。
interval
int
300
onUserVoiceVolume 回调的触发间隔,单位:毫秒,最小间隔为 100 ms;小于等于 0 时关闭回调。
推荐值:300。
当该值大于 0 时,默认开启音量提示,无需额外设置。

TRTCAudioFrameCallbackFormat

自定义音频回调的格式参数。
字段
类型
默认值
描述
sampleRate
int
0
采样率,默认值:48000 Hz。有效值:16000、32000、44100、48000。
channel
int
0
声道数,默认值:1(单声道)。有效值:1(单声道)、2(双声道)。
samplesPerCall
int
0
采样点数,取值必须是 sampleRate / 100 的整数倍。
mode
TRTCAudioFrameOperationMode.readWrite
音频回调数据操作模式,详见 ​TRTCAudioFrameOperationMode。

TRTCVolumeInfo

音量大小。
用于表示音量值大小,您可以用它在 UI 上展示每个用户的音量。
字段
类型
默认值
描述
userId
String
''
说话者的用户 ID,为空表示本地用户。
volume
int
-1
说话者的音量,取值范围:0 - 100。
vad
int
-1
本地用户的人声检测结果。
0:非人声;
1:人声。
pitch
double
-1
本地用户的人声音调,单位:Hz,取值范围:[0, 4000]。对于远端用户,该值恒为 0。
spectrumData
List<double>?
—
音频频谱数据,将声音频率划分为 256 个频域,该字段记录各频域的能量值,每个能量值的取值范围为 [-300, 0],单位:dBFS。

TRTCBeautyStyle

美颜(磨皮)算法。
用于美颜接口 ​setBeautyStyle,指定磨皮算法的风格。
枚举值
数值
描述
smooth
0
光滑风格,算法比较激进,磨皮效果更明显,适合秀场直播。
nature
1
自然风格,算法保留更多面部细节,磨皮效果更自然,适合大多数直播场景。

TRTCWaterMarkSrcType

水印图片的源类型。
枚举值
数值
描述
file
0
图片文件路径,支持 BMP、GIF、JPEG、PNG、TIFF、Exif、WMF、EMF 格式。
bgra32
1
BGRA32 格式的内存块。
rgba32
2
RGBA32 格式的内存块。

TRTCScreenCaptureSourceType

屏幕分享目标类型(仅桌面端)。
枚举值
数值
描述
unknown
-1
未定义。
window
0
分享目标是某个应用的窗口。
screen
1
分享目标是整个屏幕。
custom
2
分享目标是用户自定义的数据源。

TRTCScreenCaptureSourceInfo

屏幕分享目标信息(仅桌面端)。
用户在进行屏幕分享时,可以选择采集整个桌面,也可以只分享某个程序的窗口。该结构用于描述待分享目标的信息,包括 ID、名称、缩略图等。本结构中的字段信息均是只读的。
字段
类型
默认值
描述
type
TRTCScreenCaptureSourceType.unknown
采集源类型(分享整个屏幕还是分享某个窗口),详见 ​TRTCScreenCaptureSourceType。
viewId
int
0
采集源的 ID。对于窗口,该字段表示窗口 ID;对于屏幕,该字段表示显示器 ID。
sourceName
String
''
采集源名称(UTF-8 编码)。
thumbBGRA
-
分享窗口的缩略图,详见 ​TRTCImageBuffer。
iconBGRA
-
分享窗口的图标,详见 ​TRTCImageBuffer。
isMinimizeWindow
bool
false
窗口是否处于最小化状态。
isMainScreen
bool
false
是否为主显示器(适用于多显示器场景)。
x
int
0
屏幕或窗口的 X 坐标,单位:像素。
y
int
0
屏幕或窗口的 Y 坐标,单位:像素。
width
int
0
屏幕或窗口的宽度,单位:像素。
height
int
0
屏幕或窗口的高度,单位:像素。

TRTCScreenCaptureSourceList

屏幕窗口列表。
字段
类型
默认值
描述
count
int
0
窗口数量。
sourceList
List<TRTCScreenCaptureSourceInfo>
-
屏幕窗口列表,详见 ​TRTCScreenCaptureSourceInfo。

TRTCScreenCaptureProperty

屏幕分享的高级控制参数。
该参数用于屏幕分享相关接口 ​selectScreenCaptureTarget,在指定分享目标时设置一系列高级控制参数,例如是否采集鼠标、是否采集子窗口、是否在分享目标周围绘制边框等。
字段
类型
默认值
描述
enableCaptureMouse
bool
true
采集目标内容时是否同时采集鼠标。
enableHighLight
bool
true
是否高亮正在分享的窗口(在分享目标周围绘制一个边框)。
enableHighPerformance
bool
true
是否开启高性能模式(只在分享屏幕时会生效)。
开启后屏幕采集性能最佳,但会丧失抗遮挡能力。
如果同时开启 enableHighLight 和 enableHighPerformance,远端用户会看到高亮的边框。
highLightColor
int
0
高亮边框的颜色,RGB 格式。传入 0 时使用默认颜色,默认颜色为 #FFE640。
highLightWidth
int
0
高亮边框的宽度。传入 0 时使用默认描边宽度,默认宽度为 5 px,最大可设置为 50。
enableCaptureChildWindow
bool
false
采集窗口时是否同时采集子窗口(子窗口与被采集窗口之间需要有 Owner 或 Popup 属性)。

TRTCImageBuffer

窗口缩略图与图标的存储结构。
字段
类型
默认值
描述
buffer
Uint8List?
-
BGRA 格式的图片内容。
length
int
0
缓冲区大小。
width
int
0
图片宽度。
height
int
0
图片高度。

TRTCPublishMode

媒体流发布模式。
用于媒体流发布接口 ​startPublishMediaStream。TRTC 支持将房间中的多路流混合后发布到 CDN 或回推到 TRTC 房间,也支持将本地用户的流发布到腾讯云或第三方 CDN。
枚举值
数值
描述
unknown
0
未定义。
bigStreamToCdn
1
将房间中的主路流(​TRTCVideoStreamType.big)发布到腾讯云或第三方 CDN(仅支持 RTMP)。
subStreamToCdn
2
将房间中的辅路流(​TRTCVideoStreamType.sub)发布到腾讯云或第三方 CDN(仅支持 RTMP)。
mixStreamToCdn
3
配合编码参数 ​TRTCStreamEncoderParam 和混流参数 ​TRTCStreamMixingConfig,将指定的多路流转码后发布到腾讯云或第三方 CDN(仅支持 RTMP)。
mixStreamToRoom
4
配合编码参数 ​TRTCStreamEncoderParam 和混流参数 ​TRTCStreamMixingConfig,将指定的多路流转码后发布到您指定的房间。
需要通过 ​TRTCPublishTarget 中的 ​TRTCUser 指定将转码流发布到 TRTC 房间的机器人。

TRTCUser

参与发布的用户信息。
可以配合发布目标参数 ​TRTCPublishTarget 和云端混流参数 ​TRTCStreamMixingConfig 使用,将您指定的多路流转码后发布到您指定的目标。
字段
类型
默认值
描述
userId
String
''
UTF-8 编码的用户 ID(必填)。例如,账号系统中某用户的 ID 是 mike,则设置为 mike。
intRoomId
int
0
数字房间号,房间号类型需要与 ​TRTCParams 中的保持一致。取值范围:1 - 4294967294。
注意:
不能同时使用 intRoomId 和 strRoomId。若使用 strRoomId,则 intRoomId 需填 0;若两者都填,仅 intRoomId 生效。
strRoomId
String
''
字符串房间号,房间号类型需要与 ​TRTCParams 中的保持一致。长度限制为 64 字节。
注意:
不能同时使用 intRoomId 和 strRoomId。若使用 intRoomId,则 strRoomId 需留空;若两者都填,仅 intRoomId 生效。

TRTCPublishCdnUrl

CDN 转推的目标地址。
用于发布接口 ​startPublishMediaStream 的发布目标参数 ​TRTCPublishTarget。
字段
类型
默认值
描述
rtmpUrl
String
''
发布到腾讯云或第三方 CDN 的目标地址(RTMP)。
不同 CDN 服务商的地址格式差异较大,请按服务商的要求填写有效地址,TRTC 后台服务会将标准格式的音视频流推送到该地址。
注意:
地址必须是 RTMP 格式,并满足服务商的要求,否则服务商可能会拒绝 TRTC 后台的推流请求。
isInternalLine
bool
true
是否发布到腾讯云。
如果设置的目标地址是腾讯云提供的,请将该参数设为 true,此时不会产生转推费用。

TRTCPublishTarget

媒体流发布的目标配置。
字段
类型
默认值
描述
mode
TRTCPublishMode.unknown
发布模式,详见 ​TRTCPublishMode。
注意:
如需使用多种发布模式,可以多次调用 ​startPublishMediaStream,每次传入不同的 ​TRTCPublishTarget;每次调用只能使用一种模式。如需修改配置,请调用 ​updatePublishMediaStream。
cdnUrlList
List<TRTCPublishCdnUrl>
-
发布到腾讯云或第三方 CDN 的目标地址列表(RTMP),详见 ​TRTCPublishCdnUrl。
注意:
发布模式为 mixStreamToRoom 时无需设置该字段。
mixStreamIdentity
TRTCUser
-
将转码流发布到 TRTC 房间的机器人信息,详见 ​TRTCUser。
注意:
仅在发布模式为 mixStreamToRoom 时需要设置。推荐设置为一个特殊的用户 ID,以便与通过 SDK 进房的主播区分;参与转码的用户无法订阅该转码流。

TRTCVideoLayout

转码流中每一路视频画面的布局。
用于发布接口 ​startPublishMediaStream 的云端混流参数 ​TRTCStreamMixingConfig,可以指定转码流中每一路视频画面的位置、大小、层级和流类型。
字段
类型
默认值
描述
rect
TRTCRect
-
画面的坐标,单位:像素,详见 ​TRTCRect。
zOrder
int
0
画面的层级,不可重复,取值范围:0 - 15。
fillMode
TRTCVideoFillMode.fill
画面的填充模式,详见 ​TRTCVideoFillMode。
backgroundColor
int
0
混流的背景色,取值必须是十六进制数,例如 0x61B9F1 表示 RGB 颜色值 (97,158,241)。默认值 0x000000(黑色)。
placeHolderImage
Uint8List
-
占位图。如果某用户只发送音频,云端混流时会混入该图片。
默认为空,表示不使用占位图。
注意:
需要在 fixedVideoUser 中指定 userId;图片不超过 2 MB,支持 PNG、JPG、JPEG、BMP 格式,推荐使用半透明的 PNG 图片。
fixedVideoUser
TRTCUser
-
参与转码的用户,详见 ​TRTCUser。
注意:
如果不指定 userId、intRoomId、strRoomId,TRTC 后台会按照您指定的布局自动混合房间中正在发送音视频的主播的流。
fixedVideoStreamType
TRTCVideoStreamType.big
该画面是主路(big)还是辅路(sub),详见 ​TRTCVideoStreamType。

TRTCWatermark

转码流中水印的布局。
用于发布接口 ​startPublishMediaStream 的云端混流参数 ​TRTCStreamMixingConfig。
字段
类型
默认值
描述
watermarkUrl
String
''
水印图片的地址,云端混流时会混入该图片。
注意:
地址最长 512 字节,图片不超过 2 MB,支持 PNG、JPG、JPEG、BMP 格式,推荐使用半透明的 PNG 图片。
rect
TRTCRect
-
水印的坐标,单位:像素,详见 ​TRTCRect。
zOrder
int
0
水印的层级,不可重复,取值范围:0 - 15。

TRTCStreamEncoderParam

媒体流编码输出参数。
字段
类型
默认值
描述
videoEncodedWidth
int
0
发布流的视频宽度。推荐值:368。如果只混合音频流,为避免转码流中显示黑色画面,请将宽和高都设为 0。
videoEncodedHeight
int
0
发布流的视频高度。推荐值:640。如果只混合音频流,为避免转码流中显示黑色画面,请将宽和高都设为 0。
videoEncodedFPS
int
0
发布流的视频帧率,取值范围:(0, 30],默认值:20。
videoEncodedGOP
int
0
发布流的关键帧间隔(GOP),取值范围:[1, 5],默认值:3,单位:秒。
videoEncodedKbps
int
0
发布流的视频码率,单位:Kbps。设为 0 时,TRTC 会根据宽高自动计算合适的码率。
audioEncodedSampleRate
int
0
发布流的音频采样率。有效值:48000、44100、32000、24000、16000、8000,默认值:48000,单位:Hz。
audioEncodedChannelNum
int
0
发布流的声道数。有效值:
1(单声道);
2(双声道);
默认值:1。
audioEncodedKbps
int
0
发布流的音频码率,取值范围:[32, 192],默认值:50,单位:Kbps。
audioEncodedCodecType
int
0
发布流的音频编码格式。有效值:
0(LC-AAC);
1(HE-AAC);
2(HE-AACv2);
默认值:0。
注意:
HE-AAC 和 HE-AACv2 支持的采样率为 48000、44100、32000、24000、16000;使用 HE-AACv2 时,输出流只能是双声道。
videoEncodedCodecType
int
0
发布流的视频编码格式。有效值:
0(H264);
1(H265);
默认值:0。
videoSeiParams
String
''
SEI 参数,以 JSON 字符串形式传入,默认为空。
支持的字段:
payloadContent(必填,透传 SEI 的负载内容);
payloadType(必填,取值为 5 或 [100, 254] 内的整数,不含 244);
payloadUuid(payloadType 为 5 时必填,须为 32 位十六进制数);
interval(可选,SEI 发送间隔,单位:毫秒,默认 1000);
followIdr(可选,默认 false,为 true 时确保发送关键帧时携带 SEI)。

TRTCStreamMixingConfig

云端混流配置参数。
用于发布接口 ​startPublishMediaStream,可以指定云端混流的视频布局和输入音频信息。
字段
类型
默认值
描述
backgroundColor
int
0
混流的背景色,取值必须是十六进制数,例如 0x61B9F1 表示 RGB 颜色值 (97,158,241)。默认值 0x000000(黑色)。
backgroundImage
Uint8List
-
混流的背景图,云端混流时会混入该图片。
默认为空,表示不使用背景图。
注意:
地址最长 512 字节,图片不超过 2 MB,支持 PNG、JPG、JPEG、BMP 格式,推荐使用半透明的 PNG 图片。
videoLayoutList
List<TRTCVideoLayout>
-
云端混流中每一路视频画面的位置、大小、层级和流类型,详见 ​TRTCVideoLayout。
audioMixUserList
List<TRTCUser>
-
参与混流的每一路音频信息,详见 ​TRTCUser。
注意:
如果不指定该数组,TRTC 后台会根据您设置的 ​TRTCStreamEncoderParam 自动混合房间中正在发送音频的主播的流(目前最多支持 16 路音视频输入)。
watermarkList
List<TRTCWatermark>
-
云端混流中每一个水印图片的位置、大小和层级,详见 ​TRTCWatermark。

TRTCSnapshotSourceType

本地视频截图的数据源。
SDK 可以从如下两种数据源中截取图片并保存成本地文件:
视频流:SDK 从视频流中截取原生的视频内容,截取的画面不受渲染控件的显示控制。
渲染层:SDK 从渲染控件中截取显示的视频内容,可以做到所见即所得,但如果显示区域过小,截取出的图片也会很小。
枚举值
数值
描述
stream
0
SDK 从视频流中截取原生的视频内容,截取的画面不受渲染控件的显示控制。
view
1
SDK 从渲染控件中截取显示的视频内容,可以做到所见即所得,但如果显示区域过小,截取出的图片也会很小。
capture
2
SDK 从采集控件中截取采集的视频内容,可以截取到更清晰的画面。

TRTCLocalRecordType

本地媒体录制类型。
用于本地媒体录制参数 ​TRTCLocalRecordingParams,指定录制音视频文件还是纯音频文件。
枚举值
数值
描述
audio
0
仅录制音频。
video
1
仅录制视频。
both
2
同时录制音频和视频。

TRTCLocalRecordingParams

本地媒体录制参数。
字段
类型
默认值
描述
filePath
String
''
录制文件的地址(必填),请确保该路径有效且有读写权限,否则无法生成录制文件。
注意:
该路径需要精确到文件名及扩展名,扩展名决定录制文件的格式,目前仅支持 MP4 格式。例如指定路径为 mypath/record/test.mp4,表示希望 SDK 生成一个 MP4 格式的本地视频文件。
recordType
TRTCLocalRecordType.both
媒体录制类型,默认为同时录制音频和视频,详见 ​TRTCLocalRecordType。
interval
int
-1
录制信息的更新频率,单位:毫秒,取值范围:1000 - 10000。默认值 -1 表示不回调。
maxDurationPerFile
int
0
每个录制文件分片的最大时长,单位:毫秒,最小值为 10000。默认值 0 表示不分片。

TRTCQuality

网络质量。
TRTC 每两秒会对当前的网络质量进行评估,评估结果分为六个等级:excellent 表示最好,down 表示最差。
枚举值
数值
描述
unknown
0
未定义。
excellent
1
当前网络非常好。
good
2
当前网络比较好。
poor
3
当前网络一般。
bad
4
当前网络较差。
vBad
5
当前网络很差。
down
6
当前网络不满足 TRTC 的最低要求。

TRTCAVStatusType

音视频播放状态。
用于 ​onRemoteAudioStatusUpdated 和 ​onRemoteVideoStatusUpdated 回调,表示当前的音视频状态。
枚举值
数值
描述
stopped
0
停止播放。
playing
1
正在播放。
loading
2
正在加载。

TRTCAVStatusChangeReason

播放状态变化的原因。
用于 ​onRemoteAudioStatusUpdated 和 ​onRemoteVideoStatusUpdated 回调,表示当前音视频状态变化的原因。
枚举值
数值
描述
internal
0
默认值。
bufferingBegin
1
因网络拥塞,流进入 loading 状态。
bufferingEnd
2
网络恢复后,流进入 playing 状态。
localStarted
3
本地直接调用了播放相关接口,流进入 playing 状态。
localStopped
4
本地直接调用了停止相关接口,流进入 stopped 状态。
remoteStarted
5
远端用户开始(或恢复)发布音视频流,流进入 loading 或 playing 状态。
remoteStopped
6
远端用户停止(或暂停)发布音视频流,流进入 stopped 状态。

TRTCSpeedTestScene

网络测速场景。
枚举值
数值
描述
delayTesting
1
延迟测速。
delayAndBandwidthTesting
2
延迟和带宽测速。
onlineChorusTesting
3
在线合唱测速。

TRTCQualityInfo

网络质量信息。
字段
类型
默认值
描述
userId
String
必填
用户 ID。
quality
必填
网络质量,详见 ​TRTCQuality。

TRTCLocalStatistics

本地音视频统计指标。
字段
类型
默认值
描述
width
int
-1
本地视频宽度,单位:像素。
height
int
-1
本地视频高度,单位:像素。
frameRate
int
-1
本地视频帧率,单位:fps,即每秒有多少个视频帧。
videoBitrate
int
-1
本地视频码率,单位:Kbps,即每秒产生多少视频数据。
audioSampleRate
int
-1
本地音频采样率,单位:Hz。
audioBitrate
int
-1
本地音频码率,单位:Kbps,即每秒产生多少音频数据。
streamType
TRTCVideoStreamType.big
视频流类型,详见 ​TRTCVideoStreamType。
audioCaptureState
int
-1
音频设备的采集状态。
0:正常;
1:检测到长时间静音;
2:检测到破音;
3:检测到声音异常间断。

TRTCRemoteStatistics

远端音视频统计指标。
字段
类型
默认值
描述
userId
String
''
用户 ID。
audioPacketLoss
int
-1
音频流的总丢包率(%)。
该值表示音视频流经过“主播 > 云端 > 观众”的完整传输链路后,最终在观众端统计到的丢包率。
该值越小越好,为 0 表示音频流的数据已经完整地到达了观众端。
如果 downLoss 为 0 但该值不为 0,说明“云端 > 观众”链路上没有丢包,但“主播 > 云端”链路上有不可恢复的丢包。
videoPacketLoss
int
-1
视频流的总丢包率(%)。
该值表示音视频流经过“主播 > 云端 > 观众”的完整传输链路后,最终在观众端统计到的丢包率。
该值越小越好,为 0 表示视频流的数据已经完整地到达了观众端。
width
int
-1
远端视频宽度,单位:像素。
height
int
-1
远端视频高度,单位:像素。
frameRate
int
-1
远端视频帧率,单位:fps。
videoBitrate
int
-1
远端视频码率,单位:Kbps。
audioSampleRate
int
-1
远端音频采样率,单位:Hz。
audioBitrate
int
-1
远端音频码率,单位:Kbps。
jitterBufferDelay
int
-1
播放延迟,单位:毫秒。
为了避免网络抖动和网络包乱序导致的声音和画面卡顿,TRTC 会在播放端管理一个播放缓冲区,用于对接收到的网络数据包进行整理。该缓冲区的大小会根据当前的网络质量进行自适应调整,其大小折算成以毫秒为单位的时间长度即为该值。
point2PointDelay
int
-1
端到端延迟,单位:毫秒。
该值代表“主播 > 云端 > 观众”的延迟,更准确地说,它代表了“采集 > 编码 > 网络传输 > 接收 > 缓冲 > 解码 > 播放”的全链路延迟。
该值仅在本地和远端 SDK 均为 8.5 及以上版本时才生效;如果远端 SDK 版本低于 8.5,该值恒为 0,没有意义。
audioTotalBlockTime
int
-1
音频播放的累计卡顿时长,单位:毫秒。
audioBlockRate
int
-1
音频播放的卡顿率(%)。
计算方式为:音频播放的累计卡顿时长(audioTotalBlockTime)/ 音频播放的总时长。
videoTotalBlockTime
int
-1
视频播放的累计卡顿时长,单位:毫秒。
videoBlockRate
int
-1
视频播放的卡顿率(%)。
计算方式为:视频播放的累计卡顿时长(videoTotalBlockTime)/ 视频播放的总时长。
finalLoss
int
-1
音视频流的总丢包率(%)。
已废弃,请改用 audioPacketLoss 和 videoPacketLoss。
remoteNetworkUplinkLoss
int
-1
远端用户上行到云端的丢包率(%)。
该值越小越好,为 0 表示上行网络质量非常好,上传到云端的数据包基本没有丢失;为 30% 表示 SDK 发送到云端的音视频数据包中有 30% 在传输链路上丢失。
remoteNetworkRTT
int
-1
远端 SDK 到云端的往返延迟,单位:毫秒。
该值代表一个网络数据包从远端 SDK 发送到云端、再从云端返回远端 SDK 的总耗时,即“SDK > 云端 > SDK”链路的总时长。
该值越小越好,低于 50 ms 表示通话延迟较短;高于 200 ms 表示通话延迟较长。
streamType
TRTCVideoStreamType.big
视频流类型,详见 ​TRTCVideoStreamType。

TRTCStatistics

网络和性能的汇总统计指标。
字段
类型
默认值
描述
appCpu
int
-1
当前应用的 CPU 使用率(%),Android 8.0 及以上系统不支持。
systemCpu
int
-1
当前系统的 CPU 使用率(%),Android 8.0 及以上系统不支持。
upLoss
int
-1
从 SDK 上行到云端的丢包率(%)。
该值越小越好,为 0 表示上行网络质量非常好,上传到云端的数据包基本没有丢失;为 30% 表示 SDK 发送到云端的音视频数据包中有 30% 在传输链路上丢失。
downLoss
int
-1
从云端下行到 SDK 的丢包率(%)。
该值越小越好,为 0 表示下行网络质量非常好,从云端接收的数据包基本没有丢失;为 30% 表示云端发送到 SDK 的音视频数据包中有 30% 在传输链路上丢失。
rtt
int
-1
从 SDK 到云端的往返延迟,单位:毫秒。
该值代表一个网络数据包从 SDK 发送到云端、再从云端返回 SDK 的总耗时,即“SDK > 云端 > SDK”链路的总时长。
该值越小越好,低于 50 ms 表示通话延迟较短;高于 200 ms 表示通话延迟较长。
gatewayRtt
int
-1
从 SDK 到网关的往返延迟,单位:毫秒。
该值代表一个网络数据包从 SDK 发送到网关、再从网关返回 SDK 的总耗时,即“SDK > 网关 > SDK”链路的总时长。
注意:
该值在蜂窝网络下无效。
sentBytes
int
-1
总发送字节数,包含信令数据和音视频数据。
receivedBytes
int
-1
总接收字节数,包含信令数据和音视频数据。
localStatisticsArray
List<TRTCLocalStatistics>?
-
本地音视频统计信息,详见 ​TRTCLocalStatistics。
由于本地可能有三路音视频流(即高清大画面、低清小画面和辅路画面),所以本地音视频统计信息是一个数组。
remoteStatisticsArray
List<TRTCRemoteStatistics>?
-
远端音视频统计信息,详见 ​TRTCRemoteStatistics。
由于同时可能有多个远端用户,且每个用户可能有多路音视频流,所以远端音视频统计信息是一个数组。

TRTCSpeedTestParams

网络测速参数。
字段
类型
默认值
描述
sdkAppId
int
0
应用标识,请参见 ​TRTCParams 中的相关说明。
userId
String
''
用户标识,请参见 ​TRTCParams 中的相关说明。
userSig
String
''
用户签名,请参见 ​TRTCParams 中的相关说明。
expectedUpBandwidth
int
0
预期的上行带宽,单位:Kbps,取值范围:10 - 5000,为 0 时不测试上行带宽。
注意:
当 scene 为 onlineChorusTesting 时,为了获取更准确的 RTT / 抖动等信息,取值范围限制为 10 - 1000。
expectedDownBandwidth
int
0
预期的下行带宽,单位:Kbps,取值范围:10 - 5000,为 0 时不测试下行带宽。
注意:
当 scene 为 onlineChorusTesting 时,为了获取更准确的 RTT / 抖动等信息,取值范围限制为 10 - 1000。
scene
TRTCSpeedTestScene.delayAndBandwidthTesting
测速场景,详见 ​TRTCSpeedTestScene。

TRTCSpeedTestResult

网络测速结果。
字段
类型
默认值
描述
success
bool
false
网络测速是否成功。
errMsg
String
''
网络测速的错误信息。
ip
String
''
服务器 IP 地址。
quality
TRTCQuality.unknown
网络质量,由内部评估算法测算得出,详见 ​TRTCQuality。
upLostRate
double
0.0
上行丢包率,取值范围:0 - 1.0。例如 0.3 表示向服务器发送的每 10 个数据包中可能有 3 个丢失。
downLostRate
double
0.0
下行丢包率,取值范围:0 - 1.0。例如 0.2 表示从服务器接收的每 10 个数据包中可能有 2 个丢失。
rtt
int
0
延迟,单位:毫秒,即当前设备到 TRTC 服务器的往返时间。该值越小越好,正常范围为 10 - 100 ms。
availableUpBandwidth
int
0
上行带宽,单位:Kbps,-1 表示无效值。
availableDownBandwidth
int
0
下行带宽,单位:Kbps,-1 表示无效值。
upJitter
int
0
上行数据包抖动,单位:毫秒,反映当前网络环境下数据通信的稳定性。该值越小越好,正常范围为 0 - 100 ms,-1 表示测速未获取到有效值。
通常 Wi-Fi 网络的抖动会比 4G / 5G 环境略大。
downJitter
int
0
下行数据包抖动,单位:毫秒,反映当前网络环境下数据通信的稳定性。该值越小越好,正常范围为 0 - 100 ms,-1 表示测速未获取到有效值。
通常 Wi-Fi 网络的抖动会比 4G / 5G 环境略大。

TRTCVideoPixelFormat

视频像素格式。
TRTC 提供自定义采集和自定义渲染功能:自定义采集时,可以用下列枚举值描述您采集的视频的像素格式;自定义渲染时,可以指定您期望 SDK 回调的视频像素格式。
枚举值
数值
描述
unknown
0
未定义的格式。
i420
1
YUV420P(I420)格式。
texture2D
2
OpenGL 2D 纹理格式。
bgra32
3
BGRA32 格式。
nv21
4
NV21 格式。
rgba32
5
RGBA 格式。

TRTCVideoBufferType

视频数据传递方式。
自定义采集和自定义渲染时,需要用下列枚举值指定视频数据的传递方式:
内存 Buffer:在 iOS 上效率较高,在 Android 上效率较低,是目前 Windows 上唯一支持的方式。
纹理:在 iOS 和 Android 上效率都较高,但 Windows 不支持。使用该方式需要您对 OpenGL 编程有一定了解。
枚举值
数值
描述
unknown
0
未定义的传递方式。
buffer
1
使用内存 Buffer 传递视频数据。
iOS:PixelBuffer;
Android:JNI 层的 Direct Buffer;
Windows:内存数据块。
texture
3
使用 OpenGL 纹理传递视频数据。
textureD3D11
4
使用 D3D11 纹理传递视频数据。

TRTCTexture

视频纹理数据。
字段
类型
默认值
描述
glTextureId
int
0
视频纹理 ID。
glContext
int
0
纹理对应的 OpenGL 上下文,适用于 Windows 和 Android。
d3d11TextureId
int
0
D3D11 纹理,即 ID3D11Texture2D 的指针,仅适用于 Windows。

TRTCVideoFrame

视频帧信息。
用于描述一帧视频画面的原始数据,即编码前或解码后的图像数据。
字段
类型
默认值
描述
videoFormat
TRTCVideoPixelFormat.unknown
视频像素格式,详见 ​TRTCVideoPixelFormat。
bufferType
TRTCVideoBufferType.unknown
视频数据结构类型,详见 ​TRTCVideoBufferType。
texture
TRTCTexture?
-
bufferType 为 texture 时的视频数据,承载用于 OpenGL 渲染的纹理数据,详见 ​TRTCTexture。
data
Uint8List
-
bufferType 为 buffer 时的视频数据,承载 C++ 层的内存数据块。
length
int
0
视频数据长度,单位:字节。I420 格式下为 width * height * 3 / 2;BGRA32 格式下为 width * height * 4。
width
int
640
视频宽度,请填写传入视频数据的宽度。
height
int
360
视频高度,请填写传入视频数据的高度。
timestamp
int
0
视频帧时间戳,单位:毫秒。
自定义视频采集时可以设为 0,此时 SDK 会自动填充该字段,但请“均匀”地设置投送数据的间隔。
rotation
TRTCVideoRotation.rotation0
视频像素的顺时针旋转角度,详见 ​TRTCVideoRotation。

TRTCAudioFrame

音频帧数据。
字段
类型
默认值
描述
audioFormat
TRTCAudioFrameFormat.none
音频帧格式,详见 ​TRTCAudioFrameFormat。
data
Uint8List
-
音频数据。
length
int
0
音频数据长度。
sampleRate
int
0
采样率。
channel
int
0
声道数。
timestamp
int
0
时间戳,单位:毫秒。
extraData
Uint8List
-
音频帧中的额外数据。远端用户通过 onLocalProcessedAudioFrame 添加到音频帧中的消息,会通过该字段回调出来。
extraDataLength
int
0
额外数据的长度。

TRTCLogLevel

日志级别。
枚举值
数值
描述
verbose
0
输出所有级别的日志。
debug
1
输出 DEBUG、INFO、WARNING、ERROR 和 FATAL 级别的日志。
info
2
输出 INFO、WARNING、ERROR 和 FATAL 级别的日志。
warning
3
输出 WARNING、ERROR 和 FATAL 级别的日志。
error
4
输出 ERROR 和 FATAL 级别的日志。
fatal
5
仅输出 FATAL 级别的日志。
none
6
不输出任何 SDK 日志。

TRTCRect

矩形区域坐标,单位:像素。
字段
类型
默认值
描述
left
int
0
矩形左边界的坐标。
top
int
0
矩形上边界的坐标。
right
int
0
矩形右边界的坐标。
bottom
int
0
矩形下边界的坐标。

TRTCSize

尺寸(宽高),单位:像素。
字段
类型
默认值
描述
width
int
0
宽度。
height
int
0
高度。