LiteAVSDK
腾讯云音视频 SDK ,服务于数万家企业客户的高可用组件,致力于最大限度地节省您的研发成本。
关键类型定义

详细描述

腾讯云实时音视频的关键类型定义

Module: TRTC 关键类型定义 Function: 分辨率、质量等级等枚举和常量值的定义


结构体说明

◆ com::tencent::trtc::TRTCCloudDef::TRTCParams

class com::tencent::trtc::TRTCCloudDef::TRTCParams

Public 成员函数

 TRTCParams ()
 
 TRTCParams (int sdkAppId, String userId, String userSig, int roomId, String privateMapKey, String businessInfo)
 
 TRTCParams (int sdkAppId, String userId, String userSig, String strRoomId, String privateMapKey, String businessInfo)
 
 TRTCParams (TRTCParams original)
 

成员变量

int sdkAppId = 0
 
String userId = ""
 
String userSig = ""
 
int roomId = 0
 
String strRoomId = ""
 
int role = TRTCCloudDef.TRTCRoleAnchor
 
String streamId
 
String userDefineRecordId
 
String privateMapKey = ""
 
String businessInfo = ""
 

构造及析构函数说明

◆ TRTCParams() [1/4]

TRTCParams ( )
inline

◆ TRTCParams() [2/4]

TRTCParams ( int  sdkAppId,
String  userId,
String  userSig,
int  roomId,
String  privateMapKey,
String  businessInfo 
)
inline

◆ TRTCParams() [3/4]

TRTCParams ( int  sdkAppId,
String  userId,
String  userSig,
String  strRoomId,
String  privateMapKey,
String  businessInfo 
)
inline

◆ TRTCParams() [4/4]

TRTCParams ( TRTCParams  original)
inline

结构体成员变量说明

◆ businessInfo

String businessInfo = ""

【字段含义】业务数据字段(选填),部分高级特性才需要用到此字段。
【推荐取值】请不要自行设置该字段。

◆ privateMapKey

String privateMapKey = ""

【字段含义】用于权限控制的权限票据(选填),当您希望某个房间只能让特定的 userId 进入时,需要使用 privateMapKey 进行权限保护。
【推荐取值】仅建议有高级别安全需求的客户使用,更多详情请参见 进房权限保护

◆ role

【字段含义】直播场景下的角色,仅适用于直播场景(TRTCAppSceneLIVETRTCAppSceneVoiceChatRoom),通话场景下指定该参数是无效的。
【推荐取值】默认值:主播(TRTCRoleAnchor)。

◆ roomId

int roomId = 0

【字段含义】数字房间号,在同一个房间里的用户(userId)可以彼此看到对方并进行音视频通话。
【推荐取值】取值范围:1 - 4294967294。
【特别说明】roomId 与 strRoomId 是互斥的,若您选用 strRoomId,则 roomId 需要填写为0。若两者都填,SDK 将优先选用 roomId。
【请您注意】不要混用 roomId 和 strRoomId,因为它们之间是不互通的,比如数字 123 和字符串 “123” 在 TRTC 看来是两个完全不同的房间。

◆ sdkAppId

int sdkAppId = 0

【字段含义】应用标识(必填),腾讯云基于 sdkAppId 完成计费统计。
【推荐取值】在 实时音视频控制台 创建应用后可以在账号信息页面中得到该 ID。

◆ streamId

String streamId

【字段含义】用于指定在腾讯云直播平台上的 streamId(选填),设置之后,您可以在腾讯云直播 CDN 上通过标准拉流方案(FLV或HLS)播放该用户的音视频流。
【推荐取值】限制长度为64字节,可以不填写,一种推荐的方案是使用 “sdkappid_roomid_userid_main” 作为 streamid,这中命名方式容易辨认且不会在您的多个应用中发生冲突。
【特殊说明】要使用腾讯云直播 CDN,您需要先在控制台 中的功能配置页开启“启动自动旁路直播”开关。
【参考文档】CDN 旁路直播

◆ strRoomId

String strRoomId = ""

【字段含义】字符串房间号,在同一个房间里的用户(userId)可以彼此看到对方并进行音视频通话。
【特别说明】roomId 与 strRoomId 是互斥的,若您选用 strRoomId,则 roomId 需要填写为0。若两者都填,SDK 将优先选用 roomId。
【请您注意】不要混用 roomId 和 strRoomId,因为它们之间是不互通的,比如数字 123 和字符串 “123” 在 TRTC 看来是两个完全不同的房间。
【推荐取值】限制长度为64字节。以下为支持的字符集范围(共 89 个字符):

  • 大小写英文字母(a-zA-Z);
  • 数字(0-9);
  • 空格、"!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、" {"、"}"、"|"、"~"、","。

◆ userDefineRecordId

String userDefineRecordId

【字段含义】云端录制开关(选填),用于指定是否要在云端将该用户的音视频流录制下来。
【参考文档】云端录制
【推荐取值】限制长度为64字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。

方案一:手动录制方案:

  1. 在“控制台 => 应用管理 => 云端录制配置”中开启云端录制。
  2. 设置“录制形式”为“手动录制”。
  3. 设置手动录制后,在一个 TRTC 房间中只有设置了 userDefineRecordId 参数的用户才会在云端录制出视频文件,不指定该参数的用户不会产生录制行为。
  4. 云端会以 “userDefineRecordId_起始时间_结束时间” 的格式命名录制下来的文件。

方案二:自动录制方案:

  1. 需要在“控制台 => 应用管理 => 云端录制配置”中开启云端录制。
  2. 设置“录制形式”为“自动录制”。
  3. 设置自动录制后,在一个 TRTC 房间中的任何一个有音视频上行的用户,均会在云端录制出视频文件。
  4. 文件会以 “userDefineRecordId_起始时间_结束时间” 的格式命名,如果不指定 userDefineRecordId,则文件会以 “streamId_起始时间_结束时间” 命名。

◆ userId

String userId = ""

【字段含义】用户标识(必填),当前用户的 userId,相当于用户名,使用 UTF-8 编码。
【推荐取值】如果一个用户在您的帐号系统中的 ID 为“mike”,则 userId 即可设置为“mike”。

◆ userSig

String userSig = ""

【字段含义】用户签名(必填),当前 userId 对应的验证签名,相当于使用云服务的登录密码。
【推荐取值】具体计算方法请参见 如何计算UserSig

◆ com::tencent::trtc::TRTCCloudDef::TRTCVideoEncParam

class com::tencent::trtc::TRTCCloudDef::TRTCVideoEncParam
成员变量
boolean enableAdjustRes

【字段含义】是否允许动态调整分辨率(开启后会对云端录制产生影响)。
【推荐取值】该功能适用于不需要云端录制的场景,开启后 SDK 会根据当前网络情况,智能选择出一个合适的分辨率,避免出现“大分辨率+小码率”的低效编码模式。
【特别说明】默认值:关闭。如有云端录制的需求,请不要开启此功能,因为如果视频分辨率发生变化后,云端录制出的 MP4 在普通的播放器上无法正常播放。

int minVideoBitrate

【字段含义】最低视频码率,SDK 会在网络不佳的情况下主动降低视频码率以保持流畅度,最低会降至 minVideoBitrate 所设定的数值。
【特别说明】 默认值:0,此时最低码率由 SDK 会根据您指定的分辨率,自动计算出合适的数值。
【推荐取值】您可以通过同时设置 videoBitrate 和 minVideoBitrate 两个参数,用于约束 SDK 对视频码率的调整范围:

  • 如果您追求“弱网络下允许卡顿但要保持清晰”的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60%;
  • 如果您追求“弱网络下允许模糊但要保持流畅”的效果,可以设置 minVideoBitrate 为一个较低的数值(比如 100kbps);
  • 如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 对视频码率的自适应调节能力。
int videoBitrate

【字段含义】目标视频码率,SDK 会按照目标码率进行编码,只有在弱网络环境下才会主动降低视频码率。
【推荐取值】请参考本 TRTCVideoResolution 在各档位注释的最佳码率,也可以在此基础上适当调高。 比如:TRTCVideoResolution_1280_720 对应 1200kbps 的目标码率,您也可以设置为 1500kbps 用来获得更好的观感清晰度。
【特别说明】您可以通过同时设置 videoBitrate 和 minVideoBitrate 两个参数,用于约束 SDK 对视频码率的调整范围:

  • 如果您追求“弱网络下允许卡顿但要保持清晰”的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60%;
  • 如果您追求“弱网络下允许模糊但要保持流畅”的效果,可以设置 minVideoBitrate 为一个较低的数值(比如 100kbps);
  • 如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 对视频码率的自适应调节能力。
int videoFps

【字段含义】视频采集帧率
【推荐取值】15fps或20fps。5fps以下,卡顿感明显。10fps以下,会有轻微卡顿感。20fps以上,会浪费带宽(电影的帧率为24fps)。
【特别说明】部分 Android 手机的前置摄像头并不支持15fps以上的采集帧率,部分主打美颜功能的 Android 手机的前置摄像头的采集帧率可能低于10fps。

int videoResolution

【字段含义】 视频分辨率
【特别说明】如需使用竖屏分辨率,请指定 resMode 为 Portrait,例如: 640 × 360 + Portrait = 360 × 640。
【推荐取值】

  • 手机视频通话:建议选择 360 × 640 及以下分辨率,resMode 选择 Portrait,即竖屏分辨率。
  • 手机在线直播:建议选择 540 × 960,resMode 选择 Portrait,即竖屏分辨率。
  • 桌面平台(Win + Mac):建议选择 640 × 360 及以上分辨率,resMode 选择 Landscape,即横屏分辨率。
int videoResolutionMode

【字段含义】分辨率模式(横屏分辨率 or 竖屏分辨率)
【推荐取值】手机平台(iOS、Android)建议选择 Portrait,桌面平台(Windows、Mac)建议选择 Landscape。
【特别说明】如需使用竖屏分辨率,请指定 resMode 为 Portrait,例如: 640 × 360 + Portrait = 360 × 640。

◆ com::tencent::trtc::TRTCCloudDef::TRTCNetworkQosParam

class com::tencent::trtc::TRTCCloudDef::TRTCNetworkQosParam
成员变量
int controlMode

【字段含义】流控模式(已废弃)
【推荐取值】云端控制
【特别说明】请设置为云端控制模式(TRTCQosControlModeServer)

int preference

【字段含义】清晰优先还是流畅优先
【推荐取值】清晰优先
【特别说明】该参数主要影响 TRTC 在较差网络环境下的音视频表现:

  • 流畅优先:即当前网络不足以传输既清晰又流畅的画面时,优先保证画面的流畅性,代价就是画面会比较模糊且伴随有较多的马赛克。
  • 清晰优先(默认值):即当前网络不足以传输既清晰又流畅的画面时,优先保证画面的清晰度,代价就是画面会比较卡顿。

◆ com::tencent::trtc::TRTCCloudDef::TRTCRenderParams

class com::tencent::trtc::TRTCCloudDef::TRTCRenderParams
成员变量
int fillMode

【字段含义】画面填充模式
【推荐取值】填充(画面可能会被拉伸裁剪)或适应(画面可能会有黑边),默认值:TRTCVideoFillMode_Fill

int mirrorType

