如何在 Freeswitch Verto 中修复 "Cannot read property 'srcObject' of undefined"
How can I fix "Cannot read property 'srcObject' of undefined" in Freeswitch Verto
我正在尝试让 verto 在 Chrome 57.0.2987.133(64 位)中工作。
关注 https://dopensource.com/2017/01/21/setting-up-freeswitch-webrtc-functionality/ 之后,我能够 webrtc/verto 在服务器上工作。我能够获得演示应用程序(在 verto 存储库中)来连接和拨打电话。
我按照 http://evoluxbr.github.io/verto-docs/tut/making-a-call.html 在我这边设置了 verto,但是我得到了 (Uncaught TypeError: Cannot read 属性 'srcObject' of undefined and Uncaught TypeError: Cannot在 chrome 控制台中读取 属性 'sinkId' of undefined)。见下文:
Uncaught TypeError: Cannot read property 'srcObject' of undefined
at FSRTCattachMediaStream (jquery.FSRTC.js:236)
at onRemoteStream (jquery.FSRTC.js:255)
at Object.self.peer.FSRTCPeerConnection.onRemoteStream (jquery.FSRTC.js:593)
at RTCPeerConnection.FSRTCPeerConnection.peer.onaddstream (jquery.FSRTC.js:737)
Uncaught TypeError: Cannot read property 'sinkId' of undefined
at $.verto.dialog.setAudioPlaybackDevice (jquery.verto.js:2144)
at jquery.verto.js:2214
https://pastebin.com/j4GrER0Q。
我的脚本导入看起来像 https://pastebin.com/H55piU1r.
将不胜感激
所以,我最终弄明白了。自 http://evoluxbr.github.io/verto-docs/ 发布以来,verto 代码库发生了变化。
我克隆了最新的(48 小时前)FS 存储库来获取 verto js 库。
原来我不得不做这些额外的事情;
- 在您的 index.html(或任何名称)
中的 verto 库之前包含 vendor/adapter-latest.js
- 在新的 verto 配置中,添加
tag: "<whatever>",
- 在你的 index.html 中插入
<video id="<whatever>"></video>
。您可以添加 display: none;
来隐藏视频 - 如果您只需要音频。
那就解决了。
更新:如果您只需要音频,那么只需使用 <audio>
标签即可。
我正在尝试让 verto 在 Chrome 57.0.2987.133(64 位)中工作。
关注 https://dopensource.com/2017/01/21/setting-up-freeswitch-webrtc-functionality/ 之后,我能够 webrtc/verto 在服务器上工作。我能够获得演示应用程序(在 verto 存储库中)来连接和拨打电话。
我按照 http://evoluxbr.github.io/verto-docs/tut/making-a-call.html 在我这边设置了 verto,但是我得到了 (Uncaught TypeError: Cannot read 属性 'srcObject' of undefined and Uncaught TypeError: Cannot在 chrome 控制台中读取 属性 'sinkId' of undefined)。见下文:
Uncaught TypeError: Cannot read property 'srcObject' of undefined
at FSRTCattachMediaStream (jquery.FSRTC.js:236)
at onRemoteStream (jquery.FSRTC.js:255)
at Object.self.peer.FSRTCPeerConnection.onRemoteStream (jquery.FSRTC.js:593)
at RTCPeerConnection.FSRTCPeerConnection.peer.onaddstream (jquery.FSRTC.js:737)
Uncaught TypeError: Cannot read property 'sinkId' of undefined
at $.verto.dialog.setAudioPlaybackDevice (jquery.verto.js:2144)
at jquery.verto.js:2214
https://pastebin.com/j4GrER0Q。 我的脚本导入看起来像 https://pastebin.com/H55piU1r.
将不胜感激
所以,我最终弄明白了。自 http://evoluxbr.github.io/verto-docs/ 发布以来,verto 代码库发生了变化。
我克隆了最新的(48 小时前)FS 存储库来获取 verto js 库。
原来我不得不做这些额外的事情;
- 在您的 index.html(或任何名称) 中的 verto 库之前包含 vendor/adapter-latest.js
- 在新的 verto 配置中,添加
tag: "<whatever>",
- 在你的 index.html 中插入
<video id="<whatever>"></video>
。您可以添加display: none;
来隐藏视频 - 如果您只需要音频。
那就解决了。
更新:如果您只需要音频,那么只需使用 <audio>
标签即可。