getUserMedia报错

开发环境:

  • vue/cli 4.3.1搭建的全家桶
  • TypeScript 3.83
  • SIP.js 0.16.1
  • Chrome 81.0
在接入Websocket和SIPURI之后,创建UserAgent和注册Register成功,然后发送通话邀请报错:
TypeError Cannot read property 'getUserMedia' of undefined

由于本地暂时没有麦克风,只有摄像头,所以认为是设备不能完全支持的问题。但是获取摄像头和麦克风权限的弹框没有出现,随即否认该判断。
Starting with Chrome 47, getUserMedia() requests are only allowed from secure origins: HTTPS or localhost. link
然后搜索到原因是该方法需要在HTTPS的支持,虽然localhost也可以解决问题但是综合考虑还是打开HTTPS更好,于是打开vue/cliHTTPS支持,通过命令行或者 vue ui在任务 - serve- 参数 - HTTPS处开启。虽然浏览器仍然提示不安全,但是硬件权限已经可以开启。

getUserMedia报错
文章图片
getUserMedia报错_第1张图片" style="border:1px solid black; "> 开启HTTPS后
【getUserMedia报错】现在已经可以发出通话邀请,问题解决。

    推荐阅读