概览

最近更新时间:2019-03-11 17:27:05

查看pdf

ITRTCCloud @ TXLiteAVSDK

腾讯云视频通话功能的主要接口类。

创建与销毁

API 描述
getTRTCShareInstance 创建 TRTCCloud 单例
destroyTRTCShareInstance 释放 ITRTCCloud 单例对象

设置 TRTCCloudCallback 回调

API 描述
addCallback 添加事件回调
removeCallback 移除事件回调

房间相关接口函数

API 描述
enterRoom 进入房间
exitRoom 退出房间
connectOtherRoom 开启跨房连麦
disconnectOtherRoom 关闭跨房连麦

视频相关接口函数

API 描述
startLocalPreview 启动本地摄像头采集和预览
stopLocalPreview 关闭本地摄像头采集和预览
startRemoteView 启动渲染远端用户视频画面
stopRemoteView 停止渲染远端用户画面
stopAllRemoteView 停止渲染所有远端用户画面,如果有屏幕分享,则屏幕分享的画面也会一并被关闭
muteLocalVideo 是否屏蔽本地视频
setVideoEncoderParam 设置视频编码器相关参数,该设置决定了远端用户看到的画面质量(同时也是云端录制出的视频文件的画面质量)
setNetworkQosParam 设置网络流控相关参数,该设置决定了 SDK 在各种网络环境下的调控策略(比如弱网下是“保清晰”还是“保流畅”)
setLocalViewFillMode 设置本地图像的渲染模式
setRemoteViewFillMode 设置远端图像的渲染模式
setLocalViewRotation 设置本地图像的顺时针旋转角度
setRemoteViewRotation 设置远端图像的顺时针旋转角度
setVideoEncoderRotation 设置视频编码输出的(也就是远端用户观看到的,以及服务器录制下来的)画面方向
enableSmallVideoStream 开启大小画面双路编码模式
setRemoteVideoStreamType 选择某一路的画面质量:当网络不好时可以切换到低清晰度的小画面
setPriorRemoteVideoStreamType 设定观看方优先选择的视频质量
setLocalVideoMirror 设置摄像头本地预览是否开镜像

音频相关接口函数

API 描述
startLocalAudio 开启本地音频流,该函数会启动麦克风采集,并将音频数据广播给房间里的其他用户
stopLocalAudio 关闭本地音频流
muteLocalAudio 是否屏蔽本地音频
muteRemoteAudio 屏蔽指定远端音频
muteAllRemoteAudio 远端所有用户全部静音
enableAudioVolumeEvaluation 启用或关闭音量大小提示

摄像头相关接口函数

API 描述
getCameraDevicesList 查询摄像头列表
setCurrentCameraDevice 设置要使用的摄像头
getCurrentCameraDevice 获取当前使用的摄像头

音频设备相关接口函数

API 描述
getMicDevicesList 查询麦克风列表
setCurrentMicDevice 选择指定的麦克风作为录音设备,不调用该接口时,默认选择索引为0的麦克风
getCurrentMicDevice 获取当前选择的麦克风
getCurrentMicDeviceVolume 查询已选择麦克风的音量
setCurrentMicDeviceVolume 设置已选择麦克风的音量
getSpeakerDevicesList 查询扬声器列表
setCurrentSpeakerDevice 选择指定的扬声器作为音频播放的设备,不调用该接口时,默认选择索引为0的扬声器
getCurrentSpeakerDevice 获取已选择的扬声器
getCurrentSpeakerVolume 查询已选择扬声器的音量,注意:查询的不是系统扬声器的音量大小
setCurrentSpeakerVolume 设置 SDK 播放的音量,注意:设置的不是系统扬声器的音量大小

美颜相关接口函数

API 描述
setBeautyStyle 设置美颜、美白、红润
setWaterMark 设置水印

辅流相关接口函数

