# 发起通话接口介绍
插件提供设备端和微信用户直接通话的能力。
# 1. 选择接口
开发者请根据场景选择不同的通话接口。
# 1.1 安卓 WMPF 设备呼叫手机微信
使用 initByCaller
接口,businessType 传 1。
# 1.2 Linux 设备呼叫手机微信
Linux 设备不运行小程序插件,请使用小程序音视频通话 SDK (Linux 设备)。
# 1.3 手机微信呼叫安卓 WMPF 设备
- 推荐:使用
callWMPF
接口。需插件 2.4.0 开始支持。若使用 license 计费,必须使用本接口。 - 使用
initByCaller
接口,businessType 传 2。此方式不支持 license 计费。
# 1.4 手机微信呼叫 Linux 设备
使用 callDevice
接口。需插件 2.4.0 开始支持。
请注意:呼叫 Linux 设备时,微信不进行消息推送,需要开发者自行将设备端加入房间所需参数(如 roomId 等)从微信端推送到设备端。
# 2. 使用前必读
# 2.1 进入通话页面
发起通话的几个接口即可以在小程序页面,也可以在插件页面调用。但是最终通话流程必须在插件页面才能进行。
- 如果发起通话时在小程序页面,接口调用成功后,开发者需要手动跳转到插件页面,插件页面加载完成后进入通话流程。
- 如果发起通话时在插件页面,接口调用成功后就会直接进入通话流程。此时请勿重复进行页面跳转,否则当前通话会被中断。
- 不建议页面栈内存在多个插件页面实例。
// 发起通话成功后,仅在当前不是插件页面的情况下需进行跳转。
wx.redirectTo({
// 此处只需要传入 path 即可,如果开发者有其他参数需要传递给小程序,也可以自行拼接 query,并通过插件 getPluginOnloadOptions 接口获取。
url: wmpfVoip.CALL_PAGE_PATH,
// 插件 2.3.9 开始支持 CALL_PAGE_PATH, 低版本请传入 'plugin-private://wxf830863afde621eb/pages/call-page-plugin/call-page-plugin',
})
# 2.2 最大通话时长
为了降低开发者的开发成本,插件提供了限制最大通话时长的能力。最大通话时长应为 > 0 的数字。
通话时长从 startVoip
事件开始计时,超时后通话自动结束并弹 toast 提示用户,同时触发 hangUpVoip
事件,origin 为 'timeLimit'
。
# 2.3 groupId 与 roomId
在插件 2.4.0 以下版本中,通话房间 ID 被称为 groupId
,这个名字比较容易与设备组的 ID 产生混淆,因此从 2.4.0 开始,房间号统一更名为 roomId
,但为保持向下兼容,groupId 参数仍予以保留。
二者除名字不同外,无其他差异。