【发布时间】:2016-10-22 23:41:28
【问题描述】:
我有一个非常简单的 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 内部如何即使在页面刷新后仍然可以显示它。请帮忙!
【问题讨论】:
-
stackoverflow.com/a/40210033/2885826 看看那个答案。它有助于如何正确创建流
-
这是我的 Chrome。当你说页面刷新时,你是在刷新 chrome://webrtc-internals 页面,还是你的页面?
-
@jib 我正在刷新我的页面。不是 webrtc-internals 页面。
标签: javascript webrtc peer-connection