【字段含义】画面镜像模式
【推荐取值】默认值:TRTCVideoMirrorType_Auto

int rotation

【字段含义】图像的顺时针旋转角度
【推荐取值】支持90、180以及270旋转角度,默认值:TRTCVideoRotation_0

◆ com::tencent::trtc::TRTCCloudDef::TRTCQuality

class com::tencent::trtc::TRTCCloudDef::TRTCQuality
成员变量
int quality 网络质量
String userId 用户 ID

◆ com::tencent::trtc::TRTCCloudDef::TRTCVolumeInfo

class com::tencent::trtc::TRTCCloudDef::TRTCVolumeInfo
成员变量
String userId 说话者的 userId, 如果 userId 为空则代表是当前用户自己。
int volume 说话者的音量大小, 取值范围[0 - 100]。

◆ com::tencent::trtc::TRTCCloudDef::TRTCSpeedTestParams

class com::tencent::trtc::TRTCCloudDef::TRTCSpeedTestParams

Public 成员函数

String toString ()
 

成员变量

int sdkAppId
 
String userId
 
String userSig
 
int expectedUpBandwidth
 
int expectedDownBandwidth
 

成员函数说明

◆ toString()

String toString ( )
inline

结构体成员变量说明

◆ expectedDownBandwidth

int expectedDownBandwidth

预期的下行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)。

◆ expectedUpBandwidth

int expectedUpBandwidth

预期的上行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)。

◆ sdkAppId

int sdkAppId

应用标识,请参考 TRTCParams 中的相关说明。

◆ userId

String userId

用户标识,请参考 TRTCParams 中的相关说明。

◆ userSig

String userSig

用户签名,请参考 TRTCParams 中的相关说明。

◆ com::tencent::trtc::TRTCCloudDef::TRTCSpeedTestResult

class com::tencent::trtc::TRTCCloudDef::TRTCSpeedTestResult

Public 成员函数

String toString ()
 

成员变量

boolean success
 
String errMsg
 
String ip
 
int quality
 
float upLostRate
 
float downLostRate
 
int rtt
 
int availableUpBandwidth
 
int availableDownBandwidth
 

成员函数说明

◆ toString()

String toString ( )
inline

结构体成员变量说明

◆ availableDownBandwidth

int availableDownBandwidth

下行带宽(kbps,-1:无效值)。

◆ availableUpBandwidth

int availableUpBandwidth

上行带宽(kbps,-1:无效值)。

◆ downLostRate

float downLostRate

下行丢包率,取值范围是 [0 - 1.0],例如 0.2 表示每从服务器收取 10 个数据包可能会在中途丢失 2 个。

◆ errMsg

String errMsg

带宽测试错误信息。

◆ ip

String ip

服务器 IP 地址。

◆ quality

int quality

内部通过评估算法测算出的网络质量,更多信息请参见 TRTCQuality

◆ rtt

int rtt

延迟(毫秒),指当前设备到 TRTC 服务器的一次网络往返时间,该值越小越好,正常数值范围是10ms - 100ms。

◆ success

boolean success

测试是否成功。

◆ upLostRate

float upLostRate

上行丢包率,取值范围是 [0 - 1.0],例如 0.3 表示每向服务器发送 10 个数据包可能会在中途丢失 3 个。

◆ com::tencent::trtc::TRTCCloudDef::TRTCTexture

class com::tencent::trtc::TRTCCloudDef::TRTCTexture
成员变量
egl eglContext10 【字段含义】使用 (javax.microedition.khronos.egl.*) 定义的 OpenGL 上下文环境。
opengl eglContext14 【字段含义】使用 (android.opengl.*) 定义的 OpenGL 上下文环境。
int textureId 【字段含义】视频纹理 ID

◆ com::tencent::trtc::TRTCCloudDef::TRTCVideoFrame

class com::tencent::trtc::TRTCCloudDef::TRTCVideoFrame
成员变量
ByteBuffer buffer 【字段含义】bufferType 为 TRTCCloudDef#TRTC_VIDEO_BUFFER_TYPE_BYTE_BUFFER 时的视频数据,承载用于 JNI 层的 Direct Buffer。
int bufferType 【字段含义】视频数据结构类型
byte[] data 【字段含义】bufferType 为 TRTCCloudDef#TRTC_VIDEO_BUFFER_TYPE_BYTE_ARRAY 时的视频数据,承载用于 java 层的字节数组。
int height 【字段含义】视频高度
int pixelFormat 【字段含义】视频的像素格式
int rotation 【字段含义】视频像素的顺时针旋转角度
TRTCTexture texture 【字段含义】bufferType 为 TRTCCloudDef#TRTC_VIDEO_PIXEL_FORMAT_Texture_2D 时的视频数据,承载用于 OpenGL 渲染的纹理数据。
long timestamp

【字段含义】视频帧的时间戳,单位毫秒
【推荐取值】自定义视频采集时可以设置为0。若该参数为0,SDK 会自定填充 timestamp 字段,但请“均匀”地控制 sendCustomVideoData 的调用间隔。

int width 【字段含义】视频宽度

◆ com::tencent::trtc::TRTCCloudDef::TRTCAudioFrame

class com::tencent::trtc::TRTCCloudDef::TRTCAudioFrame
成员变量
int channel 【字段含义】声道数
byte[] data 【字段含义】音频数据
byte[] extraData 【字段含义】音频额外数据,远端用户通过 onLocalProcessedAudioFrame 写入的数据会通过该字段回调
int sampleRate 【字段含义】采样率
long timestamp 【字段含义】时间戳,单位ms

◆ com::tencent::trtc::TRTCCloudDef::TRTCMixUser

class com::tencent::trtc::TRTCCloudDef::TRTCMixUser

Public 成员函数

 TRTCMixUser ()
 
 TRTCMixUser (String userId, int x, int y, int width, int height, int zOrder)
 
 TRTCMixUser (TRTCMixUser original)
 
String toString ()
 

成员变量

String userId
 
String roomId
 
int x
 
int y
 
int width
 
int height
 
int zOrder
 
int streamType
 
boolean pureAudio
 
int inputType
 
int renderMode
 
String image
 

构造及析构函数说明

◆ TRTCMixUser() [1/3]

TRTCMixUser ( )
inline

◆ TRTCMixUser() [2/3]

TRTCMixUser ( String  userId,
int  x,
int  y,
int  width,
int  height,
int  zOrder 
)
inline

◆ TRTCMixUser() [3/3]

TRTCMixUser ( TRTCMixUser  original)
inline

成员函数说明

◆ toString()

String toString ( )
inline

结构体成员变量说明

◆ height

int height

【字段含义】指定该路画面的高度(单位:像素)

◆ image

String image

【字段含义】占位图或水印图

  • 占位图是指当对应 userId 混流内容为纯音频时,混合后的画面中显示的是占位图片。
  • 水印图是指一张贴在混合后画面中的半透明图片,这张图片会一直覆盖于混合后的画面上。
  • 当指定 inputType 为 TRTCMixInputTypePureAudio 时,image 为占位图,此时需要您指定 userId。
  • 当指定 inputType 为 TRTCMixInputTypeWatermark 时,image 为水印图,此时不需要您指定 userId。
    【推荐取值】默认值:空值,即不设置占位图或者水印图。
    【特别说明】
  • 您可以将 image 设置为控制台中的某一个素材 ID,这需要您事先在 “控制台 => 应用管理 => 功能配置 => 素材管理” 中单击 [新增图片] 按钮进行上传。
  • 上传成功后可以获得对应的“图片ID”,然后将“图片ID”转换成字符串类型并设置给 image 字段即可(比如假设“图片ID” 为 63,可以设置 image = "63")
  • 您也可以将 image 设置为图片的 URL 地址,腾讯云的后台服务器会将该 URL 地址指定的图片混合到最终的画面中。
  • URL 链接长度限制为 512 字节。图片大小限制不超过 2MB。
  • 图片格式支持 png、jpg、jpeg、bmp 格式,推荐使用 png 格式的半透明图片作为水印。
  • image 仅在 inputType 为 TRTCMixInputTypePureAudio 或者 TRTCMixInputTypeWatermark 时才生效。

◆ inputType

int inputType

【字段含义】指定该路流的混合内容(只混音频、只混视频、混合音视频、混入水印)
【默认取值】默认值:TRTCMixInputTypeUndefined
【特别说明】

  • 当指定 inputType 为 TRTCMixInputTypeUndefined 并设置 pureAudio 为 YES 时,等效于设置 inputType 为 TRTCMixInputTypePureAudio。
  • 当指定 inputType 为 TRTCMixInputTypeUndefined 并设置 pureAudio 为 NO 时,等效于设置 inputType 为 TRTCMixInputTypeAudioVideo。
  • 当指定 inputType 为 TRTCMixInputTypeWatermark 时,您可以不指定 userId 字段,但需要指定 image 字段。

◆ pureAudio

boolean pureAudio

【字段含义】指定该路流是不是只混合声音
【推荐取值】默认值:false
【特别说明】已废弃,推荐使用8.5版本开始新引入的字段:inputType。

◆ renderMode

int renderMode

【字段含义】该画面在输出时的显示模式
【推荐取值】默认值:视频流默认为0。0为裁剪,1为缩放,2为缩放并显示黑底。
【特别说明】水印图和占位图暂时不支持设置 renderMode,默认强制拉伸处理

◆ roomId

String roomId

【字段含义】该路音视频流所在的房间号(设置为空值代表当前用户所在的房间号)

◆ streamType

int streamType

【字段含义】指定该路画面是主路画面(TRTCVideoStreamTypeBig)还是辅路画面(TRTCVideoStreamTypeSub)。

◆ userId

String userId

【字段含义】用户 ID

◆ width

int width

【字段含义】指定该路画面的宽度(单位:像素)

◆ x

int x

【字段含义】指定该路画面的 x 坐标(单位:像素)

◆ y

int y

【字段含义】指定该路画面的 y 坐标(单位:像素)

◆ zOrder

int zOrder

【字段含义】指定该路画面的层级(取值范围:1 - 15,不可重复)

◆ com::tencent::trtc::TRTCCloudDef::TRTCTranscodingConfig

class com::tencent::trtc::TRTCCloudDef::TRTCTranscodingConfig

Public 成员函数

 TRTCTranscodingConfig ()
 
 TRTCTranscodingConfig (TRTCTranscodingConfig original)
 
String toString ()
 

成员变量

int mode
 
int appId
 
int bizId
 
int videoWidth
 
int videoHeight
 
int videoBitrate
 
int videoFramerate
 
int videoGOP
 
int backgroundColor
 
String backgroundImage
 
int audioSampleRate
 
int audioBitrate
 
int audioChannels
 
int audioCodec
 
ArrayList< TRTCMixUsermixUsers
 
String streamId
 

构造及析构函数说明

◆ TRTCTranscodingConfig() [1/2]

◆ TRTCTranscodingConfig() [2/2]

成员函数说明

◆ toString()

String toString ( )
inline

结构体成员变量说明

◆ appId

int appId

【字段含义】腾讯云直播服务的 AppID
【推荐取值】请在 实时音视频控制台 依次单击【应用管理】=>【应用信息】,并在【旁路直播信息】中获取 appid。

◆ audioBitrate

int audioBitrate

