腾讯云实时音视频的关键类型定义
Module: TRTC 关键类型定义 Function: 分辨率、质量等级等枚举和常量值的定义
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 = "" |
|
inline |
|
inline |
|
inline |
|
inline |
String businessInfo = "" |
【字段含义】业务数据字段(选填),部分高级特性才需要用到此字段。
【推荐取值】请不要自行设置该字段。
String privateMapKey = "" |
【字段含义】用于权限控制的权限票据(选填),当您希望某个房间只能让特定的 userId 进入时,需要使用 privateMapKey 进行权限保护。
【推荐取值】仅建议有高级别安全需求的客户使用,更多详情请参见 进房权限保护。
int role = TRTCCloudDef.TRTCRoleAnchor |
【字段含义】直播场景下的角色,仅适用于直播场景(TRTCAppSceneLIVE 和TRTCAppSceneVoiceChatRoom),通话场景下指定该参数是无效的。
【推荐取值】默认值:主播(TRTCRoleAnchor)。
int roomId = 0 |
【字段含义】数字房间号,在同一个房间里的用户(userId)可以彼此看到对方并进行音视频通话。
【推荐取值】取值范围:1 - 4294967294。
【特别说明】roomId 与 strRoomId 是互斥的,若您选用 strRoomId,则 roomId 需要填写为0。若两者都填,SDK 将优先选用 roomId。
【请您注意】不要混用 roomId 和 strRoomId,因为它们之间是不互通的,比如数字 123 和字符串 “123” 在 TRTC 看来是两个完全不同的房间。
int sdkAppId = 0 |
【字段含义】应用标识(必填),腾讯云基于 sdkAppId 完成计费统计。
【推荐取值】在 实时音视频控制台 创建应用后可以在账号信息页面中得到该 ID。
String streamId |
String strRoomId = "" |
【字段含义】字符串房间号,在同一个房间里的用户(userId)可以彼此看到对方并进行音视频通话。
【特别说明】roomId 与 strRoomId 是互斥的,若您选用 strRoomId,则 roomId 需要填写为0。若两者都填,SDK 将优先选用 roomId。
【请您注意】不要混用 roomId 和 strRoomId,因为它们之间是不互通的,比如数字 123 和字符串 “123” 在 TRTC 看来是两个完全不同的房间。
【推荐取值】限制长度为64字节。以下为支持的字符集范围(共 89 个字符):
String userDefineRecordId |
【字段含义】云端录制开关(选填),用于指定是否要在云端将该用户的音视频流录制下来。
【参考文档】云端录制。
【推荐取值】限制长度为64字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。
方案一:手动录制方案:
方案二:自动录制方案:
String userId = "" |
【字段含义】用户标识(必填),当前用户的 userId,相当于用户名,使用 UTF-8 编码。
【推荐取值】如果一个用户在您的帐号系统中的 ID 为“mike”,则 userId 即可设置为“mike”。
String userSig = "" |
【字段含义】用户签名(必填),当前 userId 对应的验证签名,相当于使用云服务的登录密码。
【推荐取值】具体计算方法请参见 如何计算UserSig。
class com::tencent::trtc::TRTCCloudDef::TRTCVideoEncParam |
class com::tencent::trtc::TRTCCloudDef::TRTCNetworkQosParam |
class com::tencent::trtc::TRTCCloudDef::TRTCRenderParams |
成员变量 | ||
---|---|---|
int | fillMode |
【字段含义】画面填充模式 |
int | mirrorType |
【字段含义】画面镜像模式 |
int | rotation |
【字段含义】图像的顺时针旋转角度 |
class com::tencent::trtc::TRTCCloudDef::TRTCVolumeInfo |
class com::tencent::trtc::TRTCCloudDef::TRTCSpeedTestParams |
Public 成员函数 | |
String | toString () |
成员变量 | |
int | sdkAppId |
String | userId |
String | userSig |
int | expectedUpBandwidth |
int | expectedDownBandwidth |
|
inline |
int expectedDownBandwidth |
预期的下行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)。
int expectedUpBandwidth |
预期的上行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)。
int sdkAppId |
应用标识,请参考 TRTCParams 中的相关说明。
String userId |
用户标识,请参考 TRTCParams 中的相关说明。
String userSig |
用户签名,请参考 TRTCParams 中的相关说明。
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 |
|
inline |
int availableDownBandwidth |
下行带宽(kbps,-1:无效值)。
int availableUpBandwidth |
上行带宽(kbps,-1:无效值)。
float downLostRate |
下行丢包率,取值范围是 [0 - 1.0],例如 0.2 表示每从服务器收取 10 个数据包可能会在中途丢失 2 个。
String errMsg |
带宽测试错误信息。
String ip |
服务器 IP 地址。
int quality |
内部通过评估算法测算出的网络质量,更多信息请参见 TRTCQuality。
int rtt |
延迟(毫秒),指当前设备到 TRTC 服务器的一次网络往返时间,该值越小越好,正常数值范围是10ms - 100ms。
boolean success |
测试是否成功。
float upLostRate |
上行丢包率,取值范围是 [0 - 1.0],例如 0.3 表示每向服务器发送 10 个数据包可能会在中途丢失 3 个。
class com::tencent::trtc::TRTCCloudDef::TRTCTexture |
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 |
【字段含义】视频帧的时间戳,单位毫秒 |
int | width | 【字段含义】视频宽度 |
class com::tencent::trtc::TRTCCloudDef::TRTCAudioFrame |
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 |
|
inline |
|
inline |
|
inline |
|
inline |
int height |
【字段含义】指定该路画面的高度(单位:像素)
String image |
【字段含义】占位图或水印图
int inputType |
【字段含义】指定该路流的混合内容(只混音频、只混视频、混合音视频、混入水印)
【默认取值】默认值:TRTCMixInputTypeUndefined
【特别说明】
boolean pureAudio |
【字段含义】指定该路流是不是只混合声音
【推荐取值】默认值:false
【特别说明】已废弃,推荐使用8.5版本开始新引入的字段:inputType。
int renderMode |
【字段含义】该画面在输出时的显示模式
【推荐取值】默认值:视频流默认为0。0为裁剪,1为缩放,2为缩放并显示黑底。
【特别说明】水印图和占位图暂时不支持设置 renderMode,默认强制拉伸处理
String roomId |
【字段含义】该路音视频流所在的房间号(设置为空值代表当前用户所在的房间号)
int streamType |
【字段含义】指定该路画面是主路画面(TRTCVideoStreamTypeBig)还是辅路画面(TRTCVideoStreamTypeSub)。
String userId |
【字段含义】用户 ID
int width |
【字段含义】指定该路画面的宽度(单位:像素)
int x |
【字段含义】指定该路画面的 x 坐标(单位:像素)
int y |
【字段含义】指定该路画面的 y 坐标(单位:像素)
int zOrder |
【字段含义】指定该路画面的层级(取值范围:1 - 15,不可重复)
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< TRTCMixUser > | mixUsers |
String | streamId |
|
inline |
|
inline |
|
inline |
int appId |
【字段含义】腾讯云直播服务的 AppID
【推荐取值】请在 实时音视频控制台 依次单击【应用管理】=>【应用信息】,并在【旁路直播信息】中获取 appid。
int audioBitrate |
【字段含义】指定云端转码的目标音频码率
【推荐取值】默认值:64kbps,取值范围是 [32,192]。
int audioChannels |
【字段含义】指定云端转码的音频声道数
【推荐取值】默认值:1,代表单声道。可设定的数值只有两个数字:1-单声道,2-双声道。
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 上时才生效。
int audioSampleRate |
【字段含义】指定云端转码的目标音频采样率
【推荐取值】默认值:48000Hz。支持12000HZ、16000HZ、22050HZ、24000HZ、32000HZ、44100HZ、48000HZ。
int backgroundColor |
【字段含义】指定混合画面的底色颜色
【推荐取值】默认值:0x000000 代表黑色。格式为十六进制数字,比如:“0x61B9F1” 代表 RGB 分别为(97,158,241)。
String backgroundImage |
【字段含义】指定混合画面的背景图片
【推荐取值】默认值:空值,即不设置背景图片。
【特别说明】
int bizId |
【字段含义】腾讯云直播服务的 bizid
【推荐取值】请在 实时音视频控制台 依次单击【应用管理】=>【应用信息】,并在【旁路直播信息】中获取 bizid。
ArrayList<TRTCMixUser> mixUsers |
【字段含义】指定云端混流中每一路视频画面的位置、大小、图层以及流类型等信息
【推荐取值】该字段是一个 TRTCMixUser 类型的数组,数组中的每一个元素都用来代表每一路画面的信息。
int mode |
【字段含义】排版模式
【推荐取值】请根据您的业务场景要求自行选择,预排版模式是适用性较好的一种模式。
String streamId |
【字段含义】输出到 CDN 上的直播流 ID
【推荐取值】默认值:空值,即房间里的多路音视频流最终会混合到接口调用者的那一路音视频流上。
int videoBitrate |
【字段含义】指定云端转码的目标视频码率(kbps)
【推荐取值】如果填0,TRTC 会根据 videoWidth 和 videoHeight 估算出一个合理的码率值,您也可以参考视频分辨率枚举定义中所推荐的码率值(见注释部分)。
int videoFramerate |
【字段含义】指定云端转码的目标视频帧率(FPS)
【推荐取值】默认值:15fps,取值范围是 (0,30]。
int videoGOP |
【字段含义】指定云端转码的目标视频关键帧间隔(GOP)
【推荐取值】默认值:2,单位为秒,取值范围是 [1,8]。
int videoHeight |
【字段含义】指定云端转码的目标分辨率(高度)
【推荐取值】单位:像素值,推荐值:640,如果你只混合音频流,请将 width 和 height 均设置位 0,否则混流转码后的直播流中会有黑色背景。
int videoWidth |
【字段含义】指定云端转码的目标分辨率(宽度)
【推荐取值】单位:像素值,推荐值:360,如果你只混合音频流,请将 width 和 height 均设置位 0,否则混流转码后的直播流中会有黑色背景。
class com::tencent::trtc::TRTCCloudDef::TRTCPublishCDNParam |
成员变量 | ||
---|---|---|
int | appId |
【字段含义】腾讯云直播服务的 AppID |
int | bizId |
【字段含义】腾讯云直播服务的 bizid |
String | streamId |
【字段含义】需要转推的 streamId |
String | url |
【字段含义】指定该路音视频流在第三方直播服务商的推流地址(RTMP 格式) |
class com::tencent::trtc::TRTCCloudDef::TRTCAudioRecordingParams |
class com::tencent::trtc::TRTCCloudDef::TRTCLocalRecordingParams |
Public 成员函数 | |
String | toString () |
成员变量 | |
String | filePath = "" |
int | recordType = TRTC_RECORD_TYPE_BOTH |
int | interval = -1 |
|
inline |
String filePath = "" |
【字段含义】录制的文件地址(必填),请确保路径有读写权限且合法,否则录制文件无法生成。
【特别说明】该路径需精确到文件名及格式后缀,格式后缀用于决定录制出的文件格式,目前支持的格式暂时只有 MP4。 例如:假如您指定路径为 "mypath/record/test.mp4",代表您希望 SDK 生成一个 MP4 格式的本地视频文件。 请您指定一个有读写权限的合法路径,否则录制文件无法生成。
int interval = -1 |
【字段含义】interval 录制信息更新频率,单位毫秒,有效范围:1000-10000。默认值为-1,表示不回调。
int recordType = TRTC_RECORD_TYPE_BOTH |
【字段含义】媒体录制类型,默认值:TRTCRecordTypeBoth,即同时录制音频和视频。
class com::tencent::trtc::TRTCCloudDef::TRTCAudioEffectParam |
Public 成员函数 | |
TRTCAudioEffectParam (int effectId, String path) | |
成员变量 | |
int | effectId |
String | path |
int | loopCount |
boolean | publish |
int | volume |
|
inline |
int effectId |
【字段含义】音效 ID
【特别说明】SDK 允许播放多路音效,因此需要音效 ID 进行标记,用于控制音效的开始、停止、音量等。
int loopCount |
【字段含义】循环播放次数
【推荐取值】取值范围为0 - 任意正整数,默认值:0,表示播放音效一次;1表示播放音效两次;以此类推。
String path |
【字段含义】音效文件路径,支持的文件格式:aac, mp3, m4a。
boolean publish |
【字段含义】音效是否上行
【推荐取值】true:音效在本地播放的同时,会上行至云端,因此远端用户也能听到该音效;false:音效不会上行至云端,因此只能在本地听到该音效。默认值:false
int volume |
【字段含义】音效音量
【推荐取值】取值范围为0 - 100;默认值:100
class com::tencent::trtc::TRTCCloudDef::TRTCSwitchRoomConfig |
Public 成员函数 | |
TRTCSwitchRoomConfig () | |
成员变量 | |
int | roomId |
String | strRoomId |
String | userSig |
String | privateMapKey |
|
inline |
String privateMapKey |
【字段含义】用于权限控制的权限票据(选填),当您希望某个房间只能让特定的 userId 进入时,需要使用 privateMapKey 进行权限保护。
【推荐取值】仅建议有高级别安全需求的客户使用,更多详情请参见 进房权限保护。
int roomId |
【字段含义】数字房间号码 [选填],在同一个房间内的用户可以看到彼此并能够进行音视频通话。
【推荐取值】取值范围:1 - 4294967294。
【特别说明】roomId 和 strRoomId 必须并且只能填一个。若两者都填,则优先选择 roomId。
String strRoomId |
【字段含义】字符串房间号码 [选填],在同一个房间内的用户可以看到彼此并能够进行音视频通话。
【特别说明】roomId 和 strRoomId 必须并且只能填一个。若两者都填,则优先选择 roomId。
String userSig |
【字段含义】用户签名 [选填],当前 userId 对应的验证签名,相当于登录密码。 如果您在切换房间时不指定新计算出的 userSig,SDK 会继续使用您在进入房间时(enterRoom)时所指定的 userSig。 这就需要您必须保证旧的 userSig 在切换房间的那一刻仍在签名允许的效期内,否则会导致房间切换失败。
【推荐取值】具体计算方法请参考 如何计算UserSig。
class com::tencent::trtc::TRTCCloudDef::TRTCAudioFrameCallbackFormat |
Public 成员函数 | |
TRTCAudioFrameCallbackFormat () | |
成员变量 | |
int | sampleRate |
int | channel |
int | samplesPerCall |
|
inline |
int channel |
【字段含义】声道数
【推荐取值】默认值:1,代表单声道。可设定的数值只有两个数字:1-单声道,2-双声道。
int sampleRate |
【字段含义】采样率
【推荐取值】默认值:48000Hz。支持 16000, 32000, 44100, 48000。
int samplesPerCall |
【字段含义】采样点数
【推荐取值】取值必须是 sampleRate/100 的整数倍。
class com::tencent::trtc::TRTCCloudDef::TRTCScreenShareParams |
class com::tencent::trtc::TRTCCloudDef::TRTCAudioParallelParams |
Public 成员函数 | |
TRTCAudioParallelParams () | |
成员变量 | |
int | maxCount |
ArrayList< String > | includeUsers |
|
inline |
ArrayList<String> includeUsers |
【字段含义】指定用户必定能并发播放。
【特殊说明】指定必定并发播放的用户 ID 列表。这些用户不参与智能选择。 includeUsers 的数量必须小于 maxCount,否则本次并发播放设置失效。 includeUsers 仅在 maxCount > 0 时有效。当 includeUsers 生效时,参与智能并发选择的最大播放数 = maxCount - 有效 includeUsers 的数量。
int maxCount |
【字段含义】最大并发播放数。默认值:0 如果 maxCount > 0,且实际人数 > maxCount,会实时智能选出 maxCount 路数据进行播放,这会极大的降低性能消耗。 如果 maxCount = 0,SDK 不限制并发播放数,在上麦人数比较多的房间可能会引发性能问题。
class com::tencent::trtc::TRTCCloudDef |
静态 Public 属性 | |
static final String | TRTC_SDK_VERSION = "0.0.0.0" |
TRTCVideoResolution | |
TRTC 中有很多需要操控视频画面的接口,这些接口都需要您指定视频渲染控件。 在 Android 平台中,您可以使用我们提供的 TXCloudVideoView 作为视频渲染控件,它支持 SurfaceView 和 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 内部有三种不同的视频流,分别是:
| |
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 提供针对视频的自定义采集和自定义渲染功能:
| |
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 | |
在自定义采集和自定义渲染功能,您需要用到下列枚举值来指定您希望以什么方式传递视频数据:
| |
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 针对常见的音视频应用场景都进行了定向优化,以满足各种垂直场景下的差异化要求,主要场景可以分为如下两类:
| |
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),把用户区分成两种不同的身份:
| |
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 提供了三种精心校调好的模式,用来满足各种垂直场景下对音质的差异化追求:
| |
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 | |
现代智能手机中一般都具备两套系统音量类型,即“通话音量”和“媒体音量”。
| |
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 | |
SDK 目前提供了两种系统音频能力类型是否支持的查询:低延时合唱能力、低延时耳返能力。 | |
static final int | TRTCAudioCapabilityLowLatencyChorus = 1 |
static final int | TRTCAudioCapabilityLowLatencyEarMonitor = 2 |
TRTCLogLevel | |
不同的日志等级定义了不同的详实程度和日志数量,推荐一般情况下将日志等级设置为: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 |
|
static |
语音通话场景,默认采用 SPEECH 音质,单个房间最多支持300人同时在线,最高支持50人同时发言。 适用于[1对1语音通话]、[300人语音会议]、[语音聊天]、[语音会议]、[在线狼人杀]等业务场景。
|
static |
视频互动直播,支持平滑上下麦,切换过程无需等待,主播延时小于300ms;支持十万级别观众同时播放,播放延时低至1000ms。 适用于[低延时互动直播]、[大班课]、[主播PK]、[视频相亲]、[在线互动课堂]、[远程培训]、[超大型会议]等业务场景。
|
static |
视频通话场景,支持720P、1080P高清画质,单个房间最多支持300人同时在线,最高支持50人同时发言。 适用于[1对1视频通话]、[300人视频会议]、[在线问诊]、[教育小班课]、[远程面试]等业务场景。
|
static |
语音互动直播,支持平滑上下麦,切换过程无需等待,主播延时小于300ms;支持十万级别观众同时播放,播放延时低至1000ms。 适用于[语音俱乐部]、[在线K歌房]、[音乐直播间]、[FM电台]等业务场景。
|
static |
PCM 格式的音频数据
|
static |
默认模式:采样率:48k;单声道;编码码率:50kbps;介于 Speech 和 Music 之间的档位,SDK 默认档位,推荐选择。
|
static |
音乐模式:采样率:48k;全频带立体声;编码码率:128kbps;适合需要高保真传输音乐的场景,比如在线K歌、音乐直播等。
|
static |
人声模式:采样率:16k;单声道;编码码率:16kbps;具备几个模式中最强的网络抗性,适合语音通话为主的场景,比如在线会议,语音通话等。
|
static |
Earpiece:使用听筒播放,听筒位于手机顶部,声音偏小,适合需要保护隐私的通话场景。
|
static |
Speakerphone:使用扬声器播放(即“免提”),扬声器位于手机底部,声音偏大,适合外放音乐。
|
static |
录制本地和远端所有音频
|
static |
仅录制本地音频
|
static |
仅录制远端音频
|
static |
自然,算法更多地保留了面部细节,磨皮效果更加自然,适用于绝大多数直播场景。
|
static |
优图,由优图实验室提供,磨皮效果介于光滑和自然之间,比光滑保留更多皮肤细节,比自然磨皮程度更高。
|
static |
光滑,算法比较激进,磨皮效果比较明显,适用于秀场直播。
|
static |
在渲染控件上展示音视频统计信息和关键历史事件
|
static |
|
static |
在渲染控件上展示音视频统计信息
|
static |
不适配重力感应 该模式是桌面平台上的默认值,该模式下,当前用户发布出去的视频画面不受重力感应方向变化的影响。
|
static |
适配重力感应 该模式是移动平台上的默认值,该模式下,当前用户发布出去的视频画面会跟随设备的重力感应方向进行相应的调整,同时本地预览画面保持方向不变。 SDK 目前支持的一种适配模式是:当手机或 Pad 上下颠倒时,为了保证远端用户看到的画面方向正常,SDK 会自动将发布出去的画面上下旋转180度。 如果您的 APP 的界面层开启了重力感应自适应,推荐使用 UIFixLayout 模式。
|
static |
适配重力感应 该模式下,当前用户发布出去的视频画面会跟随设备的重力感应方向进行相应的调整,同时本地预览画面也会进行相应的旋转适配。 目前支持的一种特性是:当手机或 Pad 上下颠倒时,为了保证远端用户看到的画面方向正常,SDK 会自动将发布出去的画面上下旋转180度。 如果您的 APP 的界面层不支持重力感应自适应,并且希望 SDK 的视频画面能够适配重力感应方向,推荐使用 UIFixLayout 模式。
|
static |
输出 DEBUG,INFO,WARNING,ERROR 和 FATAL 级别的 Log
|
static |
输出ERROR 和 FATAL 级别的 Log
|
static |
仅输出 FATAL 级别的 Log
|
static |
输出 INFO,WARNING,ERROR 和 FATAL 级别的 Log
|
static |
不输出任何 SDK Log
|
static |
输出所有级别的 Log
|
static |
输出WARNING,ERROR 和 FATAL 级别的 Log
|
static |
混入音频和视频
|
static |
只混入音频
|
static |
只混入视频
|
static |
默认值 考虑到针对老版本的兼容性,如果您指定了 inputType 为 Undefined,SDK 会根据另一个参数 pureAudio 的数值决定混流输入类型
|
static |
混入水印 此时您无需指定 userId 字段,但需要指定 image 字段,推荐使用 png 格式的图片。
|
static |
当前网络较差
|
static |
当前网络不满足 TRTC 的最低要求
|
static |
当前网络非常好
|
static |
当前网络比较好
|
static |
当前网络一般
|
static |
未定义
|
static |
当前网络很差
|
static |
仅录制音频
|
static |
同时录制音频和视频
|
static |
仅录制视频
|
static |
关闭混响
|
static |
KTV
|
static |
小房间
|
static |
大会堂
|
static |
低沉
|
static |
洪亮
|
static |
金属声
|
static |
磁性
|
static |
|
static |
全手动排版模式 该模式下,您需要指定每一路画面的精确排版位置。该模式的自由度最高,但易用性也最差:
|
static |
预排版模式 最受欢迎的排版模式,因为该模式支持您通过占位符提前对各路画面的位置进行设定,之后 SDK 会自动根据房间中画面的路数动态进行适配调整。 此模式下,您依然需要设置 mixUsers 参数,但可以将 userId 设置为“占位符”,可选的占位符有:
|
static |
纯音频模式 该模式适用于语音通话(AudioCall)和语音聊天室(VoiceChatRoom)等纯音频的应用场景。
|
static |
屏幕分享模式 适用于在线教育场景等以屏幕分享为主的应用场景,仅支持 Windows 和 Mac 两个平台的 SDK。 该模式下,SDK 会先根据您通过 videoWidth 和 videoHeight 参数设置的目标分辨率构建一张画布,
|
static |
未定义
|
static |
使用内存 Buffer 传递视频数据,iOS: 经过一次额外整理后更加紧凑的 NSData 类型的内存块;Android: 用于 JAVA 层的 byte[]。 该传递的方式的性能是几种方案中效率较差的一种。
|
static |
使用内存 Buffer 传递视频数据,iOS: PixelBuffer;Android: 用于 JNI 层的 Direct Buffer;Win: 内存数据块。
|
static |
使用 Texture 纹理传递视频数据
|
static |
未定义的传递方式
|
static |
自动模式:如果正使用前置摄像头则开启镜像,如果是后置摄像头则不开启镜像(仅适用于移动设备)。
|
static |
强制关闭镜像,不论当前使用的是前置摄像头还是后置摄像头。
|
static |
强制开启镜像,不论当前使用的是前置摄像头还是后置摄像头。
|
static |
YUV420P(I420) 格式
|
static |
NV21 格式
|
static |
RGBA 格式
|
static |
OpenGL 2D 纹理格式
|
static |
OES 外部纹理格式(适用于 Android 平台)
|
static |
未定义的格式
|
static |
清晰优先(默认值):即当前网络不足以传输既清晰又流畅的画面时,优先保证画面的清晰度,代价就是画面会比较卡顿。
|
static |
流畅优先:即当前网络不足以传输既清晰又流畅的画面时,优先保证画面的流畅性,代价就是画面会比较模糊且伴随有较多的马赛克。
|
static |
填充模式:即将画面内容居中等比缩放以充满整个显示区域,超出显示区域的部分将会被裁剪掉,此模式下画面可能不完整。
视频画面填充模式
如果视频显示区域的宽高比不等于视频内容的宽高比时,就需要您指定画面的填充模式:
|
static |
适应模式:即按画面长边进行缩放以适应显示区域,短边部分会被填充为黑色,此模式下图像完整但可能留有黑边。
|
static |
宽高比 1:1;分辨率 120x120;建议码率(VideoCall)80kbps; 建议码率(LIVE)120kbps。
|
static |
宽高比 16:9;分辨率 1280x720;建议码率(VideoCall)1200kbps; 建议码率(LIVE)1800kbps。
|
static |
宽高比4:3;分辨率 160x120;建议码率(VideoCall)100kbps; 建议码率(LIVE)150kbps。
|
static |
宽高比 1:1 分辨率 160x160;建议码率(VideoCall)100kbps; 建议码率(LIVE)150kbps。
|
static |
宽高比 16:9;分辨率 160x90;建议码率(VideoCall)150kbps; 建议码率(LIVE)250kbps。
|
static |
宽高比 16:9;分辨率 1920x1080;建议码率(VideoCall)2000kbps; 建议码率(LIVE)3000kbps。
|
static |
宽高比 4:3;分辨率 240x180;建议码率(VideoCall)150kbps; 建议码率(LIVE)250kbps。
|
static |
宽高比 16:9;分辨率 256x144;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps。
|
static |
宽高比 1:1;分辨率 270x270;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps。
|
static |
宽高比 4:3;分辨率 280x210;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps。
|
static |
宽高比 16:9;分辨率 320x180;建议码率(VideoCall)250kbps; 建议码率(LIVE)400kbps。
|
static |
宽高比 4:3;分辨率 320x240;建议码率(VideoCall)250kbps; 建议码率(LIVE)375kbps。
|
static |
宽高比 4:3;分辨率 400x300;建议码率(VideoCall)300kbps; 建议码率(LIVE)450kbps。
|
static |
宽高比 16:9;分辨率 480x270;建议码率(VideoCall)350kbps; 建议码率(LIVE)550kbps。
|
static |
宽高比 4:3;分辨率 480x360;建议码率(VideoCall)400kbps; 建议码率(LIVE)600kbps。
|
static |
宽高比 1:1;分辨率 480x480;建议码率(VideoCall)350kbps; 建议码率(LIVE)500kbps。
|
static |
宽高比 16:9;分辨率 640x360;建议码率(VideoCall)500kbps; 建议码率(LIVE)900kbps。
|
static |
宽高比 4:3;分辨率 640x480;建议码率(VideoCall)600kbps; 建议码率(LIVE)900kbps。
|
static |
宽高比 16:9;分辨率 960x540;建议码率(VideoCall)850kbps; 建议码率(LIVE)1300kbps。
|
static |
宽高比 4:3;分辨率 960x720;建议码率(VideoCall)1000kbps; 建议码率(LIVE)1500kbps。
|
static |
横屏分辨率,例如:TRTCVideoResolution_640_360 + TRTCVideoResolutionModeLandscape = 640 × 360。
|
static |
竖屏分辨率,例如:TRTCVideoResolution_640_360 + TRTCVideoResolutionModePortrait = 360 × 640。
|
static |
不旋转
|
static |
顺时针旋转180度
|
static |
顺时针旋转270度
|
static |
顺时针旋转90度
|
static |
高清大画面,一般用来传输摄像头的视频数据。
|
static |
低清小画面:小画面和大画面的内容相互,但是分辨率和码率都比大画面低,因此清晰度也更低。
|
static |
辅流画面:一般用于屏幕分享,同一时间在同一个房间中只允许一个用户发布辅流视频,其他用户必须要等该用户关闭之后才能发布自己的辅流。
|
static |
关闭变声
|
static |
熊孩子
|
static |
重机械
|
static |
空灵
|
static |
萝莉
|
static |
大叔
|
static |
重金属
|
static |
感冒
|
static |
外国人
|
static |
困兽
|
static |
死肥仔
|
static |
强电流
|
static |
低延时合唱能力
|
static |
低延时耳返能力
|
static |
16k采样率
|
static |
32k采样率
|
static |
44.1k采样率
|
static |
48k采样率
|
static |
网络缓冲
|
static |
结束缓冲
|
static |
缺省值
|
static |
本地启动视频流播放
|
static |
本地停止视频流播放
|
static |
远端视频流开始(或继续)
|
static |
远端视频流停止(或中断
|
static |
正在加载
|
static |
正在播放
|
static |
停止播放
|
static |
主播:可以随时发布自己的音视频流,但人数有限制,同一个房间中最多只允许 50 个主播同时发布自己的音视频流。
|
static |
观众:只能观看其他用户的音视频流,要发布音视频流,需要先通过 switchRole 切换成主播,同一个房间中最多能容纳10万观众。
|
static |
自动切换模式: 也被称为“麦上通话,麦下媒体”,即主播上麦时使用通话音量,观众不上麦则使用媒体音量,适合在线直播场景。 如果您在 enterRoom 时选择的场景为 TRTCAppSceneLIVE 或 TRTCAppSceneVoiceChatRoom,SDK 会自动使用该模式。
|
static |
全程媒体音量: 通话全程使用媒体音量,并不是非常常用的音量类型,适用于对音质要求比较苛刻的音乐场景中。 如果您的用户大都使用外接设备(比如外接声卡)为主,可以使用该模式,否则请慎用。
|
static |
全程通话音量: 该方案的优势在于用户在上下麦时音频模块无需切换工作模式,可以做到无缝上下麦,适合于用户需要频繁上下麦的应用场景。 如果您在 enterRoom 时选择的场景为 TRTCAppSceneVideoCall 或 TRTCAppSceneAudioCall,SDK 会自动使用该模式。
|
static |
本地控制,用于 SDK 开发内部调试,客户请勿使用。
|
static |
云端控制,默认模式,推荐选择。