tencentRtc

腾讯云实时音视频

实时音视频主打低延时互动直播和多人音视频两大解决方案,支持低延时直播观看、实时录制、美颜特效、立体声等能力,还能和直播 CDN 无缝对接,适用于互动连麦、跨房PK、语音电台、K 歌、小班课、大班课、语音聊天、视频聊天、在线会议等业务场景。

论坛示例

该论坛提供了插件使用示例入口,您可以在论坛中找到使用的Demo,以及问题反馈。

技术支持

如果您有以下需求:

  • 方案咨询;
  • 接入流程协助;
  • 测试DEMO功能;
  • 内测功能;
  • 问题反馈;
  • 需求反馈;

音视频产品使用复杂程度高,可以先联系我们,获取技术支持,微信号为: ruanyunkeji001或ruanyunkeji002

接口列表

初始化与监听

接口列表 功能
init 初始化
setTrtcListener 设置监听
removeTrtcListener 移除监听
destroy 销毁

房间相关

接口列表 功能
enterRoom 进入房间
exitRoom 离开房间
switchRole 切换角色
connectOtherRoom 请求跨房通话(主播PK)
disconnectOtherRoom 退出跨房通话
setDefaultStreamRecvMode 设置音视频数据接收模式

CDN接口

接口列表 功能
startPublishing 开始向腾讯云的直播CDN推流
stopPublishing 停止向腾讯云CDN推流
startPublishCDNStream 开始向友商云的直播CDN转推
stopPublishCDNStream 停止向非腾讯云的地址转推

视频接口

接口列表 功能
startLocalPreview 开启本地视频的预览画面
stopLocalPreview 停止本地视频采集以及预览
muteLocalVideo 暂停/恢复推送本地的视频数据
setVideoMuteImage 设置暂停推送本地视频时要推送的图片
startRemoteView 开始显示远端视频画面
stopRemoteView 停止显示远端画面
stopAllRemoteView 停止显示所有远端视频画面
muteRemoteVideoStream 暂停/恢复接收指定的远端视频流
muteAllRemoteVideoStreams 暂停/回复所有远端视频流
setVideoEncoderParam 设置视频编码器相关参数
setLocalRenderParams 本地图像的渲染设置
setRemoteRenderParams 远端图像的渲染设置
setVideoEncoderRotation 设置视频编码输出的画面方向
setVideoEncoderMirror 设置本地摄像头预览画面的镜像模式
setGSensorMode 设置重力感应的适应模式

音频接口

接口列表 功能
startLocalAudio 开启本地音频的采集和上行
stopLocalAudio 关闭本地音频的采集和上行
muteLocalAudio 静音或取消本地音频静音
muteRemoteAudio 静音/取消静音指定的远端用户的声音
muteAllRemoteAudio 静音/取消静音所有用户的声音

摄像头接口

接口列表 功能
isFrontCamera 是否使用前置摄像头
switchCamera 切换摄像头

基础美颜

接口列表 功能
setBeautyStyle 设置美颜(磨皮)算法
setBeautyLevel 设置美颜级别
setWhitenessLevel 设置美白级别
setRuddyLevel 设置红润级别
setFilter 设置滤镜
setFilterStrength 设置滤镜浓度

音乐特效和人声

接口列表 功能
setMusicListener 设置音乐监听器
removeMusicListener 移除音乐监听器
startPlayMusic 开始播放背景音乐
stopPlayMusic 停止播放背景音乐
pausePlayMusic 暂停播放背景音乐
resumePlayMusic 恢复播放背景音乐

自定义消息

如果想要在 App 切后台时依然能够实时收到 IM 消息,可以使用离线推送服务。

接口列表 功能
sendCustomCmdMsg 发送自定义消息给房间内所有用户
sendSEIMsg 将小数据量的自定义数据嵌入视频帧中

插件接口

init

初始化

