我试过这段代码:
<html>
<head>
</head>
<body>
<video src="" id="video1"></video>
<video src="" id="video2"></video>
<textarea id="lesdp"></textarea><p id="btn">Activer</p>
</body>
<script>
navigator.getUserMedia({audio:true,video:true}, function(stream) {
var video1 = document.querySelector("#video1")
video1.src = window.URL.createObjectURL(stream)
video1.play()
}, function() {
})
var pc = new RTCPeerConnection()
pc.createOffer(function success(offer) {
var sdp = offer;
alert(JSON.stringify(sdp))
}, function error() {
})
var btn = document.querySelector("#btn");
btn.addEventListener('click', function() {
console.log("clicked")
var lesdp = JSON.parse(document.querySelector('#lesdp').value);
pc.setRemoteDescription(new RTCSessionDescription(lesdp), function(streamremote) {
var video2 = document.querySelector("#video2");
video2.srcObject = window.URL.createObjectURL(streamremote)
video2.play()
}, function() {
})
})
</script>
</html>
您可以在此处进行测试:https://matr.fr/webrtc.html
打开导航器,复制弹出式提供字符串对象,将其粘贴到textarea中,然后单击“Activer”并在控制台中查看错误。
因此,当我点击“Activer”按钮时,它出现此错误:
无法在'URL'上执行'createObjectURL':未找到任何功能 符合提供的签名。
请帮帮我。我使用Google Chrome进行测试。
答案 0 :(得分:0)
您正在调用form.action
,这会在Chrome中产生错误。
window.URL.createObjectURL(undefined)
未定义,因为setRemoteDescription无需设计解析。
您只有大约一半的代码需要进行剪切&#39;粘贴WebRTC演示。比较here。