# Promise<Object> callDevice(Object req)

本接口为异步接口,返回 Promise 对象。

需插件 2.4.0 版本开始支持

从手机客户端的小程序呼叫 Linux 设备、RTOS 设备。调用此接口后,会创建 VoIP 房间。开发者应自行向设备端推送通话提醒。详情参考《手机微信呼叫设备(Linux 直连)》

本接口只能在微信客户端内使用,不可在 WMPF 内使用。建议先阅读接口介绍

# 参数

# Object req

属性 类型 默认值 必填 说明 最低版本
roomType string 通话类型。voice: 音频通话;video: 视频通话
sn string 接听方设备 SN
modelId string 接听方设备 modelId
chargeType string 'license' 计费方式。duration: 时长计费;license:license 计费
timeLimit number 最大通话时长,需为 > 0 的数字
enableCallerCamera boolean true 拨打方是否启用摄像头
enableListenerCamera boolean true 接听方是否启用摄像头
nickName string 设备端显示的微信用户名称,仅记录
deviceName string 微信端显示的设备名称 2.4.1
isCloud boolean false 如果是呼叫 RTOS 设备,设置为 true 以触发消息回调
payload string 呼叫 RTOS 时,可以带 payload 到回调消息中

# 返回值

本接口调用失败会抛出异常

# Object

接口调用成功时,返回如下:

属性 类型 说明 最低版本
roomId string 本次通话的房间号

# 示例代码

const wmpfVoip = requirePlugin('wmpf-voip').default

try {
  const { roomId } = await wmpfVoip.callDevice({
    roomType: 'video',
    sn: '设备 SN',
    modelId: '设备 modelId',
    nickName: '设备端显示的微信用户名称',
  })

  if (/* 当前不在插件页面 */) {
    wx.redirectTo({
      url: wmpfVoip.CALL_PAGE_PATH,
    })
  }
} catch (e) {
  console.error('callDevice failed:', e)
  wx.showToast({
    title: '呼叫失败',
    icon: 'error',
  })
}