gpt4 book ai didi

javascript - 尝试调用另一个对等点时出现 PeerJS 错误 : Failed to execute 'addStream' on 'RTCPeerConnection' : parameter 1 is not of type 'MediaStream'

转载 作者:太空宇宙 更新时间:2023-11-04 16:27:39 29 4
gpt4 key购买 nike

我使用 PeerJS 成功在两个对等点之间建立了连接,但每当我尝试将 MediaStream 对象传递给 .call 函数时,我都会收到此错误:

Failed to execute 'addStream' on 'RTCPeerConnection': parameter 1 is not of type 'MediaStream'

其他一切都很好,连接确实建立了,两个对等点都通过 'open' 事件接收来自对方的消息。唯一不起作用的是 peer.call() 函数。在请求许可后,麦克风被正确捕获。

我在这里犯了某种错误吗?如果有任何帮助,我将不胜感激。谢谢。

这是我的代码:

var media;

jQuery(document).ready(function() {
var peer = new Peer({
key: 'xxxxxxxxxxxxx'
});

media = navigator.mediaDevices.getUserMedia({
audio: true,
video: false
});

peer.on('open', function(id) {
console.log('My peer ID is: ' + id);
});

var conn = peer.connect(callID);

conn.on('open', function() {
// Receive messages
conn.on('data', function(data) {
console.log('Received', data);
});

// Send messages
conn.send('Hello!');
});

console.log(typeof(media));

var call = peer.call(callID, media);

peer.on('error', function(err) {
console.log(err);
});
});

最佳答案

我有兴趣查看 console.log(typeof(media)); 的输出。

根据MDN website ,似乎以下行将返回 Promise 而不是 MediaStream:

media = navigator.mediaDevices.getUserMedia({audio: true, video: false});

以下应该有效:

var media;

jQuery(document).ready(function() {
var peer = new Peer({
key: 'xxxxxxxxxxxxx'
});

navigator.mediaDevices.getUserMedia({
audio: true,
video: false
})
.then(function(mediaStream) {
peer.on('open', function(id) {
console.log('My peer ID is: ' + id);
});

var conn = peer.connect(callID);

conn.on('open', function() {
// Receive messages
conn.on('data', function(data) {
console.log('Received', data);
});

// Send messages
conn.send('Hello!');
});

console.log(typeof(media));

var call = peer.call(callID, mediaStream);

peer.on('error', function(err) {
console.log(err);
});
});
});

关于javascript - 尝试调用另一个对等点时出现 PeerJS 错误 : Failed to execute 'addStream' on 'RTCPeerConnection' : parameter 1 is not of type 'MediaStream' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40093164/

29 4 0