专家!问题-我们拥有可以通过sip接收语音流的设备。我们可以使用标准应用程序来执行此操作(并且可以正常运行),但是我们希望从浏览器(即Chrome)发送语音流 客户和“ sevrer”(平均设备)在我们的本地网络中 我发现了WebRTC,并尝试从Chrome获取MediaStream。 我的代码
var constraints={audio:true};
if (navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia(constraints)
.then(function(stream) {
alert(stream)
})
.catch(function(err){.
alert(err)
});
} else {
alert('getUserMedia is not supported in this browser.');
}
但是我应该怎么做才能将语音流发送到设备? 我知道设备的“连接字符串”(例如sip:192.168.22.123:5060) 谢谢
答案 0 :(得分:0)
您需要有一个可以交换报价和答案以及ICE候选人的信令服务器。 SIP INVITE可以包含SDP,该SDP可以提供给浏览器中setRemoteDescription
对象的RTCPeerConnection
方法。然后,创建一个答案并将其作为SIP 200发送回去。建议您在重新发布之前阅读一下有关WebRTC的基础知识。实际上,您在WebRTC方面并没有表现出任何努力,只是从浏览器捕获媒体流,而媒体流实际上不是WebRTC本身的一部分,仅经常结合使用。 https://www.oreilly.com/library/view/real-time-communication-with/9781449371869/ch01.html