如果我按下调用,允许/拒绝菜单会显示在屏幕上方。当我按允许时,Chrome 开始在标题中显示红色圆圈,表示麦克风处于事件状态。其他 Chrome 选项卡中的所有其他声音均被静音(例如 YouTube 视频)。
当我按挂起时,红色圆圈不会消失,第二个选项卡中的 YouTube 视频仍然静音。我必须按 F5 才能恢复调用前的状态。
是否有任何 PeerConnection 可以停止通话并停止麦克风录音?
最佳答案
是的,“红灯”仍然亮着的原因是 mediaStream 对象(在该特定页面上称为 localstream
)中的媒体轨道通过 getusermedia
收集。仍在播放/事件。
要关闭媒体流并释放对本地媒体输入的任何保留,只需调用 localstream.stop()
这将结束流并停止访问本地媒体输入。这将停止所有关联的媒体轨道。
您还可以通过调用 stop()
来执行此操作在各个媒体轨道上(从 getVideoTracks
或 getAudioTracks
中抓取 mediaStream
)。
至于其他页面/应用程序中被关闭的其他音频。 Here is the crbug handling that issue .
旁注:如果媒体是通过对等连接推送的,那么您可能需要重新协商连接,因为 mediaStream
改变。
关于webrtc - 如何关闭WebRtc中的peerConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27818708/