WebRTC Onicecandidate 未在 Opera 浏览器上调用



我有一个问题,我的onicecandidate event没有在Opera浏览器中触发,这是我的代码

我试过getUserMedia以不同的方式(通过addStream和addTrack(将流添加到RTCPeerConnection,设置offerToReceiveAudio和offerToReceiveVideo,这些都没有帮助

法典

const RTCPeerConnection =  window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
const RTCSessionDescription = window.RTCSessionDescription || window.mozRTCSessionDescription || window.RTCSessionDescription;
const RTCIceCandidate = window.mozRTCIceCandidate || window.RTCIceCandidate;
const mediaConstraints = {
offerToReceiveAudio: true,
offerToReceiveVideo: false
}
const options = {
iceServers: [
{
urls: 'turn:74.11.232.11:3478',
credential: 'password',
username: 'username'
}
],
};
function getUserMedia(callback) {
navigator.mediaDevices.getUserMedia({
audio: true,
video: false
}).then(callback);
}
getUserMedia((stream) => {
localStream = stream
localStream.getAudioTracks()[0].enabled = false
WebRtcPeerConnection = new RTCPeerConnection(options)
WebRtcPeerConnection.addStream(stream)
WebRtcPeerConnection.createOffer(mediaConstraints).then((offer) => {
console.log(offer.sdp)
WebRtcPeerConnection.setLocalDescription(offer);
WebRtcPeerConnection.onicecandidate = onRoomIceCandidate
onRoomOffer(null, offer)
});
})

我的错误是声明常量RTCPeerConnection,正如我在Opera浏览器中所理解的那样,RTCPeerConnection是一个全局类(不在窗口中。RTCPeerConnection等( 我需要替换此行

const RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;

对此

const RTCPeerConnection = RTCPeerConnection || window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;

最新更新