我创建的视频通话项目有问题。我遵循了此视频中的步骤https://www.youtube.com/watch?v=_3exOT53faw&ab_channel=CodeShell,但我收到一个错误,因为RTCPeerConnection.connectionState是失败。根据https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/connectionState这是因为";连接上的一个或多个ICE传输处于故障状态&";。我不知道是应该更改我使用的服务器,还是添加新的服务器。有什么想法吗?以下是部分代码:
const configuration = {
iceServers: [
{
urls: [
'stun:stun1.l.google.com:19302',
'stun:stun2.l.google.com:19302',
],
},
],
iceCandidatePoolSize: 10,
};
peerConnection = new RTCPeerConnection(configuration);
peerConnection.addEventListener('icecandidate', event => {
if (!event.candidate) {
console.log('Got final candidate!');
return;
}
console.log('Got candidate: ', event.candidate);
callerCandidatesCollection.add(event.candidate.toJSON());
});
"stun:stun1.l.google.com:19302",
"stun:stun2.l.google.com:19302",
"stun:stun.l.google.com:19302",
"stun:stun3.l.google.com:19302",
"stun:stun4.l.google.com:19302",
使用这些ice服务器。。。希望它能起作用。。。。。
问题可能是你在对称NAT后面,从你开始检查连接状态开始的30秒后,如果没有找到有效的候选对(可Ping(,连接状态更改为失败。使用TURN服务器(用于中继(可能会帮助您