问题描述
我正在尝试在对等连接中发送两个呼叫,我想通过Meta_data区分它们,但是当我检查Meta_data时却为空。如何在拨打电话时添加Meta_data? 这是我当前的代码。
let cameracall = peer.call(conn.peer,ourcamera,{
Meta_data:JSON.stringify({ "type":"camera" })
});
let screencall = peer.call(conn.peer,ourscreen,{
Meta_data:JSON.stringify({"type":"help"})
});
这里是文档peercall
的链接解决方法
为了在没有元数据的情况下以正常方式调用远程对等点,我们拥有:
peer.call(remotePeerId,ourLocalStream);
用于调用远程对等方+将一些元数据附加到调用中:
options = {metadata: {"type":"screensharing"}};
peer.call(remotePeerId,ourLocalStream,options);
在远程对等端,用于检查收到呼叫中的元数据:
peer.on('call',call => {
console.log(call.metadata.type);
call.answer();
call.on('stream',stream => {
// somthing to do
});
});
请注意,对于可能没有为它们定义任何元数据的其他调用,call.metadata.type
没有任何意义。
存在语法问题。您需要执行此操作以通过流发送元数据
let cameracall = peer.call(conn.peer,ourcamera,{
metadata: { "type": "camera" }
});
let screencall = peer.call(conn.peer,ourscreen,{
metadata: { "type": "help" }
});
然后在对等端,您可以获取这样的元数据
peer.on("call",connection => {
connection.answer();
connection.on("stream",stream => {
console.log(connection.metadata);
});
});