Webrtc 媒体和数据是否可以使用相同的RTPeerConnection?
我是webrtc新手,我不太清楚是否可以使用RTPeerConnection对象(我使用该对象正确传输媒体)来创建数据通道,或者我必须为数据传输执行单独的信令 谢谢是(在Chrome中使用):Webrtc 媒体和数据是否可以使用相同的RTPeerConnection?,webrtc,Webrtc,我是webrtc新手,我不太清楚是否可以使用RTPeerConnection对象(我使用该对象正确传输媒体)来创建数据通道,或者我必须为数据传输执行单独的信令 谢谢是(在Chrome中使用): var pc1=new RTCPeerConnection(),pc2=new RTCPeerConnection(); var add=(pc,can)=>can&&pc.addIceCandidate(can).catch(log); pc1.onicecandidate=e=>add(pc2,e.
var pc1=new RTCPeerConnection(),pc2=new RTCPeerConnection();
var add=(pc,can)=>can&&pc.addIceCandidate(can).catch(log);
pc1.onicecandidate=e=>add(pc2,e.candidate);
pc2.onicecandidate=e=>add(pc1,e.candidate);
pc1.oniceconnectionstatechange=e=>log(pc1.iceConnectionState);
var dc1、dc2;
pc2.ondatachannel=e=>{
dc2=e通道;
dc2.onopen=()=>日志(“聊天!”);
dc2.onmessage=e=>log(“>”+e.data);
};
var start=()=>navigator.mediaDevices.getUserMedia({video:true})
。然后(流=>{
pc1.addStream(video1.srcObject=stream);
dc1=pc1.createDataChannel(“聊天”);
dc1.onopen=()=>(chat.disabled=false,chat.select());
返回pc1.createOffer();
})
.then(offer=>pc1.setLocalDescription(offer))
.then(()=>pc2.setRemoteDescription(pc1.localDescription))
.然后(()=>pc2.createAnswer())
.then(答案=>pc2.setLocalDescription(答案))
.then(()=>pc1.setRemoteDescription(pc2.localDescription))
.渔获物(原木);
chat.onkeypress=e=>{
如果(e.keyCode!=13)返回;
dc1.send(chat.value);
chat.value=“”;
};
var log=msg=>div.innerHTML+=“
”+msg代码>
开始
聊天:
是(在Chrome中使用):
var pc1=new RTCPeerConnection(),pc2=new RTCPeerConnection();
var add=(pc,can)=>can&&pc.addIceCandidate(can).catch(log);
pc1.onicecandidate=e=>add(pc2,e.candidate);
pc2.onicecandidate=e=>add(pc1,e.candidate);
pc1.oniceconnectionstatechange=e=>log(pc1.iceConnectionState);
var dc1、dc2;
pc2.ondatachannel=e=>{
dc2=e通道;
dc2.onopen=()=>日志(“聊天!”);
dc2.onmessage=e=>log(“>”+e.data);
};
var start=()=>navigator.mediaDevices.getUserMedia({video:true})
。然后(流=>{
pc1.addStream(video1.srcObject=stream);
dc1=pc1.createDataChannel(“聊天”);
dc1.onopen=()=>(chat.disabled=false,chat.select());
返回pc1.createOffer();
})
.then(offer=>pc1.setLocalDescription(offer))
.then(()=>pc2.setRemoteDescription(pc1.localDescription))
.然后(()=>pc2.createAnswer())
.then(答案=>pc2.setLocalDescription(答案))
.then(()=>pc1.setRemoteDescription(pc2.localDescription))
.渔获物(原木);
chat.onkeypress=e=>{
如果(e.keyCode!=13)返回;
dc1.send(chat.value);
chat.value=“”;
};
var log=msg=>div.innerHTML+=“
”+msg代码>
开始
聊天:
您可以为两者使用相同的RTCPeerConnection对象,但会出现以下错误:“RTCPeerConnection”:RTCDataChannel不受支持什么浏览器/版本?chromium版本49.0.2623.108 Ubuntu 14.04这有帮助吗?它在Firefox上工作吗?您可以为两者使用相同的RTCPeerConnection对象。出现以下错误:“RTCPeerConnection”:RTCDataChannel不受支持什么浏览器/版本?chromium版本49.0.2623.108 Ubuntu 14.04这有帮助吗?它在Firefox上工作吗?