【字段含义】指定云端转码的目标音频码率
【推荐取值】默认值:64kbps,取值范围是 [32,192]。

◆ audioChannels

int audioChannels

【字段含义】指定云端转码的音频声道数
【推荐取值】默认值:1,代表单声道。可设定的数值只有两个数字:1-单声道,2-双声道。

◆ audioCodec

int audioCodec

【字段含义】指定云端转码的输出流音频编码类型
【推荐取值】默认值:0,代表LC-AAC。可设定的数值只有三个数字:0 - LC-AAC,1 - HE-AAC,2 - HE-AACv2。
【特别说明】HE-AAC 和 HE-AACv2 支持的输出流音频采样率范围为[48000, 44100, 32000, 24000, 16000]
【特别说明】当音频编码设置为 HE-AACv2 时,只支持输出流音频声道数为双声道。
【特别说明】HE-AAC 和 HE-AACv2 取值仅在输出流为您额外设置的 streamId 上时才生效。

◆ audioSampleRate

int audioSampleRate

【字段含义】指定云端转码的目标音频采样率
【推荐取值】默认值:48000Hz。支持12000HZ、16000HZ、22050HZ、24000HZ、32000HZ、44100HZ、48000HZ。

◆ backgroundColor

int backgroundColor

【字段含义】指定混合画面的底色颜色
【推荐取值】默认值:0x000000 代表黑色。格式为十六进制数字,比如:“0x61B9F1” 代表 RGB 分别为(97,158,241)。

◆ backgroundImage

String backgroundImage

【字段含义】指定混合画面的背景图片
【推荐取值】默认值:空值,即不设置背景图片。
【特别说明】

  • 您可以将 image 设置为控制台中的某一个素材 ID,这需要您事先在 “控制台 => 应用管理 => 功能配置 => 素材管理” 中单击 [新增图片] 按钮进行上传。
  • 上传成功后可以获得对应的“图片ID”,然后将“图片ID”转换成字符串类型并设置给 image 字段即可(比如假设“图片ID” 为 63,可以设置 image = "63")
  • 您也可以将 image 设置为图片的 URL 地址,腾讯云的后台服务器会将该 URL 地址指定的图片混合到最终的画面中。
  • URL 链接长度限制为 512 字节。图片大小限制不超过 2MB。
  • 图片格式支持 png、jpg、jpeg、bmp 格式。

◆ bizId

int bizId

【字段含义】腾讯云直播服务的 bizid
【推荐取值】请在 实时音视频控制台 依次单击【应用管理】=>【应用信息】,并在【旁路直播信息】中获取 bizid。

◆ mixUsers

ArrayList<TRTCMixUser> mixUsers

【字段含义】指定云端混流中每一路视频画面的位置、大小、图层以及流类型等信息
【推荐取值】该字段是一个 TRTCMixUser 类型的数组,数组中的每一个元素都用来代表每一路画面的信息。

◆ mode

int mode

【字段含义】排版模式
【推荐取值】请根据您的业务场景要求自行选择,预排版模式是适用性较好的一种模式。

◆ streamId

String streamId

【字段含义】输出到 CDN 上的直播流 ID
【推荐取值】默认值:空值,即房间里的多路音视频流最终会混合到接口调用者的那一路音视频流上。

  • 如不设置该参数,SDK 会执行默认逻辑,即房间里的多路音视频流会混合到该接口调用者的那一路音视频流上,也就是 A + B => A。
  • 如您设置该参数,SDK 会将房间里的多路音视频流混合到您指定的直播流上,也就是 A + B => C(C 代表您指定的 streamId)。

◆ videoBitrate

int videoBitrate

【字段含义】指定云端转码的目标视频码率(kbps)
【推荐取值】如果填0,TRTC 会根据 videoWidth 和 videoHeight 估算出一个合理的码率值,您也可以参考视频分辨率枚举定义中所推荐的码率值(见注释部分)。

◆ videoFramerate

int videoFramerate

【字段含义】指定云端转码的目标视频帧率(FPS)
【推荐取值】默认值:15fps,取值范围是 (0,30]。

◆ videoGOP

int videoGOP

【字段含义】指定云端转码的目标视频关键帧间隔(GOP)
【推荐取值】默认值:2,单位为秒,取值范围是 [1,8]。

◆ videoHeight

int videoHeight

【字段含义】指定云端转码的目标分辨率(高度)
【推荐取值】单位:像素值,推荐值:640,如果你只混合音频流,请将 width 和 height 均设置位 0,否则混流转码后的直播流中会有黑色背景。

◆ videoWidth

int videoWidth

【字段含义】指定云端转码的目标分辨率(宽度)
【推荐取值】单位:像素值,推荐值:360,如果你只混合音频流,请将 width 和 height 均设置位 0,否则混流转码后的直播流中会有黑色背景。

◆ com::tencent::trtc::TRTCCloudDef::TRTCPublishCDNParam

class com::tencent::trtc::TRTCCloudDef::TRTCPublishCDNParam
成员变量
int appId

【字段含义】腾讯云直播服务的 AppID
【推荐取值】请在 实时音视频控制台 依次单击【应用管理】=>【应用信息】,并在【旁路直播信息】中获取 appid。

int bizId

【字段含义】腾讯云直播服务的 bizid
【推荐取值】请在 实时音视频控制台 依次单击【应用管理】=>【应用信息】,并在【旁路直播信息】中获取 bizid。

String streamId

【字段含义】需要转推的 streamId
【推荐取值】默认值:空值。如果不填写,则默认转推调用者的旁路流。

String url

【字段含义】指定该路音视频流在第三方直播服务商的推流地址(RTMP 格式)
【推荐取值】各家服务商的推流地址规则差异较大,请根据目标服务商的要求填写合法的推流 URL,TRTC 的后台服务器会按照您填写的 URL 向第三方服务商推送标准格式音视频流。
【特别说明】推流 URL 必须为 RTMP 格式,必须符合您的目标直播服务商的规范要求,否则目标服务商会拒绝来自 TRTC 后台服务的推流请求。

◆ com::tencent::trtc::TRTCCloudDef::TRTCAudioRecordingParams

class com::tencent::trtc::TRTCCloudDef::TRTCAudioRecordingParams
成员变量
String filePath

【字段含义】录音文件的保存路径(必填)。
【特别说明】该路径需精确到文件名及格式后缀,格式后缀用于决定录音文件的格式,目前支持的格式有 PCM、WAV 和 AAC。 例如:假如您指定路径为 "mypath/record/audio.aac",代表您希望 SDK 生成一个 AAC 格式的音频录制文件。 请您指定一个有读写权限的合法路径,否则录音文件无法生成。

int recordingContent

【字段含义】音频录制内容类型。
【特别说明】默认录制所有本地和远端音频。

◆ com::tencent::trtc::TRTCCloudDef::TRTCLocalRecordingParams

class com::tencent::trtc::TRTCCloudDef::TRTCLocalRecordingParams

Public 成员函数

String toString ()
 

成员变量

String filePath = ""
 
int recordType = TRTC_RECORD_TYPE_BOTH
 
int interval = -1
 

成员函数说明

◆ toString()

String toString ( )
inline

结构体成员变量说明

◆ filePath

String filePath = ""

【字段含义】录制的文件地址(必填),请确保路径有读写权限且合法,否则录制文件无法生成。
【特别说明】该路径需精确到文件名及格式后缀,格式后缀用于决定录制出的文件格式,目前支持的格式暂时只有 MP4。 例如:假如您指定路径为 "mypath/record/test.mp4",代表您希望 SDK 生成一个 MP4 格式的本地视频文件。 请您指定一个有读写权限的合法路径,否则录制文件无法生成。

◆ interval

int interval = -1

【字段含义】interval 录制信息更新频率,单位毫秒,有效范围:1000-10000。默认值为-1,表示不回调。

◆ recordType

int recordType = TRTC_RECORD_TYPE_BOTH

【字段含义】媒体录制类型,默认值:TRTCRecordTypeBoth,即同时录制音频和视频。

◆ com::tencent::trtc::TRTCCloudDef::TRTCAudioEffectParam

class com::tencent::trtc::TRTCCloudDef::TRTCAudioEffectParam

Public 成员函数

 TRTCAudioEffectParam (int effectId, String path)
 

成员变量

int effectId
 
String path
 
int loopCount
 
boolean publish
 
int volume
 

构造及析构函数说明

◆ TRTCAudioEffectParam()

TRTCAudioEffectParam ( int  effectId,
String  path 
)
inline

结构体成员变量说明

◆ effectId

int effectId

【字段含义】音效 ID
【特别说明】SDK 允许播放多路音效,因此需要音效 ID 进行标记,用于控制音效的开始、停止、音量等。

◆ loopCount

int loopCount

【字段含义】循环播放次数
【推荐取值】取值范围为0 - 任意正整数,默认值:0,表示播放音效一次;1表示播放音效两次;以此类推。

◆ path

String path

【字段含义】音效文件路径,支持的文件格式:aac, mp3, m4a。

◆ publish

boolean publish

【字段含义】音效是否上行
【推荐取值】true:音效在本地播放的同时,会上行至云端,因此远端用户也能听到该音效;false:音效不会上行至云端,因此只能在本地听到该音效。默认值:false

◆ volume

int volume

【字段含义】音效音量
【推荐取值】取值范围为0 - 100;默认值:100

◆ com::tencent::trtc::TRTCCloudDef::TRTCSwitchRoomConfig

class com::tencent::trtc::TRTCCloudDef::TRTCSwitchRoomConfig

Public 成员函数

 TRTCSwitchRoomConfig ()
 

成员变量

int roomId
 
String strRoomId
 
String userSig
 
String privateMapKey
 

构造及析构函数说明

◆ TRTCSwitchRoomConfig()

结构体成员变量说明

◆ privateMapKey

String privateMapKey

【字段含义】用于权限控制的权限票据(选填),当您希望某个房间只能让特定的 userId 进入时,需要使用 privateMapKey 进行权限保护。
【推荐取值】仅建议有高级别安全需求的客户使用,更多详情请参见 进房权限保护

◆ roomId

int roomId

【字段含义】数字房间号码 [选填],在同一个房间内的用户可以看到彼此并能够进行音视频通话。
【推荐取值】取值范围:1 - 4294967294。
【特别说明】roomId 和 strRoomId 必须并且只能填一个。若两者都填,则优先选择 roomId。

◆ strRoomId

String strRoomId

【字段含义】字符串房间号码 [选填],在同一个房间内的用户可以看到彼此并能够进行音视频通话。
【特别说明】roomId 和 strRoomId 必须并且只能填一个。若两者都填,则优先选择 roomId。

◆ userSig

String userSig

【字段含义】用户签名 [选填],当前 userId 对应的验证签名,相当于登录密码。 如果您在切换房间时不指定新计算出的 userSig,SDK 会继续使用您在进入房间时(enterRoom)时所指定的 userSig。 这就需要您必须保证旧的 userSig 在切换房间的那一刻仍在签名允许的效期内,否则会导致房间切换失败。
【推荐取值】具体计算方法请参考 如何计算UserSig

◆ com::tencent::trtc::TRTCCloudDef::TRTCAudioFrameCallbackFormat

