我有一个非常简单的 RTCPeerConnection 应用程序正在运行。使用 Firebase 发出信号。RTCPeerConnections 建立,然后我获取流,并对其执行以下操作:
let streamURL = window.URL.createObjectURL(stream);
然后我把它streamURL
设置为video.src = streamURL
. 这就是我如何看到远程用户的视频。然后,当我完成连接(我想结束对话)时,我会执行以下操作:
peerConnection.getLocalStreams().forEach(stream=>{
stream.getTracks().forEach(t=>{
t.stop();
stream.removeTrack(t);
});
});
peerConnection.close();
这将结束连接,包括关闭本地网络摄像头的绿灯。这告诉我,大部分事情已经结束了。
然后我检查chrome://webrtc-internals并且连接仍然存在。即使在我刷新后,连接仍然存在。这似乎很奇怪。即使在刷新之后,它怎么可能仍然存在?请帮忙。我没有正确结束 RTCPeerConnection 吗?我认为这是正确的方法。我只是无法弄清楚 webrtc 内部如何即使在页面刷新后仍然可以显示它。请帮忙!