如何在Freeswitch Verto中修复“无法读取未定义的属性'srcObject'

时间:2017-04-15 22:31:10

标签: webrtc freeswitch mod-verto

我正在尝试在Chrome 57.0.2987.133(64位)中使用Verto。

在关注https://dopensource.com/2017/01/21/setting-up-freeswitch-webrtc-functionality/之后,我能够在服务器上运行webrtc / verto。我能够获得演示应用程序(在verto repo中)来连接和拨打电话。

我跟着http://evoluxbr.github.io/verto-docs/tut/making-a-call.html设置了我的终端上的verto,但是我得到了( Uncaught TypeError:无法读取未定义和未捕获TypeError的属性'srcObject':无法读取未定义的属性'sinkId')在chrome控制台中。见下文:

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

非常感谢协助

1 个答案:

答案 0 :(得分:3)

所以,我最终想到了这一点。自从http://evoluxbr.github.io/verto-docs/提出以来,verto代码库已经发生了变化。

我克隆了最新的(48小时)FS回购以获得verto js libs。

原来我必须做这些额外的事情;

  1. 在index.html(或其他任何名称)的verto lib之前包含vendor / adapter-latest.js
  2. 在新的verto配置中,添加tag: "<whatever>",
  3. 在index.html中插入<video id="<whatever>"></video>。您可以添加display: none;来隐藏视频 - 如果您只需要音频。
  4. 解决了它。

    更新:如果您只需要音频,那么只需使用<audio>标记即可。