class com::tencent::trtc::TRTCCloudDef::TRTCAudioFrameCallbackFormat

Public 成员函数

 TRTCAudioFrameCallbackFormat ()
 

成员变量

int sampleRate
 
int channel
 
int samplesPerCall
 

构造及析构函数说明

◆ TRTCAudioFrameCallbackFormat()

结构体成员变量说明

◆ channel

int channel

【字段含义】声道数
【推荐取值】默认值:1,代表单声道。可设定的数值只有两个数字:1-单声道,2-双声道。

◆ sampleRate

int sampleRate

【字段含义】采样率
【推荐取值】默认值:48000Hz。支持 16000, 32000, 44100, 48000。

◆ samplesPerCall

int samplesPerCall

【字段含义】采样点数
【推荐取值】取值必须是 sampleRate/100 的整数倍。

◆ com::tencent::trtc::TRTCCloudDef::TRTCScreenShareParams

class com::tencent::trtc::TRTCCloudDef::TRTCScreenShareParams
成员变量
View floatingView

【字段含义】可以通过此参数设置一个悬浮view。
【推荐取值】从 Android 7.0 系统开始,对于没有做过任何保活措施的后台应用,Android 系统会很快将其杀掉以减少系统能耗。 但当您的 App 处于屏幕分享状态时,不可避免地要被切到系统后台运行,此时如果能弹出悬浮窗可以避免被系统强杀掉。 同时,在手机屏幕上显示悬浮窗,也有利于告知用户当前正在做屏幕分享,以便提醒用户避免泄漏个人隐私。
【特殊说明】您也可以使用 Android 系统的 WindowsManager 接口达到同样的效果。

◆ com::tencent::trtc::TRTCCloudDef::TRTCAudioParallelParams

class com::tencent::trtc::TRTCCloudDef::TRTCAudioParallelParams

Public 成员函数

 TRTCAudioParallelParams ()
 

成员变量

int maxCount
 
ArrayList< String > includeUsers
 

构造及析构函数说明

◆ TRTCAudioParallelParams()

结构体成员变量说明

◆ includeUsers

ArrayList<String> includeUsers

【字段含义】指定用户必定能并发播放。
【特殊说明】指定必定并发播放的用户 ID 列表。这些用户不参与智能选择。 includeUsers 的数量必须小于 maxCount,否则本次并发播放设置失效。 includeUsers 仅在 maxCount > 0 时有效。当 includeUsers 生效时,参与智能并发选择的最大播放数 = maxCount - 有效 includeUsers 的数量。

◆ maxCount

int maxCount

【字段含义】最大并发播放数。默认值:0 如果 maxCount > 0,且实际人数 > maxCount,会实时智能选出 maxCount 路数据进行播放,这会极大的降低性能消耗。 如果 maxCount = 0,SDK 不限制并发播放数,在上麦人数比较多的房间可能会引发性能问题。

◆ com::tencent::trtc::TRTCCloudDef

class com::tencent::trtc::TRTCCloudDef

静态 Public 属性

static final String TRTC_SDK_VERSION = "0.0.0.0"
 

TRTCVideoResolution

[VIEW] 用于渲染视频画面的渲染控件

TRTC 中有很多需要操控视频画面的接口,这些接口都需要您指定视频渲染控件。 在 Android 平台中,您可以使用我们提供的 TXCloudVideoView 作为视频渲染控件,它支持 SurfaceView 和 TextureView 两种渲染方案。

  • 当用于渲染本地的视频画面时:TXCloudVideoView 会优先使用 SurfaceView,该方案性能较好,但是不支持对 View 做动画或者变形特效。
  • 当用于渲染远端的视频画面时:TXCloudVideoView 会优先使用 TextureView,该方案灵活度高,能够更好地支持动画或者变形特效。

如果您希望强制使用某一种方案,可以按照如下方法进行编码: 用法一:强制使用 TextureView:

TXCloudVideoView localView = findViewById(R.id.trtc_tc_cloud_view_main);
localView.addVideoView(new TextureView(context));
mTRTCCloud.startLocalPreview(true, localView);

用法二:强制使用 SurfaceView:

SurfaceView surfaceView = new SurfaceView(this);
TXCloudVideoView localView = new TXCloudVideoView(surfaceView);
mTRTCCloud.startLocalPreview(true, localView);

视频分辨率

此处仅定义横屏分辨率(如 640 × 360),如需使用竖屏分辨率(如360 × 640),需要同时指定 TRTCVideoResolutionMode 为 Portrait。

static final int TRTC_VIDEO_RESOLUTION_120_120 = 1
 
static final int TRTC_VIDEO_RESOLUTION_160_160 = 3
 
static final int TRTC_VIDEO_RESOLUTION_270_270 = 5
 
static final int TRTC_VIDEO_RESOLUTION_480_480 = 7
 
static final int TRTC_VIDEO_RESOLUTION_160_120 = 50
 
static final int TRTC_VIDEO_RESOLUTION_240_180 = 52
 
static final int TRTC_VIDEO_RESOLUTION_280_210 = 54
 
static final int TRTC_VIDEO_RESOLUTION_320_240 = 56
 
static final int TRTC_VIDEO_RESOLUTION_400_300 = 58
 
static final int TRTC_VIDEO_RESOLUTION_480_360 = 60
 
static final int TRTC_VIDEO_RESOLUTION_640_480 = 62
 
static final int TRTC_VIDEO_RESOLUTION_960_720 = 64
 
static final int TRTC_VIDEO_RESOLUTION_160_90 = 100
 
static final int TRTC_VIDEO_RESOLUTION_256_144 = 102
 
static final int TRTC_VIDEO_RESOLUTION_320_180 = 104
 
static final int TRTC_VIDEO_RESOLUTION_480_270 = 106
 
static final int TRTC_VIDEO_RESOLUTION_640_360 = 108
 
static final int TRTC_VIDEO_RESOLUTION_960_540 = 110
 
static final int TRTC_VIDEO_RESOLUTION_1280_720 = 112
 
static final int TRTC_VIDEO_RESOLUTION_1920_1080 = 114
 

TRTCVideoResolutionMode

视频宽高比模式

TRTCVideoResolution 中仅定义了横屏分辨率(如 640 × 360),如需使用竖屏分辨率(如360 × 640),需要同时指定 TRTCVideoResolutionMode 为 Portrait。

static final int TRTC_VIDEO_RESOLUTION_MODE_LANDSCAPE = 0
 
static final int TRTC_VIDEO_RESOLUTION_MODE_PORTRAIT = 1
 

TRTCVideoStreamType

视频流类型

TRTC 内部有三种不同的视频流,分别是:

  • 高清大画面:一般用来传输摄像头的视频数据。
  • 低清小画面:小画面和大画面的内容相互,但是分辨率和码率都比大画面低,因此清晰度也更低。
  • 辅流画面:一般用于屏幕分享,同一时间在同一个房间中只允许一个用户发布辅流视频,其他用户必须要等该用户关闭之后才能发布自己的辅流。
    注意
    不支持单独开启低清小画面,小画面必须依附于大画面而存在,SDK 会自动设定低清小画面的分辨率和码率。
static final int TRTC_VIDEO_STREAM_TYPE_BIG = 0
 
static final int TRTC_VIDEO_STREAM_TYPE_SMALL = 1
 
static final int TRTC_VIDEO_STREAM_TYPE_SUB = 2
 
static final int TRTC_VIDEO_RENDER_MODE_FILL = 0
 
static final int TRTC_VIDEO_RENDER_MODE_FIT = 1
 

TRTCVideoRotation

视频画面旋转方向

TRTC 提供了对本地和远程画面的旋转角度设置 API,下列的旋转角度都是指顺时针方向的。

static final int TRTC_VIDEO_ROTATION_0 = 0
 
static final int TRTC_VIDEO_ROTATION_90 = 1
 
static final int TRTC_VIDEO_ROTATION_180 = 2
 
static final int TRTC_VIDEO_ROTATION_270 = 3
 

TRTCBeautyStyle

美颜(磨皮)算法

TRTC 内置多种不同的磨皮算法,您可以选择最适合您产品定位的方案。

static final int TRTC_BEAUTY_STYLE_SMOOTH = 0
 
static final int TRTC_BEAUTY_STYLE_NATURE = 1
 
static final int TRTC_BEAUTY_STYLE_PITU = 2
 

TRTCVideoPixelFormat

视频像素格式

TRTC 提供针对视频的自定义采集和自定义渲染功能:

  • 在自定义采集功能中,您可以用下列枚举值描述您采集的视频像素格式。
  • 在自定义渲染功能中,您可以指定您期望 SDK 回调出的视频像素格式。
static final int TRTC_VIDEO_PIXEL_FORMAT_UNKNOWN = 0
 
static final int TRTC_VIDEO_PIXEL_FORMAT_I420 = 1
 
static final int TRTC_VIDEO_PIXEL_FORMAT_Texture_2D = 2
 
static final int TRTC_VIDEO_PIXEL_FORMAT_TEXTURE_EXTERNAL_OES = 3
 
static final int TRTC_VIDEO_PIXEL_FORMAT_NV21 = 4
 
static final int TRTC_VIDEO_PIXEL_FORMAT_RGBA = 5
 

TRTCVideoBufferType

视频数据传递方式

在自定义采集和自定义渲染功能,您需要用到下列枚举值来指定您希望以什么方式传递视频数据:

  • 方案一:使用内存 Buffer 传递视频数据,该方案在 iOS 效率尚可,但在 Android 系统上效率较差,Windows 暂时仅支持内存 Buffer 的传递方式。
  • 方案二:使用 Texture 纹理传递视频数据,该方案在 iOS 和 Android 系统下均有较高的效率,Windows 暂不支持,需要您有一定的 OpenGL 编程基础。
static final int TRTC_VIDEO_BUFFER_TYPE_UNKNOWN = 0
 
static final int TRTC_VIDEO_BUFFER_TYPE_BYTE_BUFFER = 1
 
static final int TRTC_VIDEO_BUFFER_TYPE_BYTE_ARRAY = 2
 
static final int TRTC_VIDEO_BUFFER_TYPE_TEXTURE = 3
 

TRTCVideoMirrorType

视频的镜像类型

视频的镜像是指对视频内容进行左右翻转,尤其是对本地的摄像头预览视频,开启镜像后能给主播带来熟悉的“照镜子”体验。

static final int TRTC_VIDEO_MIRROR_TYPE_AUTO = 0
 
static final int TRTC_VIDEO_MIRROR_TYPE_ENABLE = 1
 
static final int TRTC_VIDEO_MIRROR_TYPE_DISABLE = 2
 

TRTCAppScene

应用场景

TRTC 针对常见的音视频应用场景都进行了定向优化,以满足各种垂直场景下的差异化要求,主要场景可以分为如下两类:

  • 直播(LIVE)场景:包括 LIVE 和 VoiceChatRoom,前者是音频+视频,后者是纯音频。 直播场景下,用户被分成“主播”和“观众”两种角色,单个房间中同时最多支持10万人在线,适合于观众人数众多的直播场景。
  • 实时(RTC)场景:包括 VideoCall 和 AudioCall,前者是音频+视频,后者是纯音频。 实时场景下,用户没有角色的差异,但单个房间中同时最多支持 300 人在线,适合于小范围实时通信的场景。
