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

跟随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,但是在chrome控制台中得到了( Uncaught TypeError:无法读取未定义的属性'srcObject'和Uncaught TypeError:无法读取未定义的属性'sinkId')。见下文:

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>标记即可。

    关于webrtc - 如何在Freeswitch Verto中修复“无法读取未定义的属性'srcObject'”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43431919/

    10-11 01:10