init({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

##代码示例

trtc.init({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

setTrtcListener

设置监听

setTrtcListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}
{
    eventType: 'onScreenCaptureStopped'
}
  • 字段详情:

eventType:

  • 类型: 字符串类型
  • 描述: 事件名称
  • 取值范围:

onEnterRoom:

已加入房间的回调

onExitRoom:

离开房间的事件回调

onSwitchRole:

切换角色的事件回调

onConnectOtherRoom:

请求跨房通话(主播 PK)的结果回调

onDisconnectOtherRoom:

结束跨房通话(主播 PK)的结果回调

onSwitchRoom:

切换房间 (switchRoom) 的结果回调

onRemoteUserEnterRoom:

有用户加入当前房间

onRemoteUserLeaveRoom:

有用户离开当前房间

onUserVideoAvailable:

远端用户是否存在可播放的主路画面(一般用于摄像头)

onUserSubStreamAvailable:

远端用户是否存在可播放的辅路画面(一般用于屏幕分享)

onUserAudioAvailable:

远端用户是否存在可播放的音频数据

onFirstVideoFrame:

开始渲染本地或远程用户的首帧画面

onFirstAudioFrame:

开始播放远程用户的首帧音频(本地声音暂不通知)

onSendFirstLocalVideoFrame:

首帧本地视频数据已经被送出

onSendFirstLocalAudioFrame:

首帧本地音频数据已经被送出

onConnectionLost:

SDK 跟服务器的连接断开

onTryToReconnect:

SDK 尝试重新连接到服务器

onConnectionRecovery:

SDK 跟服务器的连接恢复

onCameraDidReady:

摄像头准备就绪

onMicDidReady:

麦克风准备就绪

onAudioRouteChanged:

音频路由发生变化,音频路由即声音由哪里输出(扬声器或听筒)

onUserVoiceVolume:

用于提示音量大小的回调,包括每个 userId 的音量和远端总音量

onRecvCustomCmdMsg:

收到自定义消息回调

onMissCustomCmdMsg:

自定义消息丢失回调

onRecvSEIMsg:

收到 SEI 消息的回调

onStartPublishing:

开始向腾讯云的直播 CDN 推流的回调,对应于startPublishing() 接口

onStopPublishing:

停止向腾讯云的直播 CDN 推流的回调,对应于 stopPublishing() 接口

onStartPublishCDNStream:

启动旁路推流到 CDN 完成的回调,对应于中的 startPublishCDNStream() 接口

onStopPublishCDNStream:

停止旁路推流到 CDN 完成的回调

##代码示例

trtc.setTrtcListener({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

removeTrtcListener

移除监听

removeTrtcListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

##代码示例

trtc.removeTrtcListener({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

destroy

销毁

destroy({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.destroy({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

enterRoom

进入房间

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

params

scence:

  • 类型: 整数类型
  • 描述: (必填项) 应用场景
  • 取值范围:
    • 0: 视频通话(VideoCall)
    • 1: 语音通话(AudioCall)
    • 2: 连麦直播(Live)
    • 3: 语聊房(VoiceChatRoom)

params:

  • 类型: JSON对象
  • 描述: (必填项) 进房参数
  • 字段详情:

sdkAppId:

  • 类型: 整数类型
  • 描述: (必填项) 应用标识

userId:

  • 类型: 字符串类型
  • 描述: (必填项) 当前用户的 userId,相当于用户名

userSig:

  • 类型: 字符串类型
  • 描述: (必填项) 用户签名, 当前 userId 对应的验证签名,相当于使用云服务的登录密码

roomId:

  • 类型: 整数类型
  • 描述: (必填项) 数字房间号码,在同一个房间里的用户(userId)可以彼此看到对方并进行视频通话
  • 取值范围: [1 - 4294967294]

role:

  • 类型: 整数类型
  • 描述: (可选项) 直播场景下的角色,仅适用于直播场景(LIVE 和 VoiceChatRoom),通话场景下指定无效。
  • 取值范围:
    • 0: 主播
    • 1: 观众
  • 默认值: 0

streamId:

  • 类型: 字符串类型
  • 描述: (可选项) 绑定腾讯云直播CDN流Id,设置之后,您就可以在腾讯云直播 CDN 上通过标准直播方案(FLV或HLS)播放该用户的音视频流
  • 推荐取值: 限制长度为64字节,可以不填写,一种推荐的方案是使用 “sdkappid_roomid_userid_main” 作为 streamid,这样比较好辨认且不会在您的多个应用中发生冲突
  • 特殊说明: 要使用腾讯云直播 CDN,您需要先在控制台 中的功能配置页开启“启用旁路直播”开关

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911     // 整数类型, 错误码
    msg: '签名过期' // 字符串类型, 错误信息
}

示例代码

var sdkAppId = 14xxxxx16;
var userId = 'test001';
var userSig =  'eJwtzE0xxxxxpQsAsxp';
var roomId = 1;
var streamId = 'user_stream_001';
var scence = 0;

trtc.enterRoom({
    sdkAppId: sdkAppId,
    userId: userId,
    userSig: userSig,
    roomId: roomId,
    streamId: streamId,
    scence: scence
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

exitRoom

离开房间

exitRoom({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

trtc.exitRoom({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

switchRole

切换角色,仅适用于直播场景(连麦直播Live 和 语聊房VoiceChatRoom)

switchRole({params}, function(ret, err))

params

role:

  • 类型: 整数类型
  • 描述: (可选项) 目标角色,默认为主播
  • 取值范围:
    • 0: 主播,可以上行视频和音频,一个房间里最多支持50个主播同时上行音视频。
    • 1: 观众,只能观看,不能上行视频和音频,一个房间里的观众人数没有上限。
  • 默认值: 0

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var role = 0;

trtc.switchRole({
    role: role
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

connectOtherRoom

请求跨房通话(主播 PK)

connectOtherRoom({params}, function(ret, err))

params

roomId:

  • 类型: 整数类型
  • 描述: (必填项) 目标房间号

userId:

  • 类型: 字符串类型
  • 描述: (必填项) 目标用户Id

callback(ret, err)

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var remoteUserId = 'test002';
var otherRoomId = 2;

trtc.connectOtherRoom({
    userId: remoteUserId,
    roomId: otherRoomId
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

disconnectOtherRoom

退出跨房通话

disconnectOtherRoom({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

trtc.disconnectOtherRoom({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

setDefaultStreamRecvMode

设置音视频数据接收模式,需要在进房前设置才能生效

setDefaultStreamRecvMode({params}, function(ret, err))

params

isAudioAuto:

  • 类型: 布尔类型
  • 描述: (可选项) true表示自动接收音频数据;false表示需要调用 muteRemoteAudio 进行请求或取消。
  • 默认值:true

isVideoAuto:

  • 类型: 布尔类型
  • 描述: (可选项) true表示自动接收视频数据;false表示需要调用 startRemoteView/stopRemoteView 进行请求或取消。
  • 默认值:true

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var isAudioAuto = true;
var isVideoAuto = true;

trtc.setDefaultStreamRecvMode({
    isAudioAuto: isAudioAuto,
    isVideoAuto: isVideoAuto
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

startPublishing

开始向腾讯云的直播 CDN 推流

startPublishing({params}, function(ret, err))

params

streamId:

  • 类型: 字符串类型
  • 描述: (必填项) 自定义流Id

streamType:

  • 类型: 整数类型
  • 描述: (必填项) 画面视频流类型
  • 取值范围:
    • 0: 主画面视频流
    • 1: 小画面视频流

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var streamId = 'user_stream_001';
var streamType = 0;

trtc.startPublishing({
    streamId: streamId,
    streamType: streamType
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

stopPublishing

停止向腾讯云的直播 CDN 推流

stopPublishing({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

trtc.stopPublishing({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

startPublishCDNStream

开始向友商云的直播 CDN 转推

startPublishCDNStream({params}, function(ret, err))

params

appId:

  • 类型: 整数类型
  • 描述: (必填项) 腾讯云 AppID,请在 实时音视频控制台 选择已经创建的应用,单击【帐号信息】,在“直播信息”中获取

bizid:

  • 类型: 整数类型
  • 描述: (必填项) 腾讯云直播 bizid,请在 实时音视频控制台 选择已经创建的应用,单击【帐号信息】,在“直播信息”中获取

url:

  • 类型: 字符串类型
  • 描述: (必填项) 旁路转推的Url

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var appId = 111;
var bizId = 1234;

trtc.startPublishCDNStream({
    appId: appId,
    bizId: bizId,
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

stopPublishCDNStream

停止向非腾讯云地址转推

stopPublishCDNStream({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

trtc.stopPublishCDNStream({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

startLocalPreview

开启摄像头预览

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

params

isFront:

  • 类型: 布尔类型
  • 描述: (必填项) true表示前置摄像头;false表示后置摄像头

rect:

  • 类型: JSON对象
  • 描述: (必填项) 画面显示的区域和大小

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

trtc.startLocalPreview({
    rect: {
        x: 0,
        y: 0,
        w: api.winWidth / 2,
        h: api.winHeight / 2
    },
    isFront: isFront
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

stopLocalPreview

停止本地视频采集及预览

stopLocalPreview({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

trtc.stopLocalPreview({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

muteLocalVideo

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

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

params

isMute:

  • 类型: 布尔类型
  • 描述: (必填项) true表示暂停;false表示恢复

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var isMute = true;

trtc.muteLocalVideo({
    isMute: isMute
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

setVideoMuteImage

设置暂停推送本地视频时要推送的图片

setVideoMuteImage({params}, function(ret, err))

params

img:

  • 类型: 字符串类型
  • 描述: (必填项) 邀请Id

fps:

  • 类型: 整数类型
  • 描述: (必填项) 设置推送图片帧率
  • 取值范围: [5 - 10]
  • 默认值: 5

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var img = 'xxxx';
var fps = 10;

trtc.setVideoMuteImage({
    img: img,
    fps: fps
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

startRemoteView

开始拉取并显示指定用户的远端画面

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

params

userId:

  • 类型: 字符串类型
  • 描述: (必填项) 指定远端用户的 userId

streamType:

  • 类型: 整数类型
  • 描述: (必填项) 指定要观看 userId 的视频流类型
  • 取值范围:
    • 0: 高清大画面
    • 1: 低清小画面
    • 2: 辅流(屏幕分享)

rect:

  • 类型: JSON对象
  • 描述: (必填项) 画面显示的位置和大小

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var remoteUserId = 'test002';
var streamType = 0;

trtc.startRemoteView({
    rect: {
        x: 0,
        y: 0,
        w: api.winWidth / 4,
        h: api.winHeight / 4
    },
    userId: remoteUserId,
    streamType: streamType
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

stopRemoteView

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

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

params

userId:

  • 类型: 字符串类型
  • 描述: (必填项) 指定远端用户的 userId

streamType:

  • 类型: 整数类型
  • 描述: (必填项) 指定要停止观看的 userId 的视频流类型
  • 取值范围:
    • 0: 高清大画面
    • 1: 低清小画面
    • 2: 辅流(屏幕分享)

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var remoteUserId = 'test002';
var streamType = 0;

trtc.stopRemoteView({
    userId: remoteUserId,
    streamType: streamType
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

stopAllRemoteView

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

stopAllRemoteView({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

trtc.stopAllRemoteView({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

muteRemoteVideoStream

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

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

params

userId:

  • 类型:字符串类型
  • 描述: (必填项) 对方的用户标识

isMute:

  • 类型: 布尔类型
  • 描述: (可选项) 是否暂停接收

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var remoteUserId = 'test002';
var isMute = true;

trtc.muteRemoteVideoStream({
    userId: remoteUserId,
    isMute: isMute
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

muteAllRemoteVideoStreams

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

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

params

isMute:

  • 类型:布尔类型
  • 描述: (可选项) 是否暂停接收
  • 默认值: false

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true  	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var isMute = true;

trtc.muteAllRemoteVideoStreams({
    isMute: isMute
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

setVideoEncoderParam

设置视频编码器相关参数

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

params

resolution:

  • 类型: 整数类型
  • 描述: (必填项) 视频分辨率
  • 取值范围: 宽高比1:1
    • 0: 分辨率120x120, 建议码率 VideoCall:80kbps LIVE:120kbps
    • 1: 分辨率160x160, 建议码率 VideoCall:100kbps LIVE:150kbps
    • 2: 分辨率270x270, 建议码率 VideoCall:200kbps LIVE:120kbps
    • 3: 分辨率480x480, 建议码率 VideoCall:350kbps LIVE:120kbps 宽高比4:3
    • 4: 分辨率160x120, 建议码率 VideoCall:100kbps LIVE:150kbps
    • 5: 分辨率240x180, 建议码率 VideoCall:150kbps LIVE:225kbps
    • 6: 分辨率280x210, 建议码率 VideoCall:200kbps LIVE:300kbps
    • 7: 分辨率320x240, 建议码率 VideoCall:250kbps LIVE:375kbps
    • 8: 分辨率400x300, 建议码率 VideoCall:300kbps LIVE:450kbps
    • 9: 分辨率480x360, 建议码率 VideoCall:400kbps LIVE:600kbps
    • 10: 分辨率640x480, 建议码率 VideoCall:600kbps LIVE:900kbps
    • 11: 分辨率960x720, 建议码率 VideoCall:1000kbps LIVE:1500kbps 宽高比16:9
    • 12: 分辨率160x90, 建议码率 VideoCall:150kbps LIVE:250kbps
    • 13: 分辨率256x144, 建议码率 VideoCall:200kbps LIVE:300kbps
    • 14: 分辨率320x180, 建议码率 VideoCall:250kbps LIVE:400kbps
    • 15: 分辨率480x270, 建议码率 VideoCall:350kbps LIVE:550kbps
    • 16: 分辨率640x360, 建议码率 VideoCall:550kbps LIVE:900kbps
    • 17: 分辨率960x540, 建议码率 VideoCall:850kbps LIVE:1300kbps
    • 18: 分辨率1280x720, 建议码率 VideoCall:1200kbps LIVE:1800kbps
    • 19: 分辨率1920x1080, 建议码率 VideoCall:2000kbps LIVE:3000kbps

fps:

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

bitrate:

  • 类型: 整数类型
  • 描述: (必填项) 目标视频码率,SDK 会按照目标码率进行编码,只有在网络不佳的情况下才会主动降低视频码率
  • 推荐取值: 请参考本 videoResolution 在各档位注释的最佳码率,也可以在此基础上适当调高。 比如 分辨率1280x720 对应 1200kbps 的目标码率,您也可以设置为 1500kbps 用来获得更好的清晰度观感。
  • 特别说明: SDK 会努力按照 videoBitrate 指定的码率进行编码,只有在网络不佳的情况下才会主动降低视频码率,最低会降至 minVideoBitrate 所设定的数值。 如果您追求“允许卡顿但要保持清晰”的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60; 如果您追求“允许模糊但要保持流畅”的效果,可以设置 minVideoBitrate 为 200kbps; 如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 的自适应调节能力。

resMode:

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

minBitrate:

  • 类型: 整数类型
  • 描述: (可选项) 最低视频码率,SDK 会在网络不佳的情况下主动降低视频码率,最低会降至 minVideoBitrate 所设定的数值。
  • 推荐取值:
    • 如果您追求“允许卡顿但要保持清晰”的效果,可以设置 minBitrate 为 videoBitrate 的 60;
    • 如果您追求“允许模糊但要保持流畅”的效果,可以设置 minVideoBitrate 为 200kbps;
    • 如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 的自适应调节能力;
    • 默认值:0,此时最低码率由 SDK 根据分辨率情况,自动设置合适的数值。
  • 特别说明: 当您把分辨率设置的比较高时,minBitrate 不适合设置的太低,否则会出现画面模糊和大范围的马赛克宏块。 比如把分辨率设置为 720p,把码率设置为 200kbps,那么编码出的画面将会出现大范围区域性马赛克。
  • 默认值: 0

enableAdjustRes:

  • 类型: 布尔类型
  • 描述: (可选项) 是否允许调整分辨率
  • 推荐取值:
    • 手机直播建议选择 false。
    • 视频通话模式,若更关注流畅性,建议选择 true,此时若遇到带宽有限的弱网,SDK 会自动降低分辨率以保障更好的流畅度(仅针对 TRTCVideoStreamTypeBig 生效)。
  • 默认值: false
  • 特别说明: 若有录制需求,选择 true 时,请确保通话过程中,调整分辨率不会影响您的录制效果。

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var videoEncParam = {
    resolution: 0,
    bitrate: 12800
};

trtc.setVideoEncoderParam({
    videoEncParam: videoEncParam
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

setLocalRenderParams

本地图像的渲染设置

setLocalRenderParams({params}, function(ret, err))

params

fillMode:

  • 类型:整数类型
  • 描述: (可选项) 画面填充模式
  • 取值范围:
    • 0: 填充(画面可能会被拉伸裁剪)
    • 1: 适应(画面可能会有黑边)
  • 默认值: 0

mirrorType:

  • 类型: 整数类型
  • 描述: (可选项) 画面镜像模式
  • 取值范围:
    • 0: 前置摄像头镜像,后置摄像头不镜像
    • 1: 前后置摄像头画面均镜像
    • 2: 前后置摄像头画面均不镜像
  • 默认值: 0

rotation:

  • 类型: 整数类型
  • 描述: (可选项) 画面朝向
  • 取值范围:
    • 0: 不旋转
    • 1: 顺时针旋转90度
    • 2: 顺时针旋转180度
    • 3: 顺时针旋转270度
  • 默认值: 0

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var fillMode = 0;
var rotation = 0;
var mirrorType = 0;

trtc.setLocalRenderParams({
    fillMode: fillMode,
    mirrorType: mirrorType,
    rotation: rotation
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

setRemoteRenderParams

远端图像的渲染设置

setRemoteRenderParams({params}, function(ret, err))

params

userId:

  • 类型:字符串类型
  • 描述: (必填项) 用户Id

streamType:

  • 类型: 整数类型
  • 描述: (必填项) 视频线路
  • 取值范围:
    • 0: 主路(TRTCVideoStreamTypeBig)
    • 1: 辅路(TRTCVideoStreamTypeSub)

renderParams:

  • 类型: JSON对象

  • 描述: (可选项) 渲染设置

  • 字段详情:

fillMode:

  • 类型:整数类型
  • 描述: (可选项) 画面填充模式
  • 取值范围:
    • 0: 填充(画面可能会被拉伸裁剪)
    • 1: 适应(画面可能会有黑边)
  • 默认值: 0

mirrorType:

  • 类型: 整数类型
  • 描述: (可选项) 画面镜像模式
  • 取值范围:
    • 0: 前置摄像头镜像,后置摄像头不镜像
    • 1: 前后置摄像头画面均镜像
    • 2: 前后置摄像头画面均不镜像
  • 默认值: 0

rotation:

  • 类型: 整数类型
  • 描述: (可选项) 画面朝向
  • 取值范围:
    • 0: 不旋转
    • 1: 顺时针旋转90度
    • 2: 顺时针旋转180度
    • 3: 顺时针旋转270度
  • 默认值: 0

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var remoteUserId = 'test002';
var streamType = 0;
var fillMode = 0;
var rotation = 0;
var mirrorType = 0;

trtc.setRemoteRenderParams({
    userId: remoteUserId,
    streamType: streamType,
    renderParams: {
        fillMode: fillMode,
        mirrorType: mirrorType,
        rotation: rotation
    }
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

setVideoEncoderRotation

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

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

params

rotation:

  • 类型:整数类型
  • 描述: (可选项) 旋转角度
  • 取值范围: 0: 旋转0度 1: 旋转180度
  • 默认值: 0

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var rotation = 0;

trtc.setVideoEncoderRotation({
    rotation: rotation
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

setVideoEncoderMirror

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

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

params

isMirror:

  • 类型: 布尔类型
  • 描述: (必填项) 是否开启远端镜像
  • 默认值: false

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true  	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var isMirror = true;

trtc.setVideoEncoderMirror({
    isMirror: isMirror
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});        

可用性

iOS, Android系统

可提供的1.0.0及更高版本

setGSensorMode

设置重力感应的适应模式

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

params

mode:

  • 类型: 整数类型
  • 描述: (必填项) 重力感应模式
  • 取值范围:
    • 0: 关闭重力感应
    • 1: 开启重力感应
    • 2: 待废弃,效果等同于1
  • 默认值: 1

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var gSensorMode = 0;

trtc.setGSensorMode({
    mode: gSensorMode
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

startLocalAudio

开启本地音频的采集和上行

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

params

quality:

  • 类型: 整数类型
  • 描述: (必填项) 声音音质
  • 取值范围:
    • 0: 流畅:采样率:16k;单声道;音频裸码率:16kbps;适合语音通话为主的场景,比如在线会议,语音通话。
    • 1: 默认:采样率:48k;单声道;音频裸码率:50kbps;SDK 默认的音频质量,如无特殊需求推荐选择之。
    • 高音质:采样率:48k;双声道 + 全频带;音频裸码率:128kbps;适合需要高保真传输音乐的场景,比如K歌、音乐直播等。

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var quality = 1;

trtc.startLocalAudio({
    quality: quality
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

stopLocalAudio

关闭本地音频的采集和上行

stopLocalAudio({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

trtc.stopLocalAudio({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

muteLocalAudio

静音/取消静音本地的音频

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

params

isMute:

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

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var isMute = true;

trtc.muteLocalAudio({
    isMute: isMute
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

muteRemoteAudio

静音/取消静音指定的远端用户的声音

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

params

userId:

  • 类型: 字符串类型
  • 描述: (必填项) 对方的用户Id

isMute:

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

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var remoteUserId = 'test002';
var isMute = true;

trtc.muteRemoteAudio({
    userId: remoteUserId,
    isMute: isMute
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

isFrontCamera

判断当前是否为前置摄像头

isFrontCamera({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

trtc.isFrontCamera({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

switchCamera

切换摄像头

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

params

isFront:

  • 类型: 布尔类型
  • 描述: (必填项) 是否为前置摄像头

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true, 	// 布尔类型, true表示操作成功
    isFront: true
}
  • 字段详情:

isFront:

  • 类型: 布尔类型
  • 描述: 是否使用前置摄像头

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var isFront = true;

trtc.switchCamera({
    isFront: isFront
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

Android系统

可提供的1.0.0及更高版本

setBeautyStyle

设置美颜(磨皮)算法

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

params

mode:

  • 类型: 整数类型
  • 描述: (必填项) 美颜风格,光滑或者自然,光滑风格磨皮更加明显,适合娱乐场景。
  • 取值范围:
    • 0: 光滑,适用于美女秀场,效果比较明显
    • 1: 自然,磨皮算法更多地保留了面部细节,主观感受上会更加自然
    • 2: 朦胧(仅支持iOS)

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var beautyStyleMode = 0;

trtc.setBeautyStyle({
    mode: beautyStyleMode
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

setBeautyLevel

设置美颜级别

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

params

level:

  • 类型: 字符串类型
  • 描述: (必填项) 美颜级别,0表示关闭,1 - 9值越大,效果越明显。
  • 取值范围: [0 - 9]

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var beautyLevel = 1;

trtc.setBeautyLevel({
    level: beautyLevel
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

setWhitenessLevel

设置美白级别

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

params

level:

  • 类型: 整数类型
  • 描述: (必填项) 美白级别,0表示关闭,1 - 9值越大,效果越明显。
  • 取值范围: [0 - 9]

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var whitenessLevel = 1;

trtc.setWhitenessLevel({
    level: whitenessLevel
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

setRuddyLevel

设置红润级别

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

params

level:

  • 类型: 整数类型
  • 描述: (必填项) 红润级别,0表示关闭,1 - 9值越大,效果越明显。
  • 取值范围: [0 - 9]

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var ruddyLevel = 1;

trtc.setRuddyLevel({
    level: ruddyLevel
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

setFilter

设置指定素材滤镜特效

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

params

img:

  • 类型: 字符串类型
  • 描述: (必填项) 滤镜图片

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var img = 'xxxxx';

trtc.setFilter({
    img: img
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

setFilterStrength

设置滤镜浓度

setFilterStrength({param}, function(ret, err))

params

strength

  • 类型: 浮点数类型
  • 描述: (必填项) 滤镜浓度
  • 取值范围: [0 - 1]
  • 默认值: 0.5

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true   // 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var strength = 0.5;

trtc.setFilterStrength({
    strength: strength
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

setMusicListener

设置背景音乐监听

setMusicListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var musicId = 12;

trtc.setMusicListener({
    id: musicId
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

removeMusicListener

移除背景音乐监听

removeMusicListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段
{
    status: true   // 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var musicId = 12;

trtc.removeMusicListener({
    id: musicId
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

startPlayMusic

开始播放背景音乐

startPlayMusic({params}, function(ret, err))

params

id:

  • 类型: 整数类型
  • 描述: (必填项 ) 音乐 Id

path:

  • 类型: 字符串类型
  • 描述: (必填项) 音乐文件的绝对路径

callback

status:

  • 类型: JSON对象
  • 内部字段:
{
    status: true   // 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var musicId = 10;
var musicPath = 'http://bgm-1252463788.cos.ap-guangzhou.myqcloud.com/keluodiya.mp3';

trtc.startPlayMusic({
    id: musicId,
    path: musicPath
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

stopPlayMusic

停止播放背景音乐

stopPlayMusic({params}, function(ret, err))

params

id:

  • 类型: 整数类型
  • 描述: (必填项 ) 音乐 Id

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var musicId = 10;

trtc.stopPlayMusic({
    id: musicId
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

pausePlayMusic

暂停播放背景音乐

pausePlayMusic({params}, function(ret, err))

params

id:

  • 类型: 整数类型
  • 描述: (必填项 ) 音乐 Id

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true   // 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var musicId = 10;

trtc.pausePlayMusic({
    id: musicId
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

resumePlayMusic

恢复播放背景音乐

resumePlayMusic({params}, function(ret, err))

params

id:

  • 类型: 整数类型
  • 描述: (必填项 ) 音乐 Id

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true   // 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var musicId = 10;

trtc.resumePlayMusic({
    id: musicId
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

sendCustomCmdMsg

发送自定义消息给房间内所有用户

sendCustomCmdMsg({params}, function(ret, err))

params

cmdId:

  • 类型: 整数类型
  • 描述: (必填项) 消息 Id
  • 取值范围: [1 - 10]

msg:

  • 类型: 字符串类型
  • 描述: (必填项) 待发送的消息,最大支持1KB(1000字节)的数据大小

reliable:

  • 类型: 布尔类型
  • 描述: (可选项) 是否可靠发送,可靠发送的代价是会引入一定的延时,因为接收端要暂存一段时间的数据来等待重传
  • 默认值: false

ordered:

  • 类型: 布尔类型
  • 描述: (可选项) 是否要求有序,即是否要求接收端接收的数据顺序和发送端发送的顺序一致,这会带来一定的接收延时,因为在接收端需要暂存并排序这些消息。
  • 默认值: false

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true   // 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var cmdId = 2;
var msg = 'this is custom cmd msg';

trtc.sendCustomCmdMsg({
    cmdId: cmdId,
    msg: msg
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

sendSEIMsg

将小数据量的自定义数据嵌入视频帧中

sendSEIMsg({params}, function(ret, err))

params

msg:

  • 类型: 字符串类型
  • 描述: (必填项) 待发送的数据,最大支持1kb(1000字节)的数据大小

repeatCount:

  • 类型: 整数类型
  • 描述: (必填项) 发送数据次数

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true   // 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var msg = 'this is a sei msg';
var repeatCount = 1;

trtc.sendSEIMsg({
    msg: msg,
    repeatCount: repeatCount
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

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