static final int TRTC_APP_SCENE_VIDEOCALL = 0
 
static final int TRTC_APP_SCENE_LIVE = 1
 
static final int TRTC_APP_SCENE_AUDIOCALL = 2
 
static final int TRTC_APP_SCENE_VOICE_CHATROOM = 3
 

TRTCRoleType

角色

仅适用于直播类场景(即 TRTCAppSceneLIVE 和 TRTCAppSceneVoiceChatRoom),把用户区分成两种不同的身份:

  • 主播:可以随时发布自己的音视频流,但人数有限制,同一个房间中最多只允许 50 个主播同时发布自己的音视频流。
  • 观众:只能观看其他用户的音视频流,要发布音视频流,需要先通过 switchRole 切换成主播,同一个房间中最多能容纳10万观众。
static final int TRTCRoleAnchor = 20
 
static final int TRTCRoleAudience = 21
 

TRTCQosControlMode

流控模式(已废弃)

static final int VIDEO_QOS_CONTROL_CLIENT = 0
 
static final int VIDEO_QOS_CONTROL_SERVER = 1
 

TRTCVideoQosPreference

画质偏好

TRTC 在弱网络环境下有两种调控模式:“优先保证画面清晰”或“优先保证画面流畅”,两种模式均会优先保障声音数据的传输。

static final int TRTC_VIDEO_QOS_PREFERENCE_SMOOTH = 1
 
static final int TRTC_VIDEO_QOS_PREFERENCE_CLEAR = 2
 

TRTCQuality

网络质量

TRTC 会每隔两秒对当前的网络质量进行评估,评估结果为六个等级:Excellent 表示最好,Down 表示最差。

static final int TRTC_QUALITY_UNKNOWN = 0
 
static final int TRTC_QUALITY_Excellent = 1
 
static final int TRTC_QUALITY_Good = 2
 
static final int TRTC_QUALITY_Poor = 3
 
static final int TRTC_QUALITY_Bad = 4
 
static final int TRTC_QUALITY_Vbad = 5
 
static final int TRTC_QUALITY_Down = 6
 

TRTCAVStatusType

视频状态类型

该枚举类型用于视频状态变化回调接口onRemoteVideoStatusUpdated,用于指定当前的视频状态。

static final int TRTCAVStatusStopped = 0
 
static final int TRTCAVStatusPlaying = 1
 
static final int TRTCAVStatusLoading = 2
 

TRTCAVStatusChangeReason

视频状态变化原因类型

该枚举类型用于视频状态变化回调接口onRemoteVideoStatusUpdated,用于指定当前的视频状态原因。

static final int TRTCAVStatusChangeReasonInternal = 0
 
static final int TRTCAVStatusChangeReasonBufferingBegin = 1
 
static final int TRTCAVStatusChangeReasonBufferingEnd = 2
 
static final int TRTCAVStatusChangeReasonLocalStarted = 3
 
static final int TRTCAVStatusChangeReasonLocalStopped = 4
 
static final int TRTCAVStatusChangeReasonRemoteStarted = 5
 
static final int TRTCAVStatusChangeReasonRemoteStopped = 6
 

TRTCAudioSampleRate

音频采样率

音频采样率用来衡量声音的保真程度,采样率越高保真程度越好,如果您的应用场景有音乐的存在,推荐使用 TRTCAudioSampleRate48000。

static final int TRTCAudioSampleRate16000 = 16000
 
static final int TRTCAudioSampleRate32000 = 32000
 
static final int TRTCAudioSampleRate44100 = 44100
 
static final int TRTCAudioSampleRate48000 = 48000
 

TRTCAudioQuality

声音音质

TRTC 提供了三种精心校调好的模式,用来满足各种垂直场景下对音质的差异化追求:

  • 人声模式(Speech):适用于以人声沟通为主的应用场景,该模式下音频传输的抗性较强,TRTC 会通过各种人声处理技术保障在弱网络环境下的流畅度最佳。
  • 音乐模式(Music):适用于对声乐要求很苛刻的场景,该模式下音频传输的数据量很大,TRTC 会通过各项技术确保音乐信号在各频段均能获得高保真的细节还原度。
  • 默认模式(Default):介于 Speech 和 Music 之间的档位,对音乐的还原度比人声模式要好,但传输数据量比音乐模式要低很多,对各种场景均有不错的适应性。
static final int TRTC_AUDIO_QUALITY_SPEECH = 1
 
static final int TRTC_AUDIO_QUALITY_DEFAULT = 2
 
static final int TRTC_AUDIO_QUALITY_MUSIC = 3
 

TRTCAudioRoute

音频路由(即声音的播放模式)

音频路由,即声音是从手机的扬声器还是从听筒中播放出来,因此该接口仅适用于手机等移动端设备。 手机有两个扬声器:一个是位于手机顶部的听筒,一个是位于手机底部的立体声扬声器。

  • 设置音频路由为听筒时,声音比较小,只有将耳朵凑近才能听清楚,隐私性较好,适合用于接听电话。
  • 设置音频路由为扬声器时,声音比较大,不用将手机贴脸也能听清,因此可以实现“免提”的功能。
static final int TRTC_AUDIO_ROUTE_SPEAKER = 0
 
static final int TRTC_AUDIO_ROUTE_EARPIECE = 1
 

TRTCReverbType

声音混响模式

该枚举值应用于设定直播场景中的混响模式,常用于秀场直播中。

static final int TRTC_REVERB_TYPE_0 = 0
 
static final int TRTC_REVERB_TYPE_1 = 1
 
static final int TRTC_REVERB_TYPE_2 = 2
 
static final int TRTC_REVERB_TYPE_3 = 3
 
static final int TRTC_REVERB_TYPE_4 = 4
 
static final int TRTC_REVERB_TYPE_5 = 5
 
static final int TRTC_REVERB_TYPE_6 = 6
 
static final int TRTC_REVERB_TYPE_7 = 7
 

TRTCVoiceChangerType

变声类型

该枚举值应用于设定直播场景中的变声模式,常用于秀场直播中。

static final int TRTC_VOICE_CHANGER_TYPE_0 = 0
 
static final int TRTC_VOICE_CHANGER_TYPE_1 = 1
 
static final int TRTC_VOICE_CHANGER_TYPE_2 = 2
 
static final int TRTC_VOICE_CHANGER_TYPE_3 = 3
 
static final int TRTC_VOICE_CHANGER_TYPE_4 = 4
 
static final int TRTC_VOICE_CHANGER_TYPE_5 = 5
 
static final int TRTC_VOICE_CHANGER_TYPE_6 = 6
 
static final int TRTC_VOICE_CHANGER_TYPE_7 = 7
 
static final int TRTC_VOICE_CHANGER_TYPE_8 = 8
 
static final int TRTC_VOICE_CHANGER_TYPE_9 = 9
 
static final int TRTC_VOICE_CHANGER_TYPE_10 = 10
 
static final int TRTC_VOICE_CHANGER_TYPE_11 = 11
 

TRTCSystemVolumeType

系统音量类型(仅适用于移动设备)

现代智能手机中一般都具备两套系统音量类型,即“通话音量”和“媒体音量”。

  • 通话音量:手机专门为接打电话所设计的音量类型,自带回声抵消(AEC)功能,并且支持通过蓝牙耳机上的麦克风进行拾音,缺点是音质比较一般。 当您通过手机侧面的音量按键下调手机音量时,如果无法将其调至零(也就是无法彻底静音),说明您的手机当前处于通话音量。
  • 媒体音量:手机专门为音乐场景所设计的音量类型,无法使用系统的 AEC 功能,并且不支持通过蓝牙耳机的麦克风进行拾音,但具备更好的音乐播放效果。 当您通过手机侧面的音量按键下调手机音量时,如果能够将手机音量调至彻底静音,说明您的手机当前处于媒体音量。 SDK 目前提供了三种系统音量类型的控制模式:自动切换模式、全程通话音量模式、全程媒体音量模式。
static final int TRTCSystemVolumeTypeAuto = 0
 
static final int TRTCSystemVolumeTypeMedia = 1
 
static final int TRTCSystemVolumeTypeVOIP = 2
 

TRTCAudioFrameFormat

音频帧的内容格式

static final int TRTC_AUDIO_FRAME_FORMAT_PCM = 1
 

TRTCAudioCapabilityType

系统支持的音频能力类型(仅适用于Android设备)

SDK 目前提供了两种系统音频能力类型是否支持的查询:低延时合唱能力、低延时耳返能力。

static final int TRTCAudioCapabilityLowLatencyChorus = 1
 
static final int TRTCAudioCapabilityLowLatencyEarMonitor = 2
 

TRTCLogLevel

Log 级别

不同的日志等级定义了不同的详实程度和日志数量,推荐一般情况下将日志等级设置为:TRTCLogLevelInfo。

static final int TRTC_LOG_LEVEL_VERBOSE = 0
 
static final int TRTC_LOG_LEVEL_DEBUG = 1
 
static final int TRTC_LOG_LEVEL_INFO = 2
 
static final int TRTC_LOG_LEVEL_WARN = 3
 
static final int TRTC_LOG_LEVEL_ERROR = 4
 
static final int TRTC_LOG_LEVEL_FATAL = 5
 
static final int TRTC_LOG_LEVEL_NULL = 6
 

TRTCGSensorMode

重力感应开关(仅适用于移动端)

static final int TRTC_GSENSOR_MODE_DISABLE = 0
 
static final int TRTC_GSENSOR_MODE_UIAUTOLAYOUT = 1
 
static final int TRTC_GSENSOR_MODE_UIFIXLAYOUT = 2
 

TRTCTranscodingConfigMode

云端混流的排版模式

TRTC 的云端混流服务能够将房间中的多路音视频流混合成一路,因此您需要指定画面的排版方案,我们提供了如下几种排版模式:

static final int TRTC_TranscodingConfigMode_Unknown = 0
 
static final int TRTC_TranscodingConfigMode_Manual = 1
 
static final int TRTC_TranscodingConfigMode_Template_PureAudio = 2
 
static final int TRTC_TranscodingConfigMode_Template_PresetLayout = 3
 
static final int TRTC_TranscodingConfigMode_Template_ScreenSharing = 4
 

TRTCRecordType

媒体录制类型

该枚举类型用于本地媒体录制接口startLocalRecording,用于指定是录制音视频文件还是纯音频文件。

static final int TRTC_RECORD_TYPE_AUDIO = 0
 
static final int TRTC_RECORD_TYPE_VIDEO = 1
 
static final int TRTC_RECORD_TYPE_BOTH = 2
 

TRTCMixInputType

混流输入类型

static final int TRTC_MixInputType_Undefined = 0
 
static final int TRTC_MixInputType_AudioVideo = 1
 
static final int TRTC_MixInputType_PureVideo = 2
 
static final int TRTC_MixInputType_PureAudio = 3
 
static final int TRTC_MixInputType_Watermark = 4
 

TRTCDebugViewLevel

用于渲染控件上展示的调试信息 不在渲染控件上展示调试信息

static final int TRTC_DEBUG_VIEW_LEVEL_GONE = 0
 
static final int TRTC_DEBUG_VIEW_LEVEL_STATUS = 1
 