API 描述
startRemoteSubStreamView 开始渲染远端用户辅流画面,对应于 startRemoteView() 用于观看远端的主路画面,该接口只能用于观看辅路(屏幕分享、远程播片)画面
stopRemoteSubStreamView 停止渲染远端用户辅流画面
setRemoteSubStreamViewFillMode 设置辅流画面的渲染模式对应于setRemoteViewFillMode() 于设置远端的主路画面,该接口用于设置远端的辅路(屏幕分享、远程播片)画面
getScreenCaptureSources 【屏幕共享】枚举可共享的窗口列表,列表通过出参 sourceInfoList 返回
selectScreenCaptureTarget 【屏幕共享】选择要分享的目标窗口或目标区域
startScreenCapture 【屏幕共享】启动屏幕分享
pauseScreenCapture 【屏幕共享】暂停屏幕分享
resumeScreenCapture 【屏幕共享】恢复屏幕分享
stopScreenCapture 【屏幕共享】关闭屏幕分享
setSubStreamEncoderParam 设置辅路视频编码器参数,对应于 setVideoEncoderParam() 设置主路画面的编码质量 该设置决定了远端用户看到的画面质量(同时也是云端录制出的视频文件的画面质量)
setSubStreamMixVolume 设置辅流的混音音量大小,这个数值越高,辅流音量占比就约高,麦克风音量占比就越小

自定义采集和渲染

API 描述
enableCustomVideoCapture 启用视频自定义采集模式,即放弃 SDK 原来的视频采集流程,改用 sendCustomVideoData 向 SDK 塞入自己采集的视频画面
sendCustomVideoData 发送自定义的SampleBuffer
setLocalVideoRenderCallback 设置本地视频自定义渲染
setRemoteVideoRenderCallback 设置远端视频自定义渲染
setAudioFrameCallback 设置音频数据的相关回调
callExperimentalAPI 调用实验性 API 接口

自定义消息发送

API 描述
sendCustomCmdMsg 发送自定义消息给房间内所有用户
sendSEIMsg 发送自定义消息给房间内所有用户

背景混音相关接口函数

API 描述
playBGM 播放背景音乐
stopBGM 停止播放背景音乐
pauseBGM 暂停播放背景音乐
resumeBGM 继续播放背景音乐
getBGMDuration 获取音乐文件总时长,单位毫秒
setBGMPosition 设置 BGM 播放进度
setMicVolumeOnMixing 设置麦克风的音量大小,播放背景音乐混音时使用,用来控制麦克风音量大小
setBGMVolume 设置背景音乐的音量大小,播放背景音乐混音时使用,用来控制背景音音量大小

设备和网络测试

API 描述
startSpeedTest 开始进行网络测速(视频通话期间请勿测试,以免影响通话质量)
stopSpeedTest 停止服务器测速
startCameraDeviceTest 开启摄像头测试,会触发 onLocalVideoFrameAfterProcess 回调接口
stopCameraDeviceTest 停止摄像头测试
startMicDeviceTest 开启麦克风测试,回调接口 onTestMicVolume 获取测试数据
stopMicDeviceTest 关闭麦克风测试
startSpeakerDeviceTest 开启扬声器测试,回调接口 onTestSpeakerVolume 获取测试数据
stopSpeakerDeviceTest 停止扬声器测试

混流转码并发布到CDN

API 描述
startPublishCDNStream 启动 CDN 发布:通过腾讯云将当前房间的音视频流发布到直播 CDN 上
stopPublishCDNStream 停止 CDN 发布
setMixTranscodingConfig 启动(更新)云端的混流转码:通过腾讯云的转码服务,将房间里的多路画面叠加到一路画面上

LOG 相关接口函数

API 描述
getSDKVersion 获取 SDK 版本信息
setLogLevel 设置 Log 输出级别
setConsoleEnabled 启用或禁用控制台日志打印
setLogCompressEnabled 启用或禁用 Log 的本地压缩
setLogDirPath 设置日志保存路径
setLogCallback 设置日志回调
showDebugView 显示仪表盘(状态统计和事件消息浮层 view),方便调试

TRTCCloudCallback @ TXLiteAVSDK

腾讯云视频通话功能的回调接口类。

ITRTCCloudCallback

通用事件回调

API 描述
onError 错误回调,SDK 不可恢复的错误,一定要监听,并分情况给用户适当的界面提示
onWarning 警告回调

房间事件回调

API 描述
onEnterRoom 进房成功通知
onExitRoom 退房通知
onConnectOtherRoom 跨房连麦成功回调
onDisconnectOtherRoom 断开跨房连麦回调

