tencentTrtcVideoCall
腾讯云视频语音通话
该模块实现腾讯云视频通话, 支持视频通话, 提供类似微信的视频通话功能,适用多人、双人视频语音模式、网络会议、在线医疗、视频客服、金融双录等场景。
论坛示例
该论坛提供了模块使用示例入口,您可以在论坛中找到使用的Demo,以及问题反馈。
技术支持
如果您有以下需求:
- 方案咨询;
- 接入流程协助;
- 测试DEMO功能;
- 高级功能测试;
- 问题反馈;
- 需求反馈;
联系我们,获取技术支持,微信号为: ruanyunkeji001或ruanyunkeji002
接口列表
接口列表 | 功能 |
---|---|
init | 初始化 |
setVideoCallListener | 设置监听器 |
removeVideoCallListener | 移除监听器 |
destroy | 销毁 |
login | 登录 |
logout | 登出 |
call | 单人通话邀请 |
groupCall | 群组邀请通话 |
accept | 接受当前通话 |
reject | 拒绝当前通话 |
hangup | 挂断当前通话 |
startRemoteView | 显示远端画面 |
stopRemoteView | 停止显示远端画面 |
openCamera | 开启摄像头 |
switchCamera | 切换前后摄像头 |
closeCamera | 关闭摄像头 |
setMicMute | 静音本地音频采集 |
setHandsFree | 开启免提 |
模块接口
加载模块
var videoCall = api.require('tencentTrtcVideoCall');
模块加载后,就可以调用下方接口。
init
初始化
init({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
代码示例
videoCall.init({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
setVideoCallListener
设置监听
setVideoCallListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
eventType: "onInvited",
...
}
- 邀请方回调:
|事件回调|回调含义| |onReject|拒绝通话回调| |onNoResp|对方无回应回调| |onLineBusy|通话忙线回调|
- 被邀请方回调:
|事件回调|回调含义| |onInvited|被邀请通话回调| |onvideoCallCancel|当前通话被取消回调| |onvideoCallTimeOut|当前通话超时回调|
- 通用回调:
|事件回调|回调含义| |onGroupCallInviteeListUpdate|群聊更新邀请列表回调| |onUserEnter|用户进入通话回调| |onUserLeave|用户离开通话回调| |onUserAudioAvailable|用户是否开启音频上行回调| |onUserVideoAvailable|用户是否开启视频上行回调| |onUserVoiceVolume|用户通话音量回调| |onCallEnd|通话结束回调|
- 通用事件回调:
|事件回调|回调含义| |onError|错误回调|
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
videoCall.setvideoCallListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(er));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
removeVideoCallListener
移除监听器
removeVideoCallListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
videoCall.setvideoCallListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
destroy
销毁
destroy({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
videoCall.destroy({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
login
登录
login({params}, function(ret, err))
params
sdkAppId:
- 类型: 整数类型
- 描述: (必填项)在实时音视频控制台 >【应用管理】> 应用信息中查看
userId:
- 类型: 字符串类型
- 描述: (必填项)当前用户的Id
userSig:
- 类型: 字符串
- 描述: (必填项)用户签名
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
var sdkAppId = 14xxxxx16;
var userId = 'test001';
var userSig = 'eJw1zMEOgxxxxxeH3CNMZw_';
videoCall.login({
sdkAppId: sdkAppId,
userId: userId,
userSig: userSig
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
logout
登出
logout({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
videoCall.logout({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
call
修改个人信息
call({params}, function(ret, err))
params
userId:
- 类型: 字符串类型
- 描述: (可选项)呼叫用户Id
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
videoCall.call({
userId: remoteUserId
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
groupCall
群组邀请通话
groupCall({params}, function(ret, err))
params
userIdList:
- 类型: 数组类型
- 描述: (必填项)邀请Id列表
groupId:
- 类型: 字符串类型
- 描述: (必填项)群Id
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
videoCall.groupCall({
userIdList: userIdList,
groupId: groupId
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
accept
接受当前通话
accept({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
videoCall.accept({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
reject
拒绝当前通话
reject({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
videoCall.reject({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
hangup
挂断当前通话
hangup({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
videoCall.hangup({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
startRemoteView
远端用户的摄像头数据渲染
startRemoteView({params}, function(ret, err))
params
userId:
- 类型: 字符串类型
- 描述: (必填项)远端用户Id
rect:
- 类型: JSON对象
- 描述: (必填项)显示区域的位置和大小
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
var remoteUserId = 'test002';
videoCall.startRemoteView({
userId: remoteUserId,
rect: {
x: 0,
y: 0,
w: api.winWidth / 4,
h: api.winHeight / 4
}
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
stopRemoteView
停止渲染远端数据
stopRemoteView({params}, function(ret, err))
params
userId:
- 类型: 字符串类型
- 描述: (必填项) 远端用户Id
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
var remoteUserId = 'test002';
videoCall.stopRemoteView({
userId: remoteUserId
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
openCamera
开启摄像头
openCamera({params}, function(ret, err))
params
isFront:
- 类型: 布尔类型
- 描述: (必填项)true:开启前置摄像头,false:开启后置摄像头
rect:
- 类型: JSON对象
- 描述: (必填项)视频的位置和大小
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
videoCall.openCamera({
isFront: isFront,
rect: {
x: 0,
y: 0,
w: api.winWidth / 2,
h: api.winHeight / 2
}
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
switchCamera
切换前后摄像头
switchCamera({params}, function(ret, err))
params
isFront:
- 类型: 布尔类型
- 描述: (必填项) true:切换到前置摄像头,false:切换到后置摄像头
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
var isFront = true;
videoCall.switchCamera({
isFront: isFront
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
closeCamera
关闭摄像头
closeCamera({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
videoCall.closeCamera({}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
setMicMute
静音本地音频采集
setMicMute({params}, function(ret, err))
params
isMute:
- 类型: 布尔类型
- 描述: (必填项) true:麦克风关闭,false:麦克风打开
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
var isMute = true;
videoCall.setMicMute({
isMute: isMute
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
setHandsFree
开启免提
setHandsFree({params}, function(ret, err))
params
isHandsFree:
- 类型: 布尔类型
- 描述: (必填项) true:开启免提,false:关闭免提
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
var isHandsFree = true;
videoCall.setHandsFree({
isHandsFree: isHandsFree
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本