static final int TRTC_DEBUG_VIEW_LEVEL_ALL = 2
 

TRTCAudioRecordingContent

音频录制内容类型

该枚举类型用于音频录制接口startAudioRecording,用于指定录制音频的内容。

static final int TRTC_AudioRecordingContent_All = 0
 
static final int TRTC_AudioRecordingContent_Local = 1
 
static final int TRTC_AudioRecordingContent_Remote = 2
 

结构体成员变量说明

◆ TRTC_APP_SCENE_AUDIOCALL

final int TRTC_APP_SCENE_AUDIOCALL = 2
static

语音通话场景,默认采用 SPEECH 音质,单个房间最多支持300人同时在线,最高支持50人同时发言。 适用于[1对1语音通话]、[300人语音会议]、[语音聊天]、[语音会议]、[在线狼人杀]等业务场景。

◆ TRTC_APP_SCENE_LIVE

final int TRTC_APP_SCENE_LIVE = 1
static

视频互动直播,支持平滑上下麦,切换过程无需等待,主播延时小于300ms;支持十万级别观众同时播放,播放延时低至1000ms。 适用于[低延时互动直播]、[大班课]、[主播PK]、[视频相亲]、[在线互动课堂]、[远程培训]、[超大型会议]等业务场景。

注解
此场景下,您必须通过 TRTCParams 中的 role 字段指定当前用户的角色。

◆ TRTC_APP_SCENE_VIDEOCALL

final int TRTC_APP_SCENE_VIDEOCALL = 0
static

视频通话场景,支持720P、1080P高清画质,单个房间最多支持300人同时在线,最高支持50人同时发言。 适用于[1对1视频通话]、[300人视频会议]、[在线问诊]、[教育小班课]、[远程面试]等业务场景。

◆ TRTC_APP_SCENE_VOICE_CHATROOM

final int TRTC_APP_SCENE_VOICE_CHATROOM = 3
static

语音互动直播,支持平滑上下麦,切换过程无需等待,主播延时小于300ms;支持十万级别观众同时播放,播放延时低至1000ms。 适用于[语音俱乐部]、[在线K歌房]、[音乐直播间]、[FM电台]等业务场景。

注解
此场景下,您必须通过 TRTCParams 中的 role 字段指定当前用户的角色。

◆ TRTC_AUDIO_FRAME_FORMAT_PCM

final int TRTC_AUDIO_FRAME_FORMAT_PCM = 1
static

PCM 格式的音频数据

◆ TRTC_AUDIO_QUALITY_DEFAULT

final int TRTC_AUDIO_QUALITY_DEFAULT = 2
static

默认模式:采样率:48k;单声道;编码码率:50kbps;介于 Speech 和 Music 之间的档位,SDK 默认档位,推荐选择。

◆ TRTC_AUDIO_QUALITY_MUSIC

final int TRTC_AUDIO_QUALITY_MUSIC = 3
static

音乐模式:采样率:48k;全频带立体声;编码码率:128kbps;适合需要高保真传输音乐的场景,比如在线K歌、音乐直播等。

◆ TRTC_AUDIO_QUALITY_SPEECH

final int TRTC_AUDIO_QUALITY_SPEECH = 1
static

人声模式:采样率:16k;单声道;编码码率:16kbps;具备几个模式中最强的网络抗性,适合语音通话为主的场景,比如在线会议,语音通话等。

◆ TRTC_AUDIO_ROUTE_EARPIECE

final int TRTC_AUDIO_ROUTE_EARPIECE = 1
static

Earpiece:使用听筒播放,听筒位于手机顶部,声音偏小,适合需要保护隐私的通话场景。

◆ TRTC_AUDIO_ROUTE_SPEAKER

final int TRTC_AUDIO_ROUTE_SPEAKER = 0
static

Speakerphone:使用扬声器播放(即“免提”),扬声器位于手机底部,声音偏大,适合外放音乐。

◆ TRTC_AudioRecordingContent_All

final int TRTC_AudioRecordingContent_All = 0
static

录制本地和远端所有音频

◆ TRTC_AudioRecordingContent_Local

final int TRTC_AudioRecordingContent_Local = 1
static

仅录制本地音频

◆ TRTC_AudioRecordingContent_Remote

final int TRTC_AudioRecordingContent_Remote = 2
static

仅录制远端音频

◆ TRTC_BEAUTY_STYLE_NATURE

final int TRTC_BEAUTY_STYLE_NATURE = 1
static

自然,算法更多地保留了面部细节,磨皮效果更加自然,适用于绝大多数直播场景。

◆ TRTC_BEAUTY_STYLE_PITU

final int TRTC_BEAUTY_STYLE_PITU = 2
static

优图,由优图实验室提供,磨皮效果介于光滑和自然之间,比光滑保留更多皮肤细节,比自然磨皮程度更高。

◆ TRTC_BEAUTY_STYLE_SMOOTH

final int TRTC_BEAUTY_STYLE_SMOOTH = 0
static

光滑,算法比较激进,磨皮效果比较明显,适用于秀场直播。

◆ TRTC_DEBUG_VIEW_LEVEL_ALL

final int TRTC_DEBUG_VIEW_LEVEL_ALL = 2
static

在渲染控件上展示音视频统计信息和关键历史事件

◆ TRTC_DEBUG_VIEW_LEVEL_GONE

final int TRTC_DEBUG_VIEW_LEVEL_GONE = 0
static

◆ TRTC_DEBUG_VIEW_LEVEL_STATUS

final int TRTC_DEBUG_VIEW_LEVEL_STATUS = 1
static

在渲染控件上展示音视频统计信息

◆ TRTC_GSENSOR_MODE_DISABLE

final int TRTC_GSENSOR_MODE_DISABLE = 0
static

不适配重力感应 该模式是桌面平台上的默认值,该模式下,当前用户发布出去的视频画面不受重力感应方向变化的影响。

◆ TRTC_GSENSOR_MODE_UIAUTOLAYOUT

final int TRTC_GSENSOR_MODE_UIAUTOLAYOUT = 1
static

适配重力感应 该模式是移动平台上的默认值,该模式下,当前用户发布出去的视频画面会跟随设备的重力感应方向进行相应的调整,同时本地预览画面保持方向不变。 SDK 目前支持的一种适配模式是:当手机或 Pad 上下颠倒时,为了保证远端用户看到的画面方向正常,SDK 会自动将发布出去的画面上下旋转180度。 如果您的 APP 的界面层开启了重力感应自适应,推荐使用 UIFixLayout 模式。

◆ TRTC_GSENSOR_MODE_UIFIXLAYOUT

final int TRTC_GSENSOR_MODE_UIFIXLAYOUT = 2
static

适配重力感应 该模式下,当前用户发布出去的视频画面会跟随设备的重力感应方向进行相应的调整,同时本地预览画面也会进行相应的旋转适配。 目前支持的一种特性是:当手机或 Pad 上下颠倒时,为了保证远端用户看到的画面方向正常,SDK 会自动将发布出去的画面上下旋转180度。 如果您的 APP 的界面层不支持重力感应自适应,并且希望 SDK 的视频画面能够适配重力感应方向,推荐使用 UIFixLayout 模式。

◆ TRTC_LOG_LEVEL_DEBUG

final int TRTC_LOG_LEVEL_DEBUG = 1
static

输出 DEBUG,INFO,WARNING,ERROR 和 FATAL 级别的 Log

◆ TRTC_LOG_LEVEL_ERROR

final int TRTC_LOG_LEVEL_ERROR = 4
static

输出ERROR 和 FATAL 级别的 Log

◆ TRTC_LOG_LEVEL_FATAL

final int TRTC_LOG_LEVEL_FATAL = 5
static

仅输出 FATAL 级别的 Log

◆ TRTC_LOG_LEVEL_INFO

final int TRTC_LOG_LEVEL_INFO = 2
static

输出 INFO,WARNING,ERROR 和 FATAL 级别的 Log

◆ TRTC_LOG_LEVEL_NULL

final int TRTC_LOG_LEVEL_NULL = 6
static

不输出任何 SDK Log

◆ TRTC_LOG_LEVEL_VERBOSE

final int TRTC_LOG_LEVEL_VERBOSE = 0
static

输出所有级别的 Log

◆ TRTC_LOG_LEVEL_WARN

final int TRTC_LOG_LEVEL_WARN = 3
static

输出WARNING,ERROR 和 FATAL 级别的 Log

◆ TRTC_MixInputType_AudioVideo

final int TRTC_MixInputType_AudioVideo = 1
static

混入音频和视频

◆ TRTC_MixInputType_PureAudio

final int TRTC_MixInputType_PureAudio = 3
static

只混入音频

◆ TRTC_MixInputType_PureVideo

final int TRTC_MixInputType_PureVideo = 2
static

只混入视频

◆ TRTC_MixInputType_Undefined

final int TRTC_MixInputType_Undefined = 0
static

默认值 考虑到针对老版本的兼容性,如果您指定了 inputType 为 Undefined,SDK 会根据另一个参数 pureAudio 的数值决定混流输入类型

◆ TRTC_MixInputType_Watermark

final int TRTC_MixInputType_Watermark = 4
static

混入水印 此时您无需指定 userId 字段,但需要指定 image 字段,推荐使用 png 格式的图片。

◆ TRTC_QUALITY_Bad

final int TRTC_QUALITY_Bad = 4
static

当前网络较差

◆ TRTC_QUALITY_Down

final int TRTC_QUALITY_Down = 6
static

当前网络不满足 TRTC 的最低要求

◆ TRTC_QUALITY_Excellent

final int TRTC_QUALITY_Excellent = 1
static

当前网络非常好

◆ TRTC_QUALITY_Good

final int TRTC_QUALITY_Good = 2
static

当前网络比较好

◆ TRTC_QUALITY_Poor

final int TRTC_QUALITY_Poor = 3
static

当前网络一般

◆ TRTC_QUALITY_UNKNOWN

final int TRTC_QUALITY_UNKNOWN = 0
static

未定义

◆ TRTC_QUALITY_Vbad

final int TRTC_QUALITY_Vbad = 5
static

当前网络很差

◆ TRTC_RECORD_TYPE_AUDIO

final int TRTC_RECORD_TYPE_AUDIO = 0
static

仅录制音频

◆ TRTC_RECORD_TYPE_BOTH

final int TRTC_RECORD_TYPE_BOTH = 2
static

同时录制音频和视频

◆ TRTC_RECORD_TYPE_VIDEO

final int TRTC_RECORD_TYPE_VIDEO = 1
static

仅录制视频

◆ TRTC_REVERB_TYPE_0

final int TRTC_REVERB_TYPE_0 = 0
static

关闭混响

◆ TRTC_REVERB_TYPE_1

final int TRTC_REVERB_TYPE_1 = 1
static

KTV

◆ TRTC_REVERB_TYPE_2

final int TRTC_REVERB_TYPE_2 = 2
static

小房间

◆ TRTC_REVERB_TYPE_3

final int TRTC_REVERB_TYPE_3 = 3
static

大会堂

◆ TRTC_REVERB_TYPE_4

final int TRTC_REVERB_TYPE_4 = 4
static

低沉

◆ TRTC_REVERB_TYPE_5

final int TRTC_REVERB_TYPE_5 = 5
static

洪亮

