问题描述
我正在尝试使用 JsSIP 开发与 Node.js 兼容的 node-webrtc 分支,但我遇到了障碍。
在我的代码中,我还尝试克隆轨道,看看这是否能解决它也不能解决的问题。
for (let i of stream.getTracks()) {
let trackClone = i.clone();
console.log(i,trackClone,i.constructor,MediaStreamTrack,i.constructor == MediaStreamTrack,i instanceof MediaStreamTrack,stream,stream.getTracks());
console.log(i instanceof MediaStream);
this._connection.addTrack(trackClone,stream);
}
控制台中的预期结果:
MediaStreamTrack {} MediaStreamTrack {} [Function: MediaStreamTrack] [Function: MediaStreamTrack] true true MediaStream {} [ MediaStreamTrack {} ]
true
控制台中的实际结果:
MediaStreamTrack {} MediaStreamTrack {} [Function: MediaStreamTrack] [Function: MediaStreamTrack] false false MediaStream {} [ MediaStreamTrack {} ]
false
这是一个问题,因为 RTCPeerConnection.addTrack()
不适用于这些假“轨道”或假流。
我认为文件之间传输的流可能有问题,因为在它被传递到这个函数之前,stream instanceof MediaStream = true
。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)