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及更高版本