◆ TRTC_REVERB_TYPE_6

final int TRTC_REVERB_TYPE_6 = 6
static

金属声

◆ TRTC_REVERB_TYPE_7

final int TRTC_REVERB_TYPE_7 = 7
static

磁性

◆ TRTC_SDK_VERSION

final String TRTC_SDK_VERSION = "0.0.0.0"
static

◆ TRTC_TranscodingConfigMode_Manual

final int TRTC_TranscodingConfigMode_Manual = 1
static

全手动排版模式 该模式下,您需要指定每一路画面的精确排版位置。该模式的自由度最高,但易用性也最差:

  • 您需要填写 TRTCTranscodingConfig 中的所有参数,包括每一路画面(TRTCMixUser)的位置坐标。
  • 您需要监听 TRTCCloudDelegate 中的 onUserVideoAvailable() 和 onUserAudioAvailable() 事件回调,并根据当前房间中各个麦上用户的音视频状态不断地调整 mixUsers 参数。

◆ TRTC_TranscodingConfigMode_Template_PresetLayout

final int TRTC_TranscodingConfigMode_Template_PresetLayout = 3
static

预排版模式 最受欢迎的排版模式,因为该模式支持您通过占位符提前对各路画面的位置进行设定,之后 SDK 会自动根据房间中画面的路数动态进行适配调整。 此模式下,您依然需要设置 mixUsers 参数,但可以将 userId 设置为“占位符”,可选的占位符有:

  • "$PLACE_HOLDER_REMOTE$" : 指代远程用户的画面,可以设置多个。
  • "$PLACE_HOLDER_LOCAL_MAIN$" : 指代本地摄像头画面,只允许设置一个。
  • "$PLACE_HOLDER_LOCAL_SUB$" : 指代本地屏幕分享画面,只允许设置一个。 此模式下,您不需要监听 TRTCCloudDelegate 中的 onUserVideoAvailable() 和 onUserAudioAvailable() 回调进行实时调整, 只需要在进房成功后调用一次 setMixTranscodingConfig() 即可,之后 SDK 会自动将真实的 userId 补位到您设置的占位符上。

◆ TRTC_TranscodingConfigMode_Template_PureAudio

final int TRTC_TranscodingConfigMode_Template_PureAudio = 2
static

纯音频模式 该模式适用于语音通话(AudioCall)和语音聊天室(VoiceChatRoom)等纯音频的应用场景。

  • 您只需要在进入房间后,通过 setMixTranscodingConfig() 接口设置一次,之后 SDK 就会自动把房间内所有上麦用户的声音混流到当前用户的直播流上。
  • 您无需设置 TRTCTranscodingConfig 中的 mixUsers 参数,只需设置 audioSampleRate、audioBitrate 和 audioChannels 等参数即可。

◆ TRTC_TranscodingConfigMode_Template_ScreenSharing

final int TRTC_TranscodingConfigMode_Template_ScreenSharing = 4
static

屏幕分享模式 适用于在线教育场景等以屏幕分享为主的应用场景,仅支持 Windows 和 Mac 两个平台的 SDK。 该模式下,SDK 会先根据您通过 videoWidth 和 videoHeight 参数设置的目标分辨率构建一张画布,

  • 当老师未开启屏幕分享时,SDK 会将老师的摄像头画面等比例拉伸绘制到该画布上;
  • 当老师开启屏幕分享之后,SDK 会将屏幕分享画面绘制到同样的画布上。 此种排版模式的目的是为了确保混流模块的输出分辨率一致,避免课程回放和网页观看的花屏问题(网页播放器不支持可变分辨率)。 同时,连麦学生的声音也会被默认混合到老师的音视频流中。 br> 由于教学模式下的视频内容以屏幕分享为主,因此同时传输摄像头画面和屏幕分享画面是非常浪费带宽的。 推荐的做法是直接将摄像头画面通过 setLocalVideoRenderCallback 接口自定义绘制到当前屏幕上。 在该模式下,您无需设置 TRTCTranscodingConfig 中的 mixUsers 参数,SDK 不会混合学生的画面,以免干扰屏幕分享的效果。 br> 您可以将 TRTCTranscodingConfig 中的 width × height 设为 0px × 0px,SDK 会自动根据用户当前屏幕的宽高比计算出一个合适的分辨率:
  • 如果老师当前屏幕宽度 <= 1920px,SDK 会使用老师当前屏幕的实际分辨率。
  • 如果老师当前屏幕宽度 > 1920px,SDK 会根据当前屏幕宽高比,选择 1920x1080(16:9)、1920x1200(16:10)、1920x1440(4:3) 三种分辨率中的一种。

◆ TRTC_TranscodingConfigMode_Unknown

final int TRTC_TranscodingConfigMode_Unknown = 0
static

未定义

◆ TRTC_VIDEO_BUFFER_TYPE_BYTE_ARRAY

final int TRTC_VIDEO_BUFFER_TYPE_BYTE_ARRAY = 2
static

使用内存 Buffer 传递视频数据,iOS: 经过一次额外整理后更加紧凑的 NSData 类型的内存块;Android: 用于 JAVA 层的 byte[]。 该传递的方式的性能是几种方案中效率较差的一种。

◆ TRTC_VIDEO_BUFFER_TYPE_BYTE_BUFFER

final int TRTC_VIDEO_BUFFER_TYPE_BYTE_BUFFER = 1
static

使用内存 Buffer 传递视频数据,iOS: PixelBuffer;Android: 用于 JNI 层的 Direct Buffer;Win: 内存数据块。

◆ TRTC_VIDEO_BUFFER_TYPE_TEXTURE

final int TRTC_VIDEO_BUFFER_TYPE_TEXTURE = 3
static

使用 Texture 纹理传递视频数据

◆ TRTC_VIDEO_BUFFER_TYPE_UNKNOWN

final int TRTC_VIDEO_BUFFER_TYPE_UNKNOWN = 0
static

未定义的传递方式

◆ TRTC_VIDEO_MIRROR_TYPE_AUTO

final int TRTC_VIDEO_MIRROR_TYPE_AUTO = 0
static

自动模式:如果正使用前置摄像头则开启镜像,如果是后置摄像头则不开启镜像(仅适用于移动设备)。

◆ TRTC_VIDEO_MIRROR_TYPE_DISABLE

final int TRTC_VIDEO_MIRROR_TYPE_DISABLE = 2
static

强制关闭镜像,不论当前使用的是前置摄像头还是后置摄像头。

◆ TRTC_VIDEO_MIRROR_TYPE_ENABLE

final int TRTC_VIDEO_MIRROR_TYPE_ENABLE = 1
static

强制开启镜像,不论当前使用的是前置摄像头还是后置摄像头。

◆ TRTC_VIDEO_PIXEL_FORMAT_I420

final int TRTC_VIDEO_PIXEL_FORMAT_I420 = 1
static

YUV420P(I420) 格式

◆ TRTC_VIDEO_PIXEL_FORMAT_NV21

final int TRTC_VIDEO_PIXEL_FORMAT_NV21 = 4
static

NV21 格式

◆ TRTC_VIDEO_PIXEL_FORMAT_RGBA

final int TRTC_VIDEO_PIXEL_FORMAT_RGBA = 5
static

RGBA 格式

◆ TRTC_VIDEO_PIXEL_FORMAT_Texture_2D

final int TRTC_VIDEO_PIXEL_FORMAT_Texture_2D = 2
static

OpenGL 2D 纹理格式

◆ TRTC_VIDEO_PIXEL_FORMAT_TEXTURE_EXTERNAL_OES

final int TRTC_VIDEO_PIXEL_FORMAT_TEXTURE_EXTERNAL_OES = 3
static

OES 外部纹理格式(适用于 Android 平台)

◆ TRTC_VIDEO_PIXEL_FORMAT_UNKNOWN

final int TRTC_VIDEO_PIXEL_FORMAT_UNKNOWN = 0
static

未定义的格式

◆ TRTC_VIDEO_QOS_PREFERENCE_CLEAR

final int TRTC_VIDEO_QOS_PREFERENCE_CLEAR = 2
static

清晰优先(默认值):即当前网络不足以传输既清晰又流畅的画面时,优先保证画面的清晰度,代价就是画面会比较卡顿。

◆ TRTC_VIDEO_QOS_PREFERENCE_SMOOTH

final int TRTC_VIDEO_QOS_PREFERENCE_SMOOTH = 1
static

流畅优先:即当前网络不足以传输既清晰又流畅的画面时,优先保证画面的流畅性,代价就是画面会比较模糊且伴随有较多的马赛克。

◆ TRTC_VIDEO_RENDER_MODE_FILL

final int TRTC_VIDEO_RENDER_MODE_FILL = 0
static

填充模式:即将画面内容居中等比缩放以充满整个显示区域,超出显示区域的部分将会被裁剪掉,此模式下画面可能不完整。

视频画面填充模式

如果视频显示区域的宽高比不等于视频内容的宽高比时,就需要您指定画面的填充模式:

◆ TRTC_VIDEO_RENDER_MODE_FIT

final int TRTC_VIDEO_RENDER_MODE_FIT = 1
static

适应模式:即按画面长边进行缩放以适应显示区域,短边部分会被填充为黑色,此模式下图像完整但可能留有黑边。

◆ TRTC_VIDEO_RESOLUTION_120_120

final int TRTC_VIDEO_RESOLUTION_120_120 = 1
static

宽高比 1:1;分辨率 120x120;建议码率(VideoCall)80kbps; 建议码率(LIVE)120kbps。

◆ TRTC_VIDEO_RESOLUTION_1280_720

final int TRTC_VIDEO_RESOLUTION_1280_720 = 112
static

宽高比 16:9;分辨率 1280x720;建议码率(VideoCall)1200kbps; 建议码率(LIVE)1800kbps。

◆ TRTC_VIDEO_RESOLUTION_160_120

final int TRTC_VIDEO_RESOLUTION_160_120 = 50
static

宽高比4:3;分辨率 160x120;建议码率(VideoCall)100kbps; 建议码率(LIVE)150kbps。

◆ TRTC_VIDEO_RESOLUTION_160_160

final int TRTC_VIDEO_RESOLUTION_160_160 = 3
static

宽高比 1:1 分辨率 160x160;建议码率(VideoCall)100kbps; 建议码率(LIVE)150kbps。

◆ TRTC_VIDEO_RESOLUTION_160_90

final int TRTC_VIDEO_RESOLUTION_160_90 = 100
static

宽高比 16:9;分辨率 160x90;建议码率(VideoCall)150kbps; 建议码率(LIVE)250kbps。

◆ TRTC_VIDEO_RESOLUTION_1920_1080

final int TRTC_VIDEO_RESOLUTION_1920_1080 = 114
static

宽高比 16:9;分辨率 1920x1080;建议码率(VideoCall)2000kbps; 建议码率(LIVE)3000kbps。

◆ TRTC_VIDEO_RESOLUTION_240_180

final int TRTC_VIDEO_RESOLUTION_240_180 = 52
static

宽高比 4:3;分辨率 240x180;建议码率(VideoCall)150kbps; 建议码率(LIVE)250kbps。

◆ TRTC_VIDEO_RESOLUTION_256_144

final int TRTC_VIDEO_RESOLUTION_256_144 = 102
static

