2016-02-25 52 views
0

使用Chrome時,我突然讓我的web應用程序下面的錯誤瀏覽器更新突破:鉻的WebRTC與adapter.js

Failed to construct 'RTCPeerConnection': Failed to initialize native PeerConnection. 

我相信這是因爲鉻更新

我使用adapter.js v1.0.2(最新版)

這不會發生在Firefox中。我認爲這是因爲我的約束對象。這裏是

options = { 
     iceServers:[ 
      { 
       url:'stun:12.345.678.910:3478' 
      }, 

      { 
       url: "turn:@12.345.678.910:3479", 
       username:"ninefingers", 
       credential:"youhavetoberealistic" 
      } 
     ] 
    }; 

我確定turn服務器正在運行。我認爲選項對象格式已經改變。在ubuntu和mac os上使用chrome 48.0.2564.116 x。

回答

2

我懷疑這是一個adapter.js的問題,在你的ice server config url中,有一個不必要的@,那肯定是問題所在。也許火狐只是忽略它,而Chrome是更加嚴格,變更代碼:

... 
    urls: "turn:12.345.678.910:3479", 
    ... 

編輯:基於懸臂的意見,即url已過時,必須與urls被替換,新的代碼將是:

options = { 
    iceServers:[ 
     { 
      urls:'stun:12.345.678.910:3478' 
     }, 

     { 
      urls: "turn:12.345.678.910:3479", 
      username:"ninefingers", 
      credential:"youhavetoberealistic" 
     } 
    ] 
}; 
+2

適合我。另外,我會將'url'重命名爲['urls'](http://w3c.github.io/webrtc-pc/#idl-def-RTCIceServer),因爲前者已被棄用(儘管它仍然有效)。 – jib