我在我的 webrtc 1-1 视频通话应用程序中使用adapter.js。它在 Google Chrome 上运行良好,双方都可以看到彼此的视频并可以听到音频。但是,当我在 FireFox 上运行相同的应用程序时,我在控制台上收到以下来自 adapter.js 的错误。
NS_ERROR_UNEXPECTED
这是来自adapter.js的函数,它在返回语句上给出了上述错误:
var RTCPeerConnection = function(pcConfig, pcConstraints) {
// .urls is not supported in FF yet.
maybeFixConfiguration(pcConfig);
return new mozRTCPeerConnection(pcConfig, pcConstraints);
};
这是 pcConfig 内部的内容:
{"iceServers":[{"url":"stun:stun.l.google.com:19302"}]}
这是 pcConstraints 内部的内容:
{"optional":[{"DtlsSrtpKeyAgreement":true},{"RtpDataChannels":true}],"mandatory":{}}
这就是函数 maybeFixConfiguration(pcConfig)
的样子:
function maybeFixConfiguration(pcConfig) {
if (pcConfig == null) {
return;
}
for (var i = 0; i < pcConfig.iceServers.length; i++) {
if (pcConfig.iceServers[i].hasOwnProperty('urls')){
pcConfig.iceServers[i]['url'] = pcConfig.iceServers[i]['urls'];
delete pcConfig.iceServers[i]['urls'];
}
}
}
我不明白我在这里犯了什么错误。 pcConfig 和 pcConstraints 结构有问题。我正在使用今天下载的最新版 FireFox。
最佳答案
这可能已经过时,但可能会有所帮助。
在创建new RTCPeerConnection(config)
时,我遇到了相同的NS_ERROR_UNEXPECTED
。
我的问题是我的 iceServers
数组有一个无效的 urls
部分,这给 Firefox 带来了问题,特别是我有
urls: '转:someUsername@ipAddress:port'
一段时间后我发现 someUsername@
不被 FF 接受,尽管它可以在 Chrome 上运行。
删除字符串的 username@
部分解决了我的问题,希望有帮助。
关于firefox - Moz RTCPeerConnection() 上 FireFox 中的 NS_ERROR_UNEXPECTED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30581417/