宽高比 16:9;分辨率 256x144;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps。

◆ TRTC_VIDEO_RESOLUTION_270_270

final int TRTC_VIDEO_RESOLUTION_270_270 = 5
static

宽高比 1:1;分辨率 270x270;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps。

◆ TRTC_VIDEO_RESOLUTION_280_210

final int TRTC_VIDEO_RESOLUTION_280_210 = 54
static

宽高比 4:3;分辨率 280x210;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps。

◆ TRTC_VIDEO_RESOLUTION_320_180

final int TRTC_VIDEO_RESOLUTION_320_180 = 104
static

宽高比 16:9;分辨率 320x180;建议码率(VideoCall)250kbps; 建议码率(LIVE)400kbps。

◆ TRTC_VIDEO_RESOLUTION_320_240

final int TRTC_VIDEO_RESOLUTION_320_240 = 56
static

宽高比 4:3;分辨率 320x240;建议码率(VideoCall)250kbps; 建议码率(LIVE)375kbps。

◆ TRTC_VIDEO_RESOLUTION_400_300

final int TRTC_VIDEO_RESOLUTION_400_300 = 58
static

宽高比 4:3;分辨率 400x300;建议码率(VideoCall)300kbps; 建议码率(LIVE)450kbps。

◆ TRTC_VIDEO_RESOLUTION_480_270

final int TRTC_VIDEO_RESOLUTION_480_270 = 106
static

宽高比 16:9;分辨率 480x270;建议码率(VideoCall)350kbps; 建议码率(LIVE)550kbps。

◆ TRTC_VIDEO_RESOLUTION_480_360

final int TRTC_VIDEO_RESOLUTION_480_360 = 60
static

宽高比 4:3;分辨率 480x360;建议码率(VideoCall)400kbps; 建议码率(LIVE)600kbps。

◆ TRTC_VIDEO_RESOLUTION_480_480

final int TRTC_VIDEO_RESOLUTION_480_480 = 7
static

宽高比 1:1;分辨率 480x480;建议码率(VideoCall)350kbps; 建议码率(LIVE)500kbps。

◆ TRTC_VIDEO_RESOLUTION_640_360

final int TRTC_VIDEO_RESOLUTION_640_360 = 108
static

宽高比 16:9;分辨率 640x360;建议码率(VideoCall)500kbps; 建议码率(LIVE)900kbps。

◆ TRTC_VIDEO_RESOLUTION_640_480

final int TRTC_VIDEO_RESOLUTION_640_480 = 62
static

宽高比 4:3;分辨率 640x480;建议码率(VideoCall)600kbps; 建议码率(LIVE)900kbps。

◆ TRTC_VIDEO_RESOLUTION_960_540

final int TRTC_VIDEO_RESOLUTION_960_540 = 110
static

宽高比 16:9;分辨率 960x540;建议码率(VideoCall)850kbps; 建议码率(LIVE)1300kbps。

◆ TRTC_VIDEO_RESOLUTION_960_720

final int TRTC_VIDEO_RESOLUTION_960_720 = 64
static

宽高比 4:3;分辨率 960x720;建议码率(VideoCall)1000kbps; 建议码率(LIVE)1500kbps。

◆ TRTC_VIDEO_RESOLUTION_MODE_LANDSCAPE

final int TRTC_VIDEO_RESOLUTION_MODE_LANDSCAPE = 0
static

横屏分辨率,例如:TRTCVideoResolution_640_360 + TRTCVideoResolutionModeLandscape = 640 × 360。

◆ TRTC_VIDEO_RESOLUTION_MODE_PORTRAIT

final int TRTC_VIDEO_RESOLUTION_MODE_PORTRAIT = 1
static

竖屏分辨率,例如:TRTCVideoResolution_640_360 + TRTCVideoResolutionModePortrait = 360 × 640。

◆ TRTC_VIDEO_ROTATION_0

final int TRTC_VIDEO_ROTATION_0 = 0
static

不旋转

◆ TRTC_VIDEO_ROTATION_180

final int TRTC_VIDEO_ROTATION_180 = 2
static

顺时针旋转180度

◆ TRTC_VIDEO_ROTATION_270

final int TRTC_VIDEO_ROTATION_270 = 3
static

顺时针旋转270度

◆ TRTC_VIDEO_ROTATION_90

final int TRTC_VIDEO_ROTATION_90 = 1
static

顺时针旋转90度

◆ TRTC_VIDEO_STREAM_TYPE_BIG

final int TRTC_VIDEO_STREAM_TYPE_BIG = 0
static

高清大画面,一般用来传输摄像头的视频数据。

◆ TRTC_VIDEO_STREAM_TYPE_SMALL

final int TRTC_VIDEO_STREAM_TYPE_SMALL = 1
static

低清小画面:小画面和大画面的内容相互,但是分辨率和码率都比大画面低,因此清晰度也更低。

◆ TRTC_VIDEO_STREAM_TYPE_SUB

final int TRTC_VIDEO_STREAM_TYPE_SUB = 2
static

辅流画面:一般用于屏幕分享,同一时间在同一个房间中只允许一个用户发布辅流视频,其他用户必须要等该用户关闭之后才能发布自己的辅流。

◆ TRTC_VOICE_CHANGER_TYPE_0

final int TRTC_VOICE_CHANGER_TYPE_0 = 0
static

关闭变声

◆ TRTC_VOICE_CHANGER_TYPE_1

final int TRTC_VOICE_CHANGER_TYPE_1 = 1
static

熊孩子

◆ TRTC_VOICE_CHANGER_TYPE_10

final int TRTC_VOICE_CHANGER_TYPE_10 = 10
static

重机械

◆ TRTC_VOICE_CHANGER_TYPE_11

final int TRTC_VOICE_CHANGER_TYPE_11 = 11
static

空灵

◆ TRTC_VOICE_CHANGER_TYPE_2

final int TRTC_VOICE_CHANGER_TYPE_2 = 2
static

萝莉

◆ TRTC_VOICE_CHANGER_TYPE_3

final int TRTC_VOICE_CHANGER_TYPE_3 = 3
static

大叔

◆ TRTC_VOICE_CHANGER_TYPE_4

final int TRTC_VOICE_CHANGER_TYPE_4 = 4
static

重金属

◆ TRTC_VOICE_CHANGER_TYPE_5

final int TRTC_VOICE_CHANGER_TYPE_5 = 5
static

感冒

◆ TRTC_VOICE_CHANGER_TYPE_6

final int TRTC_VOICE_CHANGER_TYPE_6 = 6
static

外国人

◆ TRTC_VOICE_CHANGER_TYPE_7

final int TRTC_VOICE_CHANGER_TYPE_7 = 7
static

困兽

◆ TRTC_VOICE_CHANGER_TYPE_8

final int TRTC_VOICE_CHANGER_TYPE_8 = 8
static

死肥仔

◆ TRTC_VOICE_CHANGER_TYPE_9

final int TRTC_VOICE_CHANGER_TYPE_9 = 9
static

强电流

◆ TRTCAudioCapabilityLowLatencyChorus

final int TRTCAudioCapabilityLowLatencyChorus = 1
static

低延时合唱能力

◆ TRTCAudioCapabilityLowLatencyEarMonitor

final int TRTCAudioCapabilityLowLatencyEarMonitor = 2
static

低延时耳返能力

◆ TRTCAudioSampleRate16000

final int TRTCAudioSampleRate16000 = 16000
static

16k采样率

◆ TRTCAudioSampleRate32000

final int TRTCAudioSampleRate32000 = 32000
static

32k采样率

◆ TRTCAudioSampleRate44100

final int TRTCAudioSampleRate44100 = 44100
static

44.1k采样率

◆ TRTCAudioSampleRate48000

final int TRTCAudioSampleRate48000 = 48000
static

48k采样率

◆ TRTCAVStatusChangeReasonBufferingBegin

final int TRTCAVStatusChangeReasonBufferingBegin = 1
static

网络缓冲

◆ TRTCAVStatusChangeReasonBufferingEnd

final int TRTCAVStatusChangeReasonBufferingEnd = 2
static

结束缓冲

◆ TRTCAVStatusChangeReasonInternal

final int TRTCAVStatusChangeReasonInternal = 0
static

缺省值

◆ TRTCAVStatusChangeReasonLocalStarted

final int TRTCAVStatusChangeReasonLocalStarted = 3
static

本地启动视频流播放

◆ TRTCAVStatusChangeReasonLocalStopped

final int TRTCAVStatusChangeReasonLocalStopped = 4
static

本地停止视频流播放

◆ TRTCAVStatusChangeReasonRemoteStarted

final int TRTCAVStatusChangeReasonRemoteStarted = 5
static

远端视频流开始(或继续)

◆ TRTCAVStatusChangeReasonRemoteStopped

final int TRTCAVStatusChangeReasonRemoteStopped = 6
static

远端视频流停止(或中断

◆ TRTCAVStatusLoading

final int TRTCAVStatusLoading = 2
static

正在加载

◆ TRTCAVStatusPlaying

final int TRTCAVStatusPlaying = 1
static

正在播放

◆ TRTCAVStatusStopped

final int TRTCAVStatusStopped = 0
static

停止播放

◆ TRTCRoleAnchor

final int TRTCRoleAnchor = 20
static

主播:可以随时发布自己的音视频流,但人数有限制,同一个房间中最多只允许 50 个主播同时发布自己的音视频流。

◆ TRTCRoleAudience

final int TRTCRoleAudience = 21
static

观众:只能观看其他用户的音视频流,要发布音视频流,需要先通过 switchRole 切换成主播,同一个房间中最多能容纳10万观众。

◆ TRTCSystemVolumeTypeAuto

final int TRTCSystemVolumeTypeAuto = 0
static

自动切换模式: 也被称为“麦上通话,麦下媒体”,即主播上麦时使用通话音量,观众不上麦则使用媒体音量,适合在线直播场景。 如果您在 enterRoom 时选择的场景为 TRTCAppSceneLIVE 或 TRTCAppSceneVoiceChatRoom,SDK 会自动使用该模式。

◆ TRTCSystemVolumeTypeMedia

final int TRTCSystemVolumeTypeMedia = 1
static

全程媒体音量: 通话全程使用媒体音量,并不是非常常用的音量类型,适用于对音质要求比较苛刻的音乐场景中。 如果您的用户大都使用外接设备(比如外接声卡)为主,可以使用该模式,否则请慎用。

◆ TRTCSystemVolumeTypeVOIP

final int TRTCSystemVolumeTypeVOIP = 2
static

全程通话音量: 该方案的优势在于用户在上下麦时音频模块无需切换工作模式,可以做到无缝上下麦,适合于用户需要频繁上下麦的应用场景。 如果您在 enterRoom 时选择的场景为 TRTCAppSceneVideoCall 或 TRTCAppSceneAudioCall,SDK 会自动使用该模式。

◆ VIDEO_QOS_CONTROL_CLIENT

final int VIDEO_QOS_CONTROL_CLIENT = 0
static

本地控制,用于 SDK 开发内部调试,客户请勿使用。

◆ VIDEO_QOS_CONTROL_SERVER

final int VIDEO_QOS_CONTROL_SERVER = 1
static

云端控制,默认模式,推荐选择。