腾讯云实时音视频的关键类型定义
Module: TRTC 关键类型定义 Function: 分辨率、质量等级等枚举和常量值的定义
class TRTCParams |
属性 | |
UInt32 | sdkAppId |
NSString * | userId |
NSString * | userSig |
UInt32 | roomId |
NSString * | strRoomId |
TRTCRoleType | role |
NSString * | streamId |
NSString * | userDefineRecordId |
NSString * | privateMapKey |
NSString * | bussInfo |
|
readwritenonatomiccopy |
【字段含义】业务数据字段(选填),部分高级特性才需要用到此字段。
【推荐取值】请不要自行设置该字段。
|
readwritenonatomiccopy |
【字段含义】用于权限控制的权限票据(选填),当您希望某个房间只能让特定的 userId 进入时,需要使用 privateMapKey 进行权限保护。
【推荐取值】仅建议有高级别安全需求的客户使用,更多详情请参见 进房权限保护。
|
readwritenonatomicassign |
【字段含义】直播场景下的角色,仅适用于直播场景(TRTCAppSceneLIVE 和TRTCAppSceneVoiceChatRoom),通话场景下指定该参数是无效的。
【推荐取值】默认值:主播(TRTCRoleAnchor)。
|
readwritenonatomicassign |
【字段含义】数字房间号,在同一个房间里的用户(userId)可以彼此看到对方并进行音视频通话。
【推荐取值】取值范围:1 - 4294967294。
【特别说明】roomId 与 strRoomId 是互斥的,若您选用 strRoomId,则 roomId 需要填写为0。若两者都填,SDK 将优先选用 roomId。
【请您注意】不要混用 roomId 和 strRoomId,因为它们之间是不互通的,比如数字 123 和字符串 “123” 在 TRTC 看来是两个完全不同的房间。
|
readwritenonatomicassign |
【字段含义】应用标识(必填),腾讯云基于 sdkAppId 完成计费统计。
【推荐取值】在 实时音视频控制台 创建应用后可以在账号信息页面中得到该 ID。
|
readwritenonatomiccopy |
|
readwritenonatomiccopy |
【字段含义】字符串房间号,在同一个房间里的用户(userId)可以彼此看到对方并进行音视频通话。
【特别说明】roomId 与 strRoomId 是互斥的,若您选用 strRoomId,则 roomId 需要填写为0。若两者都填,SDK 将优先选用 roomId。
【请您注意】不要混用 roomId 和 strRoomId,因为它们之间是不互通的,比如数字 123 和字符串 “123” 在 TRTC 看来是两个完全不同的房间。
【推荐取值】限制长度为64字节。以下为支持的字符集范围(共 89 个字符):
|
readwritenonatomiccopy |
【字段含义】云端录制开关(选填),用于指定是否要在云端将该用户的音视频流录制下来。
【参考文档】云端录制。
【推荐取值】限制长度为64字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。
方案一:手动录制方案:
方案二:自动录制方案:
|
readwritenonatomiccopy |
【字段含义】用户标识(必填),当前用户的 userId,相当于用户名,使用 UTF-8 编码。
【推荐取值】如果一个用户在您的帐号系统中的 ID 为“mike”,则 userId 即可设置为“mike”。
|
readwritenonatomiccopy |
【字段含义】用户签名(必填),当前 userId 对应的验证签名,相当于使用云服务的登录密码。
【推荐取值】具体计算方法请参见 如何计算UserSig。
class TRTCVideoEncParam |
属性 | |
TRTCVideoResolution | videoResolution |
TRTCVideoResolutionMode | resMode |
int | videoFps |
int | videoBitrate |
int | minVideoBitrate |
BOOL | enableAdjustRes |
|
readwritenonatomicassign |
【字段含义】是否允许动态调整分辨率(开启后会对云端录制产生影响)。
【推荐取值】该功能适用于不需要云端录制的场景,开启后 SDK 会根据当前网络情况,智能选择出一个合适的分辨率,避免出现“大分辨率+小码率”的低效编码模式。
【特别说明】默认值:关闭。如有云端录制的需求,请不要开启此功能,因为如果视频分辨率发生变化后,云端录制出的 MP4 在普通的播放器上无法正常播放。
|
readwritenonatomicassign |
【字段含义】最低视频码率,SDK 会在网络不佳的情况下主动降低视频码率以保持流畅度,最低会降至 minVideoBitrate 所设定的数值。
【特别说明】 默认值:0,此时最低码率由 SDK 会根据您指定的分辨率,自动计算出合适的数值。
【推荐取值】您可以通过同时设置 videoBitrate 和 minVideoBitrate 两个参数,用于约束 SDK 对视频码率的调整范围:
|
readwritenonatomicassign |
【字段含义】分辨率模式(横屏分辨率 or 竖屏分辨率)
【推荐取值】手机平台(iOS、Android)建议选择 Portrait,桌面平台(Windows、Mac)建议选择 Landscape。
【特别说明】如需使用竖屏分辨率,请指定 resMode 为 Portrait,例如: 640 × 360 + Portrait = 360 × 640。
|
readwritenonatomicassign |
【字段含义】目标视频码率,SDK 会按照目标码率进行编码,只有在弱网络环境下才会主动降低视频码率。
【推荐取值】请参考本 TRTCVideoResolution 在各档位注释的最佳码率,也可以在此基础上适当调高。 比如:TRTCVideoResolution_1280_720 对应 1200kbps 的目标码率,您也可以设置为 1500kbps 用来获得更好的观感清晰度。
【特别说明】您可以通过同时设置 videoBitrate 和 minVideoBitrate 两个参数,用于约束 SDK 对视频码率的调整范围:
|
readwritenonatomicassign |
【字段含义】视频采集帧率
【推荐取值】15fps或20fps。5fps以下,卡顿感明显。10fps以下,会有轻微卡顿感。20fps以上,会浪费带宽(电影的帧率为24fps)。
【特别说明】部分 Android 手机的前置摄像头并不支持15fps以上的采集帧率,部分主打美颜功能的 Android 手机的前置摄像头的采集帧率可能低于10fps。
|
readwritenonatomicassign |
【字段含义】 视频分辨率
【特别说明】如需使用竖屏分辨率,请指定 resMode 为 Portrait,例如: 640 × 360 + Portrait = 360 × 640。
【推荐取值】
class TRTCNetworkQosParam |
属性 | |
TRTCVideoQosPreference | preference |
TRTCQosControlMode | controlMode |
|
readwritenonatomicassign |
【字段含义】流控模式(已废弃)
【推荐取值】云端控制
【特别说明】请设置为云端控制模式(TRTCQosControlModeServer)
|
readwritenonatomicassign |
【字段含义】清晰优先还是流畅优先
【推荐取值】清晰优先
【特别说明】该参数主要影响 TRTC 在较差网络环境下的音视频表现:
class TRTCRenderParams |
属性 | |
TRTCVideoRotation | rotation |
TRTCVideoFillMode | fillMode |
TRTCVideoMirrorType | mirrorType |
|
readwritenonatomicassign |
【字段含义】画面填充模式
【推荐取值】填充(画面可能会被拉伸裁剪)或适应(画面可能会有黑边),默认值:TRTCVideoFillMode_Fill
|
readwritenonatomicassign |
【字段含义】画面镜像模式
【推荐取值】默认值:TRTCVideoMirrorType_Auto
|
readwritenonatomicassign |
【字段含义】图像的顺时针旋转角度
【推荐取值】支持90、180以及270旋转角度,默认值:TRTCVideoRotation_0
class TRTCQualityInfo |
属性 | |
NSString * | userId |
TRTCQuality | quality |
|
readwritenonatomicassign |
网络质量
|
readwritenonatomiccopy |
用户 ID
class TRTCVolumeInfo |
class TRTCSpeedTestParams |
属性 | |
uint32_t | sdkAppId |
NSString * | userId |
NSString * | userSig |
NSInteger | expectedUpBandwidth |
NSInteger | expectedDownBandwidth |
|
readwritenonatomicassign |
预期的下行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)。
|
readwritenonatomicassign |
预期的上行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)。
|
readwritenonatomicassign |
应用标识,请参考 TRTCParams 中的相关说明。
|
readwritenonatomiccopy |
用户标识,请参考 TRTCParams 中的相关说明。
|
readwritenonatomiccopy |
用户签名,请参考 TRTCParams 中的相关说明。
class TRTCSpeedTestResult |
属性 | |
BOOL | success |
NSString * | errMsg |
NSString * | ip |
TRTCQuality | quality |
float | upLostRate |
float | downLostRate |
uint32_t | rtt |
NSInteger | availableUpBandwidth |
NSInteger | availableDownBandwidth |
|
readwritenonatomicassign |
下行带宽(kbps,-1:无效值)。
|
readwritenonatomicassign |
上行带宽(kbps,-1:无效值)。
|
readwritenonatomicassign |
下行丢包率,取值范围是 [0 - 1.0],例如 0.2 表示每从服务器收取 10 个数据包可能会在中途丢失 2 个。
|
readwritenonatomiccopy |
带宽测试错误信息。
|
readwritenonatomiccopy |
服务器 IP 地址。
|
readwritenonatomicassign |
内部通过评估算法测算出的网络质量,更多信息请参见 TRTCQuality。
|
readwritenonatomicassign |
延迟(毫秒),指当前设备到 TRTC 服务器的一次网络往返时间,该值越小越好,正常数值范围是10ms - 100ms。
|
readwritenonatomicassign |
测试是否成功。
|
readwritenonatomicassign |
上行丢包率,取值范围是 [0 - 1.0],例如 0.3 表示每向服务器发送 10 个数据包可能会在中途丢失 3 个。
class TRTCVideoFrame |
属性 | |
TRTCVideoPixelFormat | pixelFormat |
TRTCVideoBufferType | bufferType |
CVPixelBufferRef | pixelBuffer |
NSData * | data |
GLuint | textureId |
uint32_t | width |
uint32_t | height |
uint64_t | timestamp |
TRTCVideoRotation | rotation |
|
readwritenonatomicassign |
【字段含义】视频数据结构类型
|
readwritenonatomicretain |
【字段含义】bufferType 为 TRTCVideoBufferType_NSData 时的视频数据,承载 NSData 类型的内存数据块。
|
readwritenonatomicassign |
【字段含义】视频高度
|
readwritenonatomicassign |
【字段含义】bufferType 为 TRTCVideoBufferType_PixelBuffer 时的视频数据,承载 iOS 平台专用的 PixelBuffer。
|
readwritenonatomicassign |
【字段含义】视频的像素格式
|
readwritenonatomicassign |
【字段含义】视频像素的顺时针旋转角度
|
readwritenonatomicassign |
【字段含义】视频纹理 ID,bufferType 为 TRTCVideoBufferType_Texture 时的视频数据,承载用于 OpenGL 渲染的纹理数据。
|
readwritenonatomicassign |
【字段含义】视频帧的时间戳,单位毫秒
【推荐取值】自定义视频采集时可以设置为0。若该参数为0,SDK 会自定填充 timestamp 字段,但请“均匀”地控制 sendCustomVideoData 的调用间隔。
|
readwritenonatomicassign |
【字段含义】视频宽度
class TRTCAudioFrame |
属性 | |
NSData * | data |
TRTCAudioSampleRate | sampleRate |
int | channels |
uint64_t | timestamp |
NSData * | extraData |
|
readwritenonatomicassign |
【字段含义】声道数
|
readwritenonatomicretain |
【字段含义】音频数据
|
readwritenonatomicretain |
【字段含义】音频额外数据,远端用户通过 onLocalProcessedAudioFrame
写入的数据会通过该字段回调
|
readwritenonatomicassign |
【字段含义】采样率
|
readwritenonatomicassign |
【字段含义】时间戳,单位ms
class TRTCMixUser |
属性 | |
NSString * | userId |
NSString * | roomID |
CGRect | rect |
int | zOrder |
TRTCVideoStreamType | streamType |
BOOL | pureAudio |
TRTCMixInputType | inputType |
int | renderMode |
NSString * | image |
|
readwritenonatomiccopy |
【字段含义】占位图或水印图
|
readwritenonatomicassign |
【字段含义】指定该路流的混合内容(只混音频、只混视频、混合音视频、混入水印)
【默认取值】默认值:TRTCMixInputTypeUndefined
【特别说明】
|
readwritenonatomicassign |
【字段含义】指定该路流是不是只混合声音
【推荐取值】默认值:NO
【特别说明】已废弃,推荐使用8.5版本开始新引入的字段:inputType。
|
readwritenonatomicassign |
【字段含义】指定该路画面的坐标区域(单位:像素)
|
readwritenonatomicassign |
【字段含义】该画面在输出时的显示模式
【推荐取值】默认值:视频流默认为0。0为裁剪,1为缩放,2为缩放并显示黑底。
【特别说明】水印图和占位图暂时不支持设置 renderMode,默认强制拉伸处理
|
readwritenonatomiccopy |
【字段含义】该路音视频流所在的房间号(设置为空值代表当前用户所在的房间号)
|
readwritenonatomicassign |
【字段含义】指定该路画面是主路画面(TRTCVideoStreamTypeBig)还是辅路画面(TRTCVideoStreamTypeSub)。
|
readwritenonatomiccopy |
【字段含义】用户 ID
|
readwritenonatomicassign |
【字段含义】指定该路画面的层级(取值范围:1 - 15,不可重复)
class TRTCTranscodingConfig |
属性 | |
TRTCTranscodingConfigMode | mode |
int | appId |
int | bizId |
int | videoWidth |
int | videoHeight |
int | videoBitrate |
int | videoFramerate |
int | videoGOP |
int | backgroundColor |
NSString * | backgroundImage |
int | audioSampleRate |
int | audioBitrate |
int | audioChannels |
int | audioCodec |
NSArray< TRTCMixUser * > * | mixUsers |
NSString * | streamId |
|
readwritenonatomicassign |
【字段含义】腾讯云直播服务的 AppID
【推荐取值】请在 实时音视频控制台 依次单击【应用管理】=>【应用信息】,并在【旁路直播信息】中获取 appid。
|
readwritenonatomicassign |
【字段含义】指定云端转码的目标音频码率
【推荐取值】默认值:64kbps,取值范围是 [32,192]。
|
readwritenonatomicassign |
【字段含义】指定云端转码的音频声道数
【推荐取值】默认值:1,代表单声道。可设定的数值只有两个数字:1-单声道,2-双声道。
|
readwritenonatomicassign |
【字段含义】指定云端转码的输出流音频编码类型
【推荐取值】默认值: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 上时才生效。
|
readwritenonatomicassign |
【字段含义】指定云端转码的目标音频采样率
【推荐取值】默认值:48000Hz。支持12000HZ、16000HZ、22050HZ、24000HZ、32000HZ、44100HZ、48000HZ。
|
readwritenonatomicassign |
【字段含义】指定混合画面的底色颜色
【推荐取值】默认值:0x000000 代表黑色。格式为十六进制数字,比如:“0x61B9F1” 代表 RGB 分别为(97,158,241)。
|
readwritenonatomiccopy |
【字段含义】指定混合画面的背景图片
【推荐取值】默认值:空值,即不设置背景图片。
【特别说明】
|
readwritenonatomicassign |
【字段含义】腾讯云直播服务的 bizid
【推荐取值】请在 实时音视频控制台 依次单击【应用管理】=>【应用信息】,并在【旁路直播信息】中获取 bizid。
|
readwritenonatomiccopy |
【字段含义】指定云端混流中每一路视频画面的位置、大小、图层以及流类型等信息
【推荐取值】该字段是一个 TRTCMixUser 类型的数组,数组中的每一个元素都用来代表每一路画面的信息。
|
readwritenonatomicassign |
【字段含义】排版模式
【推荐取值】请根据您的业务场景要求自行选择,预排版模式是适用性较好的一种模式。
|
readwritenonatomiccopy |
【字段含义】输出到 CDN 上的直播流 ID
【推荐取值】默认值:空值,即房间里的多路音视频流最终会混合到接口调用者的那一路音视频流上。
|
readwritenonatomicassign |
【字段含义】指定云端转码的目标视频码率(kbps)
【推荐取值】如果填0,TRTC 会根据 videoWidth 和 videoHeight 估算出一个合理的码率值,您也可以参考视频分辨率枚举定义中所推荐的码率值(见注释部分)。
|
readwritenonatomicassign |
【字段含义】指定云端转码的目标视频帧率(FPS)
【推荐取值】默认值:15fps,取值范围是 (0,30]。
|
readwritenonatomicassign |
【字段含义】指定云端转码的目标视频关键帧间隔(GOP)
【推荐取值】默认值:2,单位为秒,取值范围是 [1,8]。
|
readwritenonatomicassign |
【字段含义】指定云端转码的目标分辨率(高度)
【推荐取值】单位:像素值,推荐值:640,如果你只混合音频流,请将 width 和 height 均设置位 0,否则混流转码后的直播流中会有黑色背景。
|
readwritenonatomicassign |
【字段含义】指定云端转码的目标分辨率(宽度)
【推荐取值】单位:像素值,推荐值:360,如果你只混合音频流,请将 width 和 height 均设置位 0,否则混流转码后的直播流中会有黑色背景。
class TRTCPublishCDNParam |
属性 | |
int | appId |
int | bizId |
NSString * | url |
NSString * | streamId |
|
readwritenonatomicassign |
【字段含义】腾讯云直播服务的 AppID
【推荐取值】请在 实时音视频控制台 依次单击【应用管理】=>【应用信息】,并在【旁路直播信息】中获取 appid。
|
readwritenonatomicassign |
【字段含义】腾讯云直播服务的 bizid
【推荐取值】请在 实时音视频控制台 依次单击【应用管理】=>【应用信息】,并在【旁路直播信息】中获取 bizid。
|
readwritenonatomicstrong |
【字段含义】需要转推的 streamId
【推荐取值】默认值:空值。如果不填写,则默认转推调用者的旁路流。
|
readwritenonatomicstrong |
【字段含义】指定该路音视频流在第三方直播服务商的推流地址(RTMP 格式)
【推荐取值】各家服务商的推流地址规则差异较大,请根据目标服务商的要求填写合法的推流 URL,TRTC 的后台服务器会按照您填写的 URL 向第三方服务商推送标准格式音视频流。
【特别说明】推流 URL 必须为 RTMP 格式,必须符合您的目标直播服务商的规范要求,否则目标服务商会拒绝来自 TRTC 后台服务的推流请求。
class TRTCAudioRecordingParams |
属性 | |
NSString * | filePath |
TRTCAudioRecordingContent | recordingContent |
|
readwritenonatomicstrong |
【字段含义】录音文件的保存路径(必填)。
【特别说明】该路径需精确到文件名及格式后缀,格式后缀用于决定录音文件的格式,目前支持的格式有 PCM、WAV 和 AAC。 例如:假如您指定路径为 "mypath/record/audio.aac",代表您希望 SDK 生成一个 AAC 格式的音频录制文件。 请您指定一个有读写权限的合法路径,否则录音文件无法生成。
|
readwritenonatomicassign |
【字段含义】音频录制内容类型。
【特别说明】默认录制所有本地和远端音频。
class TRTCLocalRecordingParams |
属性 | |
NSString * | filePath |
TRTCRecordType | recordType |
int | interval |
|
readwritenonatomiccopy |
【字段含义】录制的文件地址(必填),请确保路径有读写权限且合法,否则录制文件无法生成。
【特别说明】该路径需精确到文件名及格式后缀,格式后缀用于决定录制出的文件格式,目前支持的格式暂时只有 MP4。 例如:假如您指定路径为 "mypath/record/test.mp4",代表您希望 SDK 生成一个 MP4 格式的本地视频文件。 请您指定一个有读写权限的合法路径,否则录制文件无法生成。
|
readwritenonatomicassign |
【字段含义】interval 录制信息更新频率,单位毫秒,有效范围:1000-10000。默认值为-1,表示不回调。
|
readwritenonatomicassign |
【字段含义】媒体录制类型,默认值:TRTCRecordTypeBoth,即同时录制音频和视频。
class TRTCAudioEffectParam |
构造函数 | |
(_Nonnull instancetype) | - init |
(_Nonnull instancetype) | - initWith:path: |
类方法 | |
(_Nonnull instancetype) | + new |
属性 | |
int | effectId |
NSString * | path |
int | loopCount |
BOOL | publish |
int | volume |
- (_Nonnull instancetype) init |
- (_Nonnull instancetype) initWith: | (int) | effectId | |
path: | (NSString *_Nonnull) | path | |
+ (_Nonnull instancetype) new |
|
readwritenonatomicassign |
【字段含义】音效 ID
【特别说明】SDK 允许播放多路音效,因此需要音效 ID 进行标记,用于控制音效的开始、停止、音量等。
|
readwritenonatomicassign |
【字段含义】循环播放次数
【推荐取值】取值范围为0 - 任意正整数,默认值:0,表示播放音效一次;1表示播放音效两次;以此类推。
|
readwritenonatomiccopy |
【字段含义】音效文件路径,支持的文件格式:aac, mp3, m4a。
|
readwritenonatomicassign |
【字段含义】音效是否上行
【推荐取值】YES:音效在本地播放的同时,会上行至云端,因此远端用户也能听到该音效;NO:音效不会上行至云端,因此只能在本地听到该音效。默认值:NO
|
readwritenonatomicassign |
【字段含义】音效音量
【推荐取值】取值范围为0 - 100;默认值:100
class TRTCSwitchRoomConfig |
属性 | |
UInt32 | roomId |
NSString * | strRoomId |
NSString * | userSig |
NSString * | privateMapKey |
|
readwritenonatomiccopy |
【字段含义】用于权限控制的权限票据(选填),当您希望某个房间只能让特定的 userId 进入时,需要使用 privateMapKey 进行权限保护。
【推荐取值】仅建议有高级别安全需求的客户使用,更多详情请参见 进房权限保护。
|
readwritenonatomicassign |
【字段含义】数字房间号码 [选填],在同一个房间内的用户可以看到彼此并能够进行音视频通话。
【推荐取值】取值范围:1 - 4294967294。
【特别说明】roomId 和 strRoomId 必须并且只能填一个。若两者都填,则优先选择 roomId。
|
readwritenonatomiccopy |
【字段含义】字符串房间号码 [选填],在同一个房间内的用户可以看到彼此并能够进行音视频通话。
【特别说明】roomId 和 strRoomId 必须并且只能填一个。若两者都填,则优先选择 roomId。
|
readwritenonatomiccopy |
【字段含义】用户签名 [选填],当前 userId 对应的验证签名,相当于登录密码。 如果您在切换房间时不指定新计算出的 userSig,SDK 会继续使用您在进入房间时(enterRoom)时所指定的 userSig。 这就需要您必须保证旧的 userSig 在切换房间的那一刻仍在签名允许的效期内,否则会导致房间切换失败。
【推荐取值】具体计算方法请参考 如何计算UserSig。
class TRTCAudioFrameDelegateFormat |
属性 | |
TRTCAudioSampleRate | sampleRate |
int | channels |
int | samplesPerCall |
|
readwritenonatomicassign |
【字段含义】声道数
【推荐取值】默认值:1,代表单声道。可设定的数值只有两个数字:1-单声道,2-双声道。
|
readwritenonatomicassign |
【字段含义】采样率
【推荐取值】默认值:48000Hz。支持 16000, 32000, 44100, 48000。
|
readwritenonatomicassign |
【字段含义】采样点数
【推荐取值】取值必须是 sampleRate/100 的整数倍。
class TRTCScreenCaptureSourceInfo |
属性 | |
TRTCScreenCaptureSourceType | type |
NSString * | sourceId |
NSString * | sourceName |
NSDictionary * | extInfo |
NSImage * | thumbnail |
NSImage * | icon |
|
readwritenonatomicstrong |
【字段含义】窗口的扩展信息
|
readnonatomicassign |
【字段含义】分享窗口的图标
|
readwritenonatomiccopy |
【字段含义】采集源的ID,对于窗口,该字段代表窗口的 ID;对于屏幕,该字段代表显示器的 ID。
|
readwritenonatomiccopy |
【字段含义】采集源名称(采用 UTF8 编码)
|
readnonatomicassign |
【字段含义】分享窗口的缩略图
|
readwritenonatomicassign |
【字段含义】采集源类型(是分享整个屏幕?还是分享某个窗口?)
class TRTCAudioParallelParams |
属性 | |
UInt32 | maxCount |
NSArray< NSString * > * | includeUsers |
|
readwritenonatomicstrong |
【字段含义】指定用户必定能并发播放。
【特殊说明】指定必定并发播放的用户 ID 列表。这些用户不参与智能选择。 includeUsers 的数量必须小于 maxCount,否则本次并发播放设置失效。 includeUsers 仅在 maxCount > 0 时有效。当 includeUsers 生效时,参与智能并发选择的最大播放数 = maxCount - 有效 includeUsers 的数量。
|
readwritenonatomicassign |
【字段含义】最大并发播放数。默认值:0 如果 maxCount > 0,且实际人数 > maxCount,会实时智能选出 maxCount 路数据进行播放,这会极大的降低性能消耗。 如果 maxCount = 0,SDK 不限制并发播放数,在上麦人数比较多的房间可能会引发性能问题。
typedef TXMediaDeviceInfo TRTCMediaDeviceInfo |
typedef NSEdgeInsets TXEdgeInsets |
typedef NSImage TXImage |
typedef NSView TXView |
[VIEW] 用于渲染视频画面的渲染控件
TRTC 中有很多需要操控视频画面的接口,这些接口都需要您指定视频渲染控件。
UIView *videoView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 360, 640)]; [self.view addSubview:videoView]; [trtcCloud startLocalPreview:YES view:_localView];
enum TRTCAppScene : NSInteger |
应用场景
TRTC 针对常见的音视频应用场景都进行了定向优化,以满足各种垂直场景下的差异化要求,主要场景可以分为如下两类:
enum TRTCAudioQuality : NSInteger |
声音音质
TRTC 提供了三种精心校调好的模式,用来满足各种垂直场景下对音质的差异化追求:
enum TRTCAudioRecordingContent : NSUInteger |
音频录制内容类型
该枚举类型用于音频录制接口startAudioRecording,用于指定录制音频的内容。
枚举值 | |
---|---|
TRTCAudioRecordingContentAll | 录制本地和远端所有音频 |
TRTCAudioRecordingContentLocal | 仅录制本地音频 |
TRTCAudioRecordingContentRemote | 仅录制远端音频 |
enum TRTCAudioRoute : NSInteger |
音频路由(即声音的播放模式)
音频路由,即声音是从手机的扬声器还是从听筒中播放出来,因此该接口仅适用于手机等移动端设备。 手机有两个扬声器:一个是位于手机顶部的听筒,一个是位于手机底部的立体声扬声器。
枚举值 | |
---|---|
TRTCAudioModeSpeakerphone | Speakerphone:使用扬声器播放(即“免提”),扬声器位于手机底部,声音偏大,适合外放音乐。 |
TRTCAudioModeEarpiece | Earpiece:使用听筒播放,听筒位于手机顶部,声音偏小,适合需要保护隐私的通话场景。 |
enum TRTCAudioSampleRate : NSInteger |
enum TRTCAVStatusChangeReason : NSUInteger |
视频状态变化原因类型
该枚举类型用于视频状态变化回调接口onRemoteVideoStatusUpdated,用于指定当前的视频状态原因。
enum TRTCAVStatusType : NSUInteger |
视频状态类型
该枚举类型用于视频状态变化回调接口onRemoteVideoStatusUpdated,用于指定当前的视频状态。
枚举值 | |
---|---|
TRTCAVStatusStopped | 停止播放 |
TRTCAVStatusPlaying | 正在播放 |
TRTCAVStatusLoading | 正在加载 |
enum TRTCBeautyStyle : NSInteger |
enum TRTCGSensorMode : NSInteger |
重力感应开关(仅适用于移动端)
enum TRTCLocalVideoMirrorType : NSUInteger |
enum TRTCLogLevel : NSInteger |
Log 级别
不同的日志等级定义了不同的详实程度和日志数量,推荐一般情况下将日志等级设置为:TRTCLogLevelInfo。
enum TRTCMediaDeviceType : NSInteger |
设备类型(仅适用于桌面平台)
该枚举值用于定义三种类型的音视频设备,即摄像头、麦克风和扬声器,以便让一套设备管理接口可以操控三种不同类型的设备。 自 Ver8.0 版本开始,TRTC 在 TXDeviceManager 中重新定义了 “TXMediaDeviceType” 用于替换老版本中的 “TRTCMediaDeviceType”, 此处仅保留 “TRTCMediaDeviceType” 的定义,用于兼容老版本的客户代码。
enum TRTCMixInputType : NSUInteger |
enum TRTCQosControlMode : NSInteger |
enum TRTCQuality : NSInteger |
enum TRTCRecordType : NSUInteger |
媒体录制类型
该枚举类型用于本地媒体录制接口startLocalRecording,用于指定是录制音视频文件还是纯音频文件。
枚举值 | |
---|---|
TRTCRecordTypeAudio | 仅录制音频 |
TRTCRecordTypeVideo | 仅录制视频 |
TRTCRecordTypeBoth | 同时录制音频和视频 |
enum TRTCReverbType : NSInteger |
enum TRTCRoleType : NSInteger |
角色
仅适用于直播类场景(即 TRTCAppSceneLIVE 和 TRTCAppSceneVoiceChatRoom),把用户区分成两种不同的身份:
枚举值 | |
---|---|
TRTCRoleAnchor | 主播:可以随时发布自己的音视频流,但人数有限制,同一个房间中最多只允许 50 个主播同时发布自己的音视频流。 |
TRTCRoleAudience | 观众:只能观看其他用户的音视频流,要发布音视频流,需要先通过 switchRole 切换成主播,同一个房间中最多能容纳10万观众。 |
enum TRTCScreenCaptureSourceType : NSInteger |
enum TRTCSnapshotSourceType : NSUInteger |
enum TRTCSystemVolumeType : NSInteger |
系统音量类型(仅适用于移动设备)
现代智能手机中一般都具备两套系统音量类型,即“通话音量”和“媒体音量”。
enum TRTCTranscodingConfigMode : NSInteger |
云端混流的排版模式
TRTC 的云端混流服务能够将房间中的多路音视频流混合成一路,因此您需要指定画面的排版方案,我们提供了如下几种排版模式:
enum TRTCVideoBufferType : NSInteger |
视频数据传递方式
在自定义采集和自定义渲染功能,您需要用到下列枚举值来指定您希望以什么方式传递视频数据:
enum TRTCVideoFillMode : NSInteger |
enum TRTCVideoMirrorType : NSUInteger |
enum TRTCVideoPixelFormat : NSInteger |
视频像素格式
TRTC 提供针对视频的自定义采集和自定义渲染功能:
enum TRTCVideoQosPreference : NSInteger |
enum TRTCVideoResolution : NSInteger |
视频分辨率
此处仅定义横屏分辨率(如 640 × 360),如需使用竖屏分辨率(如360 × 640),需要同时指定 TRTCVideoResolutionMode 为 Portrait。
enum TRTCVideoResolutionMode : NSInteger |
视频宽高比模式
TRTCVideoResolution 中仅定义了横屏分辨率(如 640 × 360),如需使用竖屏分辨率(如360 × 640),需要同时指定 TRTCVideoResolutionMode 为 Portrait。
enum TRTCVideoRotation : NSInteger |
enum TRTCVideoStreamType : NSInteger |
视频流类型
TRTC 内部有三种不同的视频流,分别是:
enum TRTCVoiceChangerType : NSInteger |
变声类型
该枚举值应用于设定直播场景中的变声模式,常用于秀场直播中。