WebRTC 一个候选事件
WebRTC onicecandidate event
我对 RTCPeerConnection 的 onicecandidate 事件有以下回调:
function iceCallback(event) {
if (event.candidate) {
var candidate = event.candidate;
socSend("candidate", candidate. event.target.id);
}
}
我能够从 event.candidate 中读取候选人。但是当我尝试读取 event.target.id 时,出现异常,无法读取未定义的 属性 目标。
"id" 是我之前为 RTCPeerConnection 创建的 属性。这是用于多用户视频聊天。
我试图找出哪个 RTCPeerConnection 触发了 onicecandidate 事件,以便我知道我需要将 icecandidate 发送给哪个客户端。我正在使用 adapter.js 库。
我假设您的部分代码如下所示,我只是添加了一个简单的修改:
peerConnections ={};
function createNewConncection(id){
var pc = new RTCPeerConnection();
pc.onaddstream = ...
...
//pc.onicecandidate = iceCallback; // OLD CODE
pc.onicecandidate = iceCallback.bind({pc:pc, id:id}); // NEW CODE
peerConnections[id] = pc;
}
function iceCallback(event) {
if (event.candidate) {
var candidate = event.candidate;
//socSend("candidate", candidate. event.target.id); // OLD CODE
socSend("candidate", this.id); // NEW CODE
}
}
我对 RTCPeerConnection 的 onicecandidate 事件有以下回调:
function iceCallback(event) {
if (event.candidate) {
var candidate = event.candidate;
socSend("candidate", candidate. event.target.id);
}
}
我能够从 event.candidate 中读取候选人。但是当我尝试读取 event.target.id 时,出现异常,无法读取未定义的 属性 目标。
"id" 是我之前为 RTCPeerConnection 创建的 属性。这是用于多用户视频聊天。
我试图找出哪个 RTCPeerConnection 触发了 onicecandidate 事件,以便我知道我需要将 icecandidate 发送给哪个客户端。我正在使用 adapter.js 库。
我假设您的部分代码如下所示,我只是添加了一个简单的修改:
peerConnections ={};
function createNewConncection(id){
var pc = new RTCPeerConnection();
pc.onaddstream = ...
...
//pc.onicecandidate = iceCallback; // OLD CODE
pc.onicecandidate = iceCallback.bind({pc:pc, id:id}); // NEW CODE
peerConnections[id] = pc;
}
function iceCallback(event) {
if (event.candidate) {
var candidate = event.candidate;
//socSend("candidate", candidate. event.target.id); // OLD CODE
socSend("candidate", this.id); // NEW CODE
}
}