成员事件回调

API 描述
onUserEnter userid 对应的成员的进房通知,您可以在这个回调中调用 startRemoteView 显示该 userid 的视频画面
onUserExit userid 对应的成员的退房通知,您可以在这个回调中调用 stopRemoteView 关闭该 userid 的视频画面
onUserVideoAvailable userid 对应的远端主路(即摄像头)画面的状态通知
onUserSubStreamAvailable userid 对应的远端辅路(屏幕分享等)画面的状态通知
onUserAudioAvailable userid 对应的远端声音的状态通知
onUserVoiceVolume userid 对应的成员语音音量,通过调用 TRTCCloud enableAudioVolumeEvaluation 来触发这个回调

统计和质量回调

API 描述
onNetworkQuality 网络质量:该回调每2秒触发一次,统计当前网络的上行和下行质量
onStatistics 技术指标统计回调,每2秒回调一次

音视频事件回调

API 描述
onFirstVideoFrame 首帧视频画面到达,界面此时可以结束 loading,并开始显示视频画面
onFirstAudioFrame 首帧音频数据到达
onPlayBGMBegin 开始播放背景音乐
onPlayBGMProgress 播放背景音乐的进度
onPlayBGMComplete 播放背景音乐结束

服务器事件回调

API 描述
onConnectionLost SDK 跟服务器的连接断开
onTryToReconnect SDK 尝试重新连接到服务器
onConnectionRecovery SDK 跟服务器的连接恢复
onSpeedTest 服务器测速的回调,SDK 对多个服务器 IP 做测速,每个 IP 的测速结果通过这个回调通知

硬件设备事件回调

API 描述
onCameraDidReady 摄像头准备就绪,表示摄像头打开成功,如果打开失败,在 onError 中通知
onMicDidReady 麦克风准备就绪
onDeviceChange 设备事件的回调
onTestMicVolume 麦克风测试音量回调,麦克风测试接口 startMicDeviceTest 会触发这个回调
onTestSpeakerVolume 扬声器测试音量回调,扬声器测试接口 startSpeakerDeviceTest 会触发这个回调

自定义消息的接收回调

API 描述
onRecvCustomCmdMsg 当房间中的某个用户使用 sendCustomCmdMsg 发送自定义消息时,房间中的其它用户可以通过 onRecvCustomCmdMsg 接口接收消息
onMissCustomCmdMsg TRTC 所使用的传输通道为 UDP 通道,所以即使设置了 reliable,也做不到100不丢失,只是丢消息概率极低,能满足常规可靠性要求。
onRecvSEIMsg 当房间中的某个用户使用 sendSEIMsg 发送数据时,房间中的其它用户可以通过 onRecvSEIMsg 接口接收数据

旁路转推和混流回调

API 描述
onStartPublishCDNStream 旁路推流到 CDN 的回调,对应于 TRTCCloud 的 startPublishCDNStream() 接口
onStopPublishCDNStream 接口 stopPublishCDNStream 的状态回调

屏幕分享回调

API 描述
onScreenCaptureCovered 当屏幕分享窗口被遮挡无法正常捕获时,SDK 会通过此回调通知,可在此回调里通知用户移开遮挡窗口
onScreenCaptureStarted 当屏幕分享开始时,SDK 会通过此回调通知
onScreenCapturePaused 当屏幕分享暂停时,SDK 会通过此回调通知
onScreenCaptureResumed 当屏幕分享恢复时,SDK 会通过此回调通知
onScreenCaptureStoped 当屏幕分享停止时,SDK 会通过此回调通知

ITRTCVideoRenderCallback

自定义视频的渲染回调

API 描述
onRenderVideoFrame 可以通过 setLocalVideoRenderCallback 和 setRemoteVideoRenderCallback 接口设置自定义渲染回调

ITRTCAudioFrameCallback

请按需定义相关函数实现,减少不必要的性能损耗

自定义音频回调

API 描述
onCapturedAudioFrame 本机采集到的声音回调
onPlayAudioFrame 混音前的每一路声音(比如您要对某一路的语音进行文字转换,必须要使用这里的数据,混音后的数据不适合用于语音识别)
onMixedPlayAudioFrame 经过混合后的声音

ITRTCLogCallback

