tencentTRTC

概述

腾讯实时音视频(Tencent Real-Time Communication,TRTC),将腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。

注意:

本原生插件 iOS 平台上最低适配系统版本为 iOS 9.0

不可与 txShortVideo 共同使用,如需同时使用两个原生插件功能需要在腾讯云申请专业版后联系官方重新封装

接口

enterRoom

进入房间

enterRoom({params}, callback(ret, err))

params

appId:

  • 类型:数字类型
  • 描述:腾讯云 SDKAppId,进入腾讯云实时音视频控制台 创建应用,即可看到 SDKAppId

userId:

  • 类型:字符串类型
  • 描述:当前用户的 userId,相当于用户名

roomId:

  • 类型:字符串类型
  • 描述:房间号码 ,在同一个房间里的用户(userId)可以彼此看到对方并进行视频通话

userSig:

  • 类型:字符串类型
  • 描述:用户签名 ,当前 userId 对应的验证签名,相当于使用云服务的登录密码,如何计算userSig

privateMapKey:

  • 类型:字符串类型
  • 描述:(可选项)房间签名 ,当您希望某个房间只能让特定的 userId 进入时,需要使用 privateMapKey 进行权限保护。仅建议有高级别安全需求的客户使用,更多详情请参见 进房权限保护

scene:

  • 类型:数字类型
  • 描述:(可选项)应用场景
  • 可选值:0:视频通话 1:视频直播 2:语音通话 3:语音直播
  • 默认值:0

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.enterRoom({
  appId:,
  userId:''
  roomId:'',
  userSig:'',
},function(ret, err) {
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setTRTCListener

添加监听

setTRTCListener({params}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status: true,      //布尔型;true||false;是否成功
  action:'',         //字符串类型;回调事件
                              ‘error’:错误回调
                            ‘warning’:警告事件
                            ‘enterRoom’:进入房间
                            ‘exitRoom’:退出房间
                            ‘remoteUserEnterRoom’:有用户加入当前房间
                            ‘remoteUserLeaveRoom’:由用户离开当前房间
                            ‘firstVideoFrame’:开始渲染本地或远程用户的首帧画面               
                            'firstAudioFrame':开始播放远程用户的首帧音频(本地声音暂不通知)
                            'sendFirstLocalVideoFrame':首帧本地视频数据已经被送出
                            ‘sendFirstLocalAudioFrame’:首帧本地音频数据已经被送出
                            ‘connectionLost’:与服务器连接断开
                            ‘tryToReconnect’:尝试重新连接到服务器
                            ‘connectionRecovery’:与服务器连接恢复
                            ‘screenCaptureStarted’:屏幕分享开始
                            ‘screenCapturePaused’:屏幕分享暂停
                            ‘screenCaptureResumed‘:屏幕分享恢复
                            ’screenCaptureStoped‘:屏幕分享停止
                            ’userVideoAvailable‘:远端用户是否存在可播放的主路画面(一般用于摄像头)
                            ’userAudioAvailable‘:远端用户是否存在可播放的音频数据
                            'onUserVoiceVolume':提示音量大小的回调,包括每个 userId 的音量和远端总音量,您可以通过调用 TRTCCloud 中的 enableAudioVolumeEvaluation 接口来开关这个回调或者设置它的触发间隔。需要注意的是,调用 enableAudioVolumeEvaluation 开启音量回调后,无论频道内是否有人说话,都会按设置的时间间隔调用这个回调;如果没有人说话,则 userVolumes 为空,totalVolume 为0
                            ’switchRoom‘:切换房间
                            ’switchRole‘:切换角色
                            ’connectOtherRoom‘:请求跨房通话
                            ’disConnectOtherRoom‘:结束跨房通话
                                                   
   error:{        //Json对象类型,action为’error‘时返回
           errCode:,   //数字类型;错误码
        errMsg:'',    //字符串类型;错误信息
    },
    warning:{  //Json对象类型,action为’warning‘时返回
        warningCode:,     //数字类型;错误码
        warningMsg:'',       //字符串类型;警告信息
    },
    enterRoom:{//Json对象类型,action为’enterRoom‘时返回
        result:,  //数字类型,正数为成功加入时间消耗,负数为错误码
    },
    exitRoom:{//Json对象类型,action为’exitRoom‘时返回
        reason:,  //数字类型,离开房间原因,0:主动调用 exitRoom 退房;1:被服务器踢出当前房间;2:当前房间整个被解散
    },
    remoteUserEnterRoom:{//Json对象类型,action为’remoteUserEnterRoom‘时返回
        userId:'',  //字符串类型;加入房间用户id
    },
    remoteUserLeaveRoom:{//Json对象类型,action为’remoteUserLeaveRoom‘时返回
        userId:'',  //字符串类型;退出房间用户id
       reason:,  //数字类型;退出原因
    },
    firstVideoFrame:{//Json对象类型,action为’firstVideoFrame‘时返回
        userId:'',  //字符串类型;用户id
       available:,  //布尔类型;画面是否开启,仅android支持
       streamType:,//数字类型;视频流类型:摄像头或屏幕分享;0:主画面视频流,1:小画面视频流,2:辅流(屏幕分享),仅支持iOS
       width:,     //数字类型;画面宽度,仅支持iOS
       height:,    //数字类型;画面高度,仅支持iOS
    },
    firstAudioFrame:{//Json对象类型,action为’firstAudioFrame‘时返回
        userId:'',  //字符串类型;用户id
    },
    screenCapturePaused:{//Json对象类型,action为’screenCapturePaused‘时返回,仅支持iOS
        reason:,  //数字类型,暂停原因,0:用户主动暂停;1:屏幕窗口不可见暂停
    },
    screenCaptureResumed:{//Json对象类型,action为’screenCaptureResumed‘时返回,仅支持iOS
        reason:,  //数字类型,恢复原因,0:用户主动恢复;1:屏幕窗口恢复可见从而恢复分享
    },
    screenCaptureStoped:{//Json对象类型,action为’screenCaptureStoped‘时返回,仅支持iOS
        reason:,  //数字类型,停止原因,0:用户主动停止;1:屏幕窗口关闭导致停止
    },
    onUserVoiceVolume:{//Json对象类型,action为’onUserVoiceVolume‘时返回
            userVolumes:[{ //json对象;
              userId:'', //字符串类型;说话者的 userId, 空 为自己
              volume:0   //数字类型;说话者的音量, 取值范围0 - 100
               },
       ],
       totalVolume:0 //所有远端成员的总音量, 取值范围0 - 100
    },
    userVideoAvailable:{//Json对象类型,action为’userVideoAvailable‘时返回
        userId:'', //字符串类型;用户标识
        available:,  //布尔类型,画面是否开启
    },
    userAudioAvailable:{//Json对象类型,action为’userAudioAvailable‘时返回
        userId:'', //字符串类型;用户标识
        available:,  //布尔类型,声音是否开启
    },
     switchRoom:{//Json对象类型,action为’switchRoom‘时返回 
        errCode:// 错误码 0表示切换成功
        errMsg:,  //错误信息
    },
     switchRole:{//Json对象类型,action为’switchRole‘时返回
        errCode:// 错误码 0表示切换成功
        errMsg:,  //错误信息
    },
     connectOtherRoom:{//Json对象类型,action为’connectOtherRoom‘时返回
        userId://要跨房通话的另一个房间中的主播的用户 ID
        errCode:// 错误码 0表示成功
        errMsg:,  //错误信息
    },
     disConnectOtherRoom:{//Json对象类型,action为’disConnectOtherRoom‘时返回
        errCode:// 错误码 0表示成功
        errMsg:,  //错误信息
    }
   
}

err:

  • 类型:JSON 对象
  • 内部字段:
{  
  msg:''         //错误原因
}

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setTRTCListener({

},function(ret, err) {
    if (ret.status) {
        alert('成功');
    }
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

exitRoom

退出房间

exitRoom({params}, callback(ret, err))

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.exitRoom({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

startLocalAudio

开启本地语音

startLocalAudio({params}, callback(ret, err))

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.startLocalAudio({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

stopLocalAudio

关闭本地语音

stopLocalAudio({params}, callback(ret, err))

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.stopLocalAudio({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

startLocalPreview

开启本地画面采集

startLocalPreview({params}, callback(ret, err))

params

rect:

  • 类型:Json对象类型
  • 描述:画面预览控件位置
  • 内部字段:
{ x:,  //数字类型,控件到屏幕左边框距离,默认:0
  y:,   //数字类型,控件到屏幕上边框距离,默认:0
  w:,  //数字类型,控件宽,默认:300
  h:,   //数字类型,控件高,默认:300
}

isFrontCamera

  • 类型:布尔类型
  • 描述:(可选项)是否开启前置摄像头
  • 默认:true

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)原生插件视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:原生插件依附于当前 window

fixed:

  • 类型:布尔
  • 描述:(可选项)原生插件是否随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.startLocalPreview({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

stopLocalPreview

停止本地画面采集

stopLocalPreview({params}, callback(ret, err))

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.stopLocalPreview({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

switchCamera

切换摄像头

switchCamera({params}, callback(ret, err))

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.switchCamera({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

muteLocalVideo

暂停/恢复推送本地的视频数据

muteLocalVideo({params}, callback(ret, err))

params

mute:

  • 类型:布尔类型
  • 描述:(可选项)是否暂停,true:暂停,false:恢复
  • 默认值:true

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.muteLocalVideo({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

muteLocalAudio

暂停/恢复推送本地的音频数据

muteLocalAudio({params}, callback(ret, err))

params

mute:

  • 类型:布尔类型
  • 描述:(可选项)是否暂停,true:暂停,false:恢复
  • 默认值:true

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.muteLocalAudio({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

startRemoteView

开始显示用户userId的视频画面

startRemoteView({params}, callback(ret, err))

params

rect:

  • 类型:Json对象类型
  • 描述:画面预览控件位置
  • 内部字段:
{ x:,  //数字类型,控件到屏幕左边框距离,默认:0
  y:,   //数字类型,控件到屏幕上边框距离,默认:0
  w:,  //数字类型,控件宽,默认:300
  h:,   //数字类型,控件高,默认:300
}

remoteUid

  • 类型:字符串类型
  • 描述:远程用户userId

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)原生插件视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:原生插件依附于当前 window

fixed:

  • 类型:布尔
  • 描述:(可选项)原生插件是否随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.startRemoteView({
rect:{
    x:,
    y:,
    w:,
    h:,
},
remoteUid:'',
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

stopRemoteView

停止显示用户userId的视频画面

stopRemoteView({params}, callback(ret, err))

params

remoteUid

  • 类型:字符串类型
  • 描述:远程用户userId

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.stopRemoteView({
remoteUid:'',
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

stopAllRemoteView

停止显示所有远端视频画面,同时不再拉取远端用户的视频数据流

stopAllRemoteView({params}, callback(ret, err))

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.stopAllRemoteView({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

muteRemoteVideoStream

暂停/恢复接收指定的远端视频流。

muteRemoteVideoStream({params}, callback(ret, err))

params

remoteUid

  • 类型:字符串类型
  • 描述:远程用户userId

mute:

  • 类型:布尔类型
  • 描述:是否暂停接收
  • 默认值:true

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.muteRemoteVideoStream({
remoteUid:'',
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

muteAllRemoteVideoStreams

暂停/恢复接收所有远端视频流。

muteAllRemoteVideoStreams({params}, callback(ret, err))

params

mute:

  • 类型:布尔类型
  • 描述:是否暂停接收
  • 默认值:true

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.muteAllRemoteVideoStreams({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

muteRemoteAudio

暂停/恢复接收指定的远端音频流。

muteRemoteAudio({params}, callback(ret, err))

params

remoteUid

  • 类型:字符串类型
  • 描述:远程用户userId

mute:

  • 类型:布尔类型
  • 描述:是否暂停接收
  • 默认值:true

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.muteRemoteAudio({
remoteUid:'',
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

muteAllRemoteAudio

暂停/恢复接收所有远端音频流。

muteAllRemoteAudio({params}, callback(ret, err))

params

mute:

  • 类型:布尔类型
  • 描述:是否暂停接收
  • 默认值:true

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.muteAllRemoteAudio({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setLocalViewRotation

设置本地图像的顺时针旋转角度

setLocalViewRotation({params}, callback(ret, err))

params

rotation:

  • 类型:数字类型
  • 描述:旋转角度
  • 可选值:0:不旋转 1:顺时针旋转90度 2:顺时针旋转180度 3:顺时针旋转270度
  • 默认值:0

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setLocalViewRotation({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setRemoteViewRotation

设置远端图像的顺时针旋转角度

setRemoteViewRotation({params}, callback(ret, err))

params

remoteUid

  • 类型:字符串类型
  • 描述:远程用户userId

rotation:

  • 类型:数字类型
  • 描述:旋转角度
  • 可选值:0:不旋转 1:顺时针旋转90度 2:顺时针旋转180度 3:顺时针旋转270度
  • 默认值:0

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setRemoteViewRotation({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setVideoEncoderRotation

设置视频编码输出的画面方向,即设置远端用户观看到的和服务器录制的画面方向

setVideoEncoderRotation({params}, callback(ret, err))

params

rotation:

  • 类型:数字类型
  • 描述:旋转角度
  • 可选值:0:不旋转 1:顺时针旋转90度 2:顺时针旋转180度 3:顺时针旋转270度
  • 默认值:0

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setVideoEncoderRotation({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setLocalViewMirror

设置本地摄像头预览画面的镜像模式

setLocalViewMirror({params}, callback(ret, err))

params

type:

  • 类型:数字类型
  • 描述:镜像模式
  • 可选值:0:前置摄像头镜像,后置摄像头不开启镜像 1:前置摄像头和后置摄像头都开启镜 2:前置摄像头和后置摄像头都不开启镜像
  • 默认值:0

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setLocalViewMirror({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setVideoEncoderMirror

设置编码器输出的画面镜像模式

setVideoEncoderMirror({params}, callback(ret, err))

params

mirror:

  • 类型:布尔类型
  • 描述:(可选项)是否镜像
  • 默认值:false

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setVideoEncoderMirror({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setGSensorMode

设置重力感应的适应模式

setGSensorMode({params}, callback(ret, err))

params

mode:

  • 类型:数字类型
  • 描述:(可选项)重力感应模式
  • 取值范围: 0:关闭重力感应 1:开启重力感应,但是 android SDK 不会根据陀螺仪自动调整本地 View 的画面方向, 而是交给 Android 系统的自动排布功能 2:开启重力感应,并且 android SDK 会根据陀螺仪自动调整本地 View 的画面方向。
  • 默认值:android:0,iOS:1
  • 说明:iOS平台0关闭,1开启,3待废弃,效果等同于 UIAutoLayout

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setGSensorMode({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

snapshotVideo

视频画面截图

snapshotVideo({params}, callback(ret, err))

params

remoteUid

  • 类型:字符串类型
  • 描述:远程用户userId,iOS端不传此参数表示截取本地视频画面

streamType

  • 类型:数字类型

  • 描述:(可选项)视频流类型

  • android 取值范围:0:摄像头画面 1:屏幕分享画面

  • iOS 取值范围:0:主画面视频流 1:小画面视频流 2:辅流(屏幕分享)

  • 默认值:0

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status: true,      //布尔型;true||false;是否成功
  imgPath:,            //字符串类型;截图路径
}

err:

  • 类型:JSON 对象
  • 内部字段:
{  
  msg:''         //错误原因
}

示例代码

var tencentTRTC = api.require('tencentTRTC');
tencentTRTC.snapshotVideo({
remoteUid:'',
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setAudioCaptureVolume

设置 SDK 采集音量

setAudioCaptureVolume({params}, callback(ret, err))

params

volume

  • 类型:数字类型
  • 描述:音量大小
  • 取值范围:[0-100]
  • 默认值:50

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setAudioCaptureVolume({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getAudioCaptureVolume

获取 SDK 采集音量

getAudioCaptureVolume({params}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status: true,      //布尔型;true||false;是否成功
  volume:,            //数字类型;音量
}

err:

  • 类型:JSON 对象
  • 内部字段:
{  
  msg:''         //错误原因
}

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.getAudioCaptureVolume({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setAudioPlayoutVolume

设置 SDK 播放音量

setAudioPlayoutVolume({params}, callback(ret, err))

params

volume

  • 类型:数字类型
  • 描述:音量大小
  • 取值范围:[0-100]
  • 默认值:50

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setAudioPlayoutVolume({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getAudioPlayoutVolume

获取 SDK 播放音量

getAudioPlayoutVolume({params}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status: true,      //布尔型;true||false;是否成功
  volume:,            //数字类型;音量
}

err:

  • 类型:JSON 对象
  • 内部字段:
{  
  msg:''         //错误原因
}

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.getAudioPlayoutVolume({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

enableAudioEarMonitoring

开启耳返

enableAudioEarMonitoring({params}, callback(ret, err))

params

enable:

  • 类型:布尔类型
  • 描述:是否开启耳返,开启后会在耳机里听到自己的声音,仅带耳机时有效
  • 默认:false

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.enableAudioEarMonitoring({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

isCameraZoomSupported

查询当前摄像头是否支持缩放

isCameraZoomSupported({params}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status: true,      //布尔型;true||false;是否成功
  enable:,            //布尔类型;是否支持缩放
}

err:

  • 类型:JSON 对象
  • 内部字段:
{  
  msg:''         //错误原因
}

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.isCameraZoomSupported({
},function(ret,err){

});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setZoom

设置摄像头缩放因子(焦距)

setZoom({params}, callback(ret, err))

params

distance:

  • 类型:数字类型
  • 描述:缩放因子
  • 取值范围:[1-5],数值越大焦距越远

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setZoom({
distance:3,
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

isCameraTorchSupported

查询是否支持开启闪光灯

isCameraTorchSupported({params}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status: true,      //布尔型;true||false;是否成功
  enable:,            //布尔类型;是否支持闪光灯
}

err:

  • 类型:JSON 对象
  • 内部字段:
{  
  msg:''         //错误原因
}

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.isCameraTorchSupported({
},function(ret,err){

});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

enableTorch

开关闪光灯

enableTorch({params}, callback(ret, err))

params

enable:

  • 类型:布尔类型
  • 描述:是否开启闪光灯
  • 默认值:false

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.enableTorch({
enable:,
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

isCameraFocusSupport

是否支持设置焦点

isCameraFocusSupport({params}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status: true,      //布尔型;true||false;是否成功
  enable:,            //布尔类型;是否支持
}

err:

  • 类型:JSON 对象
  • 内部字段:
{  
  msg:''         //错误原因
}

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.isCameraFocusSupport({
},function(ret,err){

});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setFocusPosition

设置摄像头焦点

setFocusPosition({params}, callback(ret, err))

params

x:

  • 类型:数字类型
  • 描述:对焦位置x坐标

y:

  • 类型:数字类型
  • 描述:对焦位置y坐标

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setFocusPosition({
x:,
y:,
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

startScreenCapture

启动屏幕分享,iOS本接口只支持iOS 13(包含)以上系统

startScreenCapture({params}, callback(ret, err))

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.startScreenCapture({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

stopScreenCapture

停止屏幕采集,iOS本接口只支持iOS 13(包含)以上系统

stopScreenCapture({params}, callback(ret, err))

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.stopScreenCapture({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

pauseScreenCapture

暂停屏幕分享,iOS本接口只支持iOS 13(包含)以上系统

pauseScreenCapture({params}, callback(ret, err))

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.pauseScreenCapture({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

resumeScreenCapture

恢复屏幕分享,iOS本接口只支持iOS 13(包含)以上系统

resumeScreenCapture({params}, callback(ret, err))

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.resumeScreenCapture({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

playBGM

启动播放背景音乐

playBGM({params}, callback(ret, err))

params

path:

  • 类型:字符串类型
  • 描述:音乐文件路径,支持的文件格式:aac, mp3,android支持fs路径,iOS支持widget、fs路径

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status: true,      //布尔型;true||false;是否成功
  action:'',      //字符串类型;回调阶段
                          ‘start’:开始播放
                        ‘progress’:播放进度
                        ‘complete’:播放完成
  startCode:, //数字类型,action为‘start’时返回,0为成功
  completeCode:,//数字类型,action为‘complete’时返回,0为正常结束
  duration:,    //数字类型,总时长,action为‘progress’返回
  progress:,    //数字类型,已播放时长,action为‘progress’返回
}

err:

  • 类型:JSON 对象
  • 内部字段:
{  
  msg:''         //错误原因
}

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.playBGM({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

stopBGM

停止播放背景音乐。

stopBGM({params}, callback(ret, err))

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.stopBGM({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

pauseBGM

暂停播放背景音乐。

pauseBGM({params}, callback(ret, err))

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.pauseBGM({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

resumeBGM

继续播放背景音乐

resumeBGM({params}, callback(ret, err))

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.resumeBGM({
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setBGMPosition

设置 BGM 播放进度。

setBGMPosition({params}, callback(ret, err))

params

pos:

  • 类型:数字类型
  • 描述:进度,(豪秒)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status: true,      //布尔型;true||false;是否成功
}

err:

  • 类型:JSON 对象
  • 内部字段:
{  
  msg:''         //错误原因
}

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setBGMPosition({
pos:,
},function(ret,err){
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setBGMVolume

设置背景音乐播放音量的大小。

setBGMVolume({params}, callback(ret, err))

params

volume:

  • 类型:数字类型
  • 描述:音量大小
  • 取值范围:[0-100]

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setBGMVolume({
volume:,
},function(ret,err){
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setBGMPlayoutVolume

设置背景音乐本地播放音量的大小。

setBGMPlayoutVolume({params}, callback(ret, err))

params

volume:

  • 类型:数字类型
  • 描述:音量大小
  • 取值范围:[0-100]

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setBGMPlayoutVolume({
volume:,
},function(ret,err){
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setBGMPublishVolume

设置背景音乐远端播放音量的大小。

setBGMPublishVolume({params}, callback(ret, err))

params

volume:

  • 类型:数字类型
  • 描述:音量大小
  • 取值范围:[0-100]

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setBGMPublishVolume({
volume:,
},function(ret,err){
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setVoiceChangerType

设置变声类型

setVoiceChangerType({params}, callback(ret, err))

params

type:

  • 类型:数字类型
  • 描述:变声类型
  • 取值范围:0:关闭变声器 1:熊孩子 2:萝莉 3:大叔 4:重金属 5:感冒 6:外国人 7:困兽 8:死肥宅 9:强电流 10:重机械 11:空灵

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status: true,      //布尔型;true||false;是否成功
}

err:

  • 类型:JSON 对象
  • 内部字段:
{  
  msg:''         //错误原因
}

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setVoiceChangerType({
type:,
},function(ret,err){
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setLocalViewFillMode

设置本地图像的渲染模式

setLocalViewFillMode({params}, callback(ret, err))

params

type:

  • 类型:数字类型
  • 描述:变声类型
  • 取值范围:0:图像铺满屏幕,超出显示视窗的视频部分将被裁剪 1:图像长边填满屏幕,短边区域会被填充黑色

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setLocalViewFillMode({
type:,
});

可用性

iOS、Android系统

可提供的1.0.1及更高版本

setRemoteViewFillMode

设置远端图像的渲染模式

setRemoteViewFillMode({params}, callback(ret, err))

params

remoteUid

  • 类型:字符串类型
  • 描述:用户 ID

type:

  • 类型:数字类型
  • 描述:变声类型
  • 取值范围:0:图像铺满屏幕,超出显示视窗的视频部分将被裁剪 1:图像长边填满屏幕,短边区域会被填充黑色

示例代码

var tencentTRTC = api.require('tencentTRTC');
tencentTRTC.setRemoteViewFillMode({
type:,
});

可用性

iOS、Android系统

可提供的1.0.1及更高版本

setVideoEncoderParam

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

setVideoEncoderParam({params}, callback(ret, err))

params

videoResolution:

  • 类型:数字类型
  • 描述:视频分辨率,此处仅定义横屏分辨率,如需使用竖屏分辨率(例如360 × 640),需要同时指定 resMode 为 1(竖屏分辨率)。1920_1080(114)分辨率仅支持iOS
  • 取值范围:1:宽高比1:1,120_120,建议码率 VideoCall:80kbps LIVE:120kbps 3:宽高比1:1,160_160,建议码率 VideoCall:100kbps LIVE:150kbps 5:宽高比1:1,270_270,建议码率 VideoCall:200kbps LIVE:120kbps 7:宽高比1:1,480_480,建议码率 VideoCall:350kbps LIVE:120kbps 50:宽高比4:3,160_120,建议码率 VideoCall:100kbps LIVE:150kbps 52:宽高比4:3,240_180,建议码率 VideoCall:150kbps LIVE:225kbps 54:宽高比4:3,280_210,建议码率 VideoCall:200kbps LIVE:300kbps 56:宽高比4:3,320_240,建议码率 VideoCall:250kbps LIVE:375kbps 58:宽高比4:3,400_300,建议码率 VideoCall:300kbps LIVE:450kbps 60:宽高比4:3,480_360,建议码率 VideoCall:400kbps LIVE:600kbps 62:宽高比4:3,640_480,建议码率 VideoCall:600kbps LIVE:900kbps 64:宽高比4:3,960_720,建议码率 VideoCall:1000kbps LIVE:1500kbps 100:宽高比16:9,160_90,建议码率 VideoCall:150kbps LIVE:250kbps 102:宽高比16:9,256_144,建议码率 VideoCall:200kbps LIVE:300kbps 104:宽高比16:9,320_180,建议码率 VideoCall:250kbps LIVE:400kbps 106:宽高比16:9,480_270,建议码率 VideoCall:350kbps LIVE:550kbps 108:宽高比16:9,640_360,建议码率 VideoCall:550kbps LIVE:900kbps 110:宽高比16:9,960_540,建议码率 VideoCall:850kbps LIVE:1300kbps 112:宽高比16:9,1280_720,建议码率 VideoCall:1200kbps LIVE:1800kbps 114:宽高比16:9,1920_1080,建议码率 VideoCall:2000kbps LIVE:3000kbps(此分辨率仅支持iOS)

resMode:

  • 类型:数字类型
  • 描述:分辨率模式
  • 取值范围:0:横屏分辨率 1:竖屏分辨率
  • 推荐取值:手机直播建议选择 竖屏,Window 和 Mac 建议选择 横屏
  • 特别说明:如果 videoResolution 指定分辨率 640 × 360,resMode 指定模式为 Portrait,则最终编码出的分辨率为360 × 640

videoFps:

  • 类型:数字类型
  • 描述:视频采集帧率
  • 推荐取值:15fps或20fps,5fps以下,卡顿感明显。10fps以下,会有轻微卡顿感。20fps以上,则过于浪费(电影的帧率为24fps)
  • 特别说明:很多 Android 手机的前置摄像头并不支持15fps以上的采集帧率,部分过于突出美颜功能的 Android 手机前置摄像头的采集帧率可能低于10fps

videoBitrate:

  • 类型:数字类型
  • 描述:目标视频码率,SDK 会按照目标码率进行编码,只有在网络不佳的情况下才会主动降低视频码率
  • 推荐取值:请参考本 videoResolution 在各档位注释的最佳码率,也可以在此基础上适当调高。比如 videoResolution 对应 1200kbps 的目标码率,您也可以设置为 1500kbps 用来获得更好的清晰度观感
  • 特别说明:很多 Android 手机的前置摄像头并不支持15fps以上的采集帧率,部分过于突出美颜功能的 Android 手机前置摄像头的采集帧率可能低于10fps

enableAdjustRes:

  • 类型:布尔类型
  • 描述:是否允许 SDK 动态调整分辨率,开启后会对云端录制产生影响
  • 推荐取值:需要开启云端录制的场景建议设置为 false,中途视频分辨率发生变化后,云端录制出的 MP4 在一般的播放器上都无法正常播放。视频通话模式,若无需云端录制,可以设置为 true,此时 SDK 会根据当前待带宽情况自动选择合适的分辨率(仅针对 主路画面 生效)。
  • 特别说明:如有云端录制需求,请设置为 false
  • 默认:false

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.setVideoEncoderParam({
});

可用性

iOS、Android系统

可提供的1.0.1及更高版本

enableAudioVolumeEvaluation

启用音量大小提示,开启此功能后,SDK 会在 onUserVoiceVolume中反馈对每一路声音音量大小值的评估。 如需打开此功能,请在 startLocalAudio之前调用。

enableAudioVolumeEvaluation({params}, callback(ret, err))

params

interval:

  • 类型:数字类型
  • 描述:(可选项)设置 onUserVoiceVolume 回调的触发间隔,单位为ms,最小间隔为100ms,如果小于等于0则会关闭回调,建议设置为300ms
  • 默认:300

示例代码

var tencentTRTC = api.require('tencentTRTC');
tencentTRTC.enableAudioVolumeEvaluation({
  interval:300
});

可用性

iOS、Android系统

可提供的1.0.3及更高版本

setAudioRoute

设置音频路由。微信和手机 QQ 视频通话功能的免提模式就是基于音频路由实现的。一般手机都有两个扬声器,一个是位于顶部的听筒扬声器,声音偏小;一个是位于底部的立体声扬声器,声音偏大。设置音频路由的作用就是决定声音使用哪个扬声器播放

setAudioRoute({params}, callback(ret, err))

params

route:

  • 类型:数字类型
  • 描述:(可选项)即声音由哪里输出,0:扬声器、1:听筒
  • 默认:0

示例代码

var tencentTRTC = api.require('tencentTRTC');
tencentTRTC.setAudioRoute({
  route:0
});

可用性

iOS、Android系统

可提供的1.0.3及更高版本

setBeautyStyle

设置美颜类型

setBeautyStyle({params}, callback(ret, err))

params

style:

  • 类型:数字类型
  • 描述:(可选项)美颜类型,0:光滑、1:自然,2:朦胧
  • 默认:0

示例代码

var tencentTRTC = api.require('tencentTRTC');
tencentTRTC.setBeautyStyle({
  style:0
});

可用性

iOS、Android系统

可提供的1.0.4及更高版本

setFilter

设置指定素材滤镜

setFilter({params}, callback(ret, err))

params

path:

  • 类型:字符串类型
  • 描述:指定素材, 即颜色查找表图片。必须使用 png 格式

示例代码

var tencentTRTC = api.require('tencentTRTC');
tencentTRTC.setFilter({
  path:''
});

可用性

iOS、Android系统

可提供的1.0.4及更高版本

setFilterStrength

设置滤镜浓度

setFilterStrength({params}, callback(ret, err))

params

strength:

  • 类型:小数类型
  • 描述: (可选项)从0到1,越大滤镜效果越明显
  • 默认值:0.5

示例代码

var tencentTRTC = api.require('tencentTRTC');
tencentTRTC.setFilterStrength({
  strength:0.3
});

可用性

iOS、Android系统

可提供的1.0.4及更高版本

setBeautyLevel

设置美颜级别

setBeautyLevel({params}, callback(ret, err))

params

beautyLevel:

  • 类型:数字类型
  • 描述: (可选项)美颜级别,取值范围0 - 9; 0表示关闭,1 - 9值越大,效果越明显。
  • 默认:5

示例代码

var tencentTRTC = api.require('tencentTRTC');
tencentTRTC.setBeautyLevel({
  beautyLevel:8
});

可用性

iOS、Android系统

可提供的1.0.4及更高版本

setWhitenessLevel

设置美白级别

setWhitenessLevel({params}, callback(ret, err))

params

whitenessLevel:

  • 类型:数字类型
  • 描述: (可选项) 美白级别,取值范围0 - 9; 0表示关闭,1 - 9值越大,效果越明显 。
  • 默认:5

示例代码

var tencentTRTC = api.require('tencentTRTC');
tencentTRTC.setWhitenessLevel({
  whitenessLevel:8
});

可用性

iOS、Android系统

可提供的1.0.4及更高版本

enableSharpnessEnhancement

是否开启清晰度增强

enableSharpnessEnhancement({params}, callback(ret, err))

params

enable:

  • 类型:布尔类型
  • 描述: (可选项) 是否开启清晰度增强
  • 默认:true

示例代码

var tencentTRTC = api.require('tencentTRTC');
tencentTRTC.enableSharpnessEnhancement({
  enable:true
});

可用性

iOS、Android系统

可提供的1.0.4及更高版本

setRuddyLevel

设置红润级别

setRuddyLevel({params}, callback(ret, err))

params

ruddyLevel:

  • 类型:数字类型
  • 描述: (可选项) 红润级别,取值范围0 - 9; 0表示关闭,1 - 9值越大,效果越明显
  • 默认:5

示例代码

var tencentTRTC = api.require('tencentTRTC');
tencentTRTC.setRuddyLevel({
  ruddyLevel:8
});

可用性

iOS、Android系统

可提供的1.0.4及更高版本

switchRole

切换角色,调用本接口可以实现用户在“主播”和“观众”两种角色之间来回切换。接口调用结果会通过setTRTCListener switchRole回调

switchRole({params})

params

role:

  • 类型:字符串类型
  • 描述:角色类型 'Anchor':主播;'Audience':观众

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.switchRole({
  role:''
});

可用性

iOS、Android系统

可提供的1.1.0及更高版本

switchRoom

切换房间;使用该接口可以让用户可以快速从一个房间切换到另一个房间。接口调用结果会通过setTRTCListener switchRoom回调 如果用户的身份是“观众”,该接口的调用效果等同于 exitRoom(当前房间) + enterRoom(新的房间)。 如果用户的身份是“主播”,该接口在切换房间的同时还会保持自己的音视频发布状态,因此在房间切换过程中,摄像头的预览和声音的采集都不会中断。

switchRoom({params})

params

roomId:

  • 类型:字符串类型
  • 描述:房间号码

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.switchRoom({
  roomId:''
});

可用性

iOS、Android系统

可提供的1.1.0及更高版本

connectOtherRoom

请求跨房通话;接口调用结果会通过setTRTCListener connectOtherRoom回调

connectOtherRoom({params})

params

roomId:

  • 类型:字符串类型
  • 描述:数字格式的房间号

userId:

  • 类型:字符串类型
  • 描述:目标主播的用户ID

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.connectOtherRoom({
  roomId:'',
  userId:''
});

可用性

iOS、Android系统

可提供的1.1.0及更高版本

disconnectOtherRoom

退出跨房通话;接口调用结果会通过setTRTCListener disConnectOtherRoom回调

disconnectOtherRoom()

示例代码

var tencentTRTC= api.require('tencentTRTC');
tencentTRTC.disconnectOtherRoom();

可用性

iOS、Android系统

可提供的1.1.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/11/18