正在尝试将webRTC技术包含到我已经存在的reactJs App中
问题是反应无法识别webRTC API的
Line 185:19: 'webkitRTCPeerConnection' is not defined no-undef
Line 191:1: 'rtcPeerConn' is not defined no-undef
Line 212:3: 'rtcPeerConn' is not defined no-undef
Line 214:62: 'rtcPeerConn' is not defined no-undef
此功能在功能组件内
function startSignaling(){
displayMessage("start signaling...");
rtcPeerConn = new webkitRTCPeerConnection(configuration)
//send ice candidate to other peer
rtcPeerConn.onicecandidate = function(evt){
if(evt.candidate){
io.emit("signal",{"type":"ice candidate","message":JSON.stringify({'candidate':evt.candidate}),room:signal_room})
displayMessage("completed that ice candidate");
}
}
rtcPeerConn.onnegotiationneeded = function(){
displayMessage("on negotiationnneded");
rtcPeerConn.createOffer(sendLocalDesc,logerror);
}
rtcPeerConn.onaddstream = (evt,err)=>{
displayMessage("creating the other stream");
if(err){
displayMessage(err)
}
success2(evt.stream);
}
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
navigator.mediaDevices.getUserMedia({video:true,audio:true}).then(stream=>{
success(stream);
// rtcPeerConn.addStream(stream);
}).catch(err=>{
logerror(err);
});
}
问题不在于React无法识别WebRTC API,您没有定义rtcPeerConn变量。另外,此API不需要webkitRTCPeerConnection
(供应商前缀),请改用RTCPeerConnection
。
用[替换rtcPeerConn = new webkitRTCPeerConnection(configuration)
行:
let rtcPeerConn = new RTCPeerConnection(configuration);