開發(fā)環(huán)境:
- vue/cli 4.3.1搭建的全家桶
- TypeScript 3.83
- SIP.js 0.16.1
- Chrome 81.0
在接入Websocket和SIPURI之后锅睛,創(chuàng)建UserAgent
和注冊Register
成功昧绣,然后發(fā)送通話邀請報錯:
TypeError Cannot read property 'getUserMedia' of undefined
由于本地暫時沒有麥克風(fēng)服鹅,只有攝像頭胆数,所以認(rèn)為是設(shè)備不能完全支持的問題例驹。但是獲取攝像頭和麥克風(fēng)權(quán)限的彈框沒有出現(xiàn)拾积,隨即否認(rèn)該判斷储矩。
Starting with Chrome 47, getUserMedia() requests are only allowed from secure origins: HTTPS or localhost. link
然后搜索到原因是該方法需要在HTTPS
的支持笨农,雖然localhost
也可以解決問題但是綜合考慮還是打開HTTPS
更好坡椒,于是打開vue/cli
的HTTPS
支持扰路,通過命令行或者 vue ui
在任務(wù) - serve
- 參數(shù) - HTTPS處開啟。雖然瀏覽器仍然提示不安全倔叼,但是硬件權(quán)限已經(jīng)可以開啟汗唱。
現(xiàn)在已經(jīng)可以發(fā)出通話邀請,問題解決丈攒。