我正在尝试创建要约,但出现如下所示的不完整sdp-offer
sdp:
"v=0↵o=- 981077471509521330 2 IN IP4 127.0.0.1
↵s=-
↵t=0 0
↵a=msid-semantic: WMS
↵"
我错过了什么。我的代码如下
//适配器部分
window.RTCPeerConnection = window.RTCPeerConnection ||
window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
window.RTCIceCandidate = window.RTCIceCandidate ||
window.mozRTCIceCandidate || window.webkitRTCIceCandidate;
window.RTCSessionDescription = window.RTCSessionDescription ||
window.mozRTCSessionDescription || window.webkitRTCSessionDescription;
window.URL = window.URL || window.mozURL || window.webkitURL;
window.navigator.getUserMedia = window.navigator.getUserMedia ||
window.navigator.webkitGetUserMedia || window.navigator.mozGetUserMedia;
创建SDP流
var iceConfig = {'iceServers': [{ 'url': 'stun:stun.l.google.com:19302' }]};
var pc = new RTCPeerConnection(null);
pc.onicecandidate = function (evnt) {
socket.emit('video', {ice: evnt.candidate, type: 'ice' });
};
pc.onaddstream = function(evnt) {
$rootScope.remotestream = evnt.stream;
$rootScope.$broadcast('remotestream');
};
pc.createOffer(function(offer) {console.log(offer);});
最佳答案
我发现了两件事:
您需要向RTCPeerConnection添加本地流:pc.addStream(localStream);
,localStream通常是通过navigator.getUserMedia()
获得的
您需要将iceConfig
作为第一个参数传递给RTCPeerConnection构造函数
有关更多信息,请参见https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection,尤其是“初始化呼叫”部分。