Log 信息回调

API 描述
onLog 日志回调

其他API对象

TRTCParams

编码参数。
作为 TRTC SDK 的进房参数,只有该参数填写正确,才能顺利进入 roomId 制定的视频房间。

属性 类型 描述
sdkAppId uint32_t 应用标识 - [必填] - 腾讯视频云基于 sdkAppId 完成计费统计
roomId uint32_t 房间号码 [必填] 指定房间号,在同一个房间里的用户(userId)可以彼此看到对方并进行视频通话
userId const char * 用户标识 - [必填] - 当前用户的 userid,相当于用户名,UTF-8 编码
userSig const char * 用户签名 - [必填] - 当前 userId 对应的验证签名,相当于登录密码
privateMapKey const char * 房间签名 - [非必选] - 如果您希望某个房间(roomId)只让特定的某些用户(userId)才能进入,就需要使用 privateMapKey 进行权限保护
businessInfo const char * 业务数据 - [非必选] - 某些非常用的高级特性才需要用到此字段

TRTCVideoEncParam

编码参数。
视频编码器相关参数,该设置决定了远端用户看到的画面质量(同时也是云端录制出的视频文件的画面质量)。

属性 类型 描述
videoResolution TRTCVideoResolution 视频分辨率
resMode TRTCVideoResolutionMode 分辨率模式(横屏分辨率 - 竖屏分辨率)
videoFps uint32_t 视频采集帧率,摄像头采集时推荐设置为15fps或20fps,10fps以下会有明显的卡顿感,20fps以上则没有必要。屏幕采集时推荐设置为10fps或15fps
videoBitrate uint32_t 视频上行码率

TRTCNetworkQosParam

网络流控相关参数。

网络流控相关参数,该设置决定了 SDK 在各种网络环境下的调控方向(比如弱网下是“保清晰”还是“保流畅”)。

属性 类型 描述
preference TRTCVideoQosPreference 弱网下是“保清晰”还是“保流畅”
controlMode TRTCQosControlMode 视频分辨率(云端控制 - 客户端控制)

TRTCVolumeInfo

表示语音音量的评估大小,通过这个数值,您可以在 UI 界面上用图标表征 userId 是否有在说话。

属性 类型 描述
userId const char * 说话者的userId,字符编码格式是 UTF-8
volume uint32_t 说话者的音量,取值范围0 - 100

TRTCQualityInfo

音量大小。
表示视频质量的好坏,通过这个数值,您可以在 UI 界面上用图标表征 userId 的通话线路质量。

属性 类型 描述
userId const char * 用户标识
quality TRTCQuality 视频质量

TRTCSpeedTestResult

网络测速结果。
您可以在用户进入房间前通过 TRTCCloud 的 startSpeedTest 接口进行测速 (注意:请不要在通话中调用)。
测速结果会每2 - 3秒返回一次,每次返回一个 ip 地址的测试结果。

属性 类型 描述
ip const char * 服务器 ip 地址
quality TRTCQuality 网络质量
upLostRate float 上行丢包率,范围是 [0,1.0]
downLostRate float 下行丢包率,范围是 [0,1.0]
rtt int 延迟(毫秒):代表 SDK 跟服务器一来一回之间所消耗的时间,这个值越小越好

TRTCPublishCDNParam

旁路推流参数。

属性 类型 描述
appId uint32_t 腾讯云 AppID,在【直播控制台-直播码接入】可查询到
bizId uint32_t 腾讯云直播 bizid,在【直播控制台-直播码接入】可查询到
url const char * 旁路转推的 URL

TRTCMixUser

设置旁路流的转码混流格式。

属性 类型 描述
userId const char * 参与混流的 userId
rect RECT 图层位置坐标以及大小,左上角为坐标原点(0,0)(绝对像素值)
zOrder int 图层层次(1 - 15)不可重复
streamType TRTCVideoStreamType 参与混合的是主路还是辅路画面 [TRTCVideoStreamTypeBig, TRTCVideoStreamTypeSub]

TRTCTranscodingConfig

