发布网友 发布时间:2024-10-24 09:57
共1个回答
热心网友 时间:11小时前
在 Vue 应用中引入并应用 JsSIP,我主要参考了 JsSIP 踩坑记录与附实战代码的实现方式。然而,本文聚焦于 PC 端网页场景。在尝试使用此方法进行拨打与接听时,遇到 iOS 端拨打成功后无声音的问题。我将在下文深入探讨原因与解决方案。
在开始引入 JsSIP 时,首先访问其官方网站进行学习与下载 .js 文件。然后在 Vue 项目中进行封装,以更好地适应项目需求。
在处理拨入与拨出时,与参考文章中的方法有所不同。面对数据获取,特别是当 data.originator 为 "local" 表示本地情况时,有三种方式可以有效地获取并播放返回的音频流。这三种方法在实际代码编写中尤为重要。
值得注意的是,JsSIP 提供的回调方法 Session.on('accepted', function(data) {}) 只在接听时触发。因此,在接通前,服务器返回的媒体流无法被接收。为解决这一问题,文章中提供了 Vue 项目的引用链接,以供参考。
解决了上述问题后,当前 PC 端移动安卓与 iOS 浏览器均能正常运行。但遗憾的是,在企业微信 PC 端内置浏览器中,声音播放仍存在问题。而微信小程序不支持 ws 连接,需要手动配置 ws 连接,但目前尚未成功调试。