属性 类型 描述
mode TRTCTranscodingConfigMode 转码 config 模式
appId uint32_t 腾讯云 AppID,在【直播控制台-直播码接入】可查询到
bizId uint32_t 腾讯云直播 bizid,在【直播控制台-直播码接入】可查询到
videoWidth uint32_t 视频分辨率:宽
videoHeight uint32_t 视频分辨率:高
videoBitrate uint32_t 视频码率
videoFramerate uint32_t 视频帧率
videoGOP uint32_t 视频 GOP,单位秒
audioSampleRate uint32_t 音频采样率48000
audioBitrate uint32_t 音频码率64K
audioChannels uint32_t 声道数2
mixUsersArray TRTCMixUser * 混流用户配置列表
mixUsersArraySize uint32_t 数组 mixUsersArray 的大小

TRTCImageBuffer

属性 类型 描述
buffer const char * 图内容
length uint32_t 图缓存大小
width uint32_t 图宽
height uint32_t 图高

TRTCScreenCaptureSourceInfo

属性 类型 描述
type TRTCScreenCaptureSourceType 采集源类型
sourceId HWND 采集源 ID;对于窗口,该字段指示窗口句柄;对于屏幕,该字段指示屏幕 ID
sourceName const char * 采集源名称,UTF8 编码
thumbBGRA TRTCImageBuffer 缩略图内容
iconBGRA TRTCImageBuffer 图标内容

ITRTCScreenCaptureSourceList

API 描述
getCount 窗口个数
getSoureceInfo 窗口信息
release 遍历完窗口列表后,调用 release 释放资源。

ITRTCDeviceCollection

获取 SDK 设备信息接口。

您可以通过 getMicDevicesList()/getSpeakerDevicesList()/getMicDevicesList 枚举硬件设备列表,列表通过 ITRTCDeviceCollection 返回。

API 描述
getCount 设备个数
getDeviceName 设备名称,字符编码格式是 UTF-8
getPID 设备PID,字符编码格式是 UTF-8
release 遍历完设备后,调用 release 释放资源。

TRTCLocalStatistics

本地用户统计数据。

属性 类型 描述
width uint32_t 视频宽度
height uint32_t 视频高度
frameRate uint32_t 帧率(fps)
videoBitrate uint32_t 视频发送码率(Kbps)
audioSampleRate uint32_t 音频采样率(Hz)
audioBitrate uint32_t 音频发送码率(Kbps)
streamType TRTCVideoStreamType 流类型(大画面 | 小画面 | 辅路画面)

TRTCRemoteStatistics

远端用户统计数据。

属性 类型 描述
userId const char * 用户ID,指定是哪个用户的视频流
finalLoss uint32_t 该线路的总丢包率(%),这个值越小越好,比如:0%的丢包率代表网络很好
width uint32_t 视频宽度
height uint32_t 视频高度
frameRate uint32_t 接收帧率(fps)
videoBitrate uint32_t 视频码率(Kbps)
audioSampleRate uint32_t 音频采样率(Hz)
audioBitrate uint32_t 音频码率(Kbps)
streamType TRTCVideoStreamType 流类型(大画面 | 小画面 | 辅路画面)

TRTCStatistics

统计数据。

属性 类型 描述
upLoss uint32_t 上行丢包率(%),这个值越小越好,比如:0%的丢包率代表网络很好
downLoss uint32_t 下行丢包率(%),这个值越小越好,比如:0%的丢包率代表网络很好
appCpu uint32_t 当前 App 的 CPU 使用率 (%)
systemCpu uint32_t 当前系统的 CPU 使用率 (%)
rtt uint32_t 延迟(毫秒):代表 SDK 跟服务器一来一回之间所消耗的时间,这个值越小越好
receivedBytes uint32_t 总接收字节数(包含信令和音视频)
sentBytes uint32_t 总发送字节总数(包含信令和音视频)
localStatisticsArray TRTCLocalStatistics * 自己本地的音视频统计信息,由于可能有大画面、小画面以及辅路画面等多路的情况,所以是一个数组
localStatisticsArraySize uint32_t 数组 localStatisticsArray 的大小
remoteStatisticsArray TRTCRemoteStatistics * 远端成员的音视频统计信息,由于可能有大画面、小画面以及辅路画面等多路的情况,所以是一个数组
remoteStatisticsArraySize uint32_t 数组 remoteStatisticsArray 的大小