webrtc - 如何关闭WebRtc中的peerConnection

标签 webrtc getusermedia

WebRtc sample

如果我按下调用,允许/拒绝菜单会显示在屏幕上方。当我按允许时,Chrome 开始在标题中显示红色圆圈,表示麦克风处于事件状态。其他 Chrome 选项卡中的所有其他声音均被静音(例如 YouTube 视频)。

当我按挂起时,红色圆圈不会消失,第二个选项卡中的 YouTube 视频仍然静音。我必须按 F5 才能恢复调用前的状态。

是否有任何 PeerConnection 可以停止通话并停止麦克风录音?

最佳答案

是的,“红灯”仍然亮着的原因是 mediaStream 对象(在该特定页面上称为 localstream)中的媒体轨道通过 getusermedia 收集。仍在播放/事件。

要关闭媒体流并释放对本地媒体输入的任何保留,只需调用 localstream.stop()这将结束流并停止访问本地媒体输入。这将停止所有关联的媒体轨道。

您还可以通过调用 stop() 来执行此操作在各个媒体轨道上(从 getVideoTracksgetAudioTracks 中抓取 mediaStream )。

至于其他页面/应用程序中被关闭的其他音频。 Here is the crbug handling that issue .

旁注:如果媒体是通过对等连接推送的,那么您可能需要重新协商连接,因为 mediaStream改变。

关于webrtc - 如何关闭WebRtc中的peerConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27818708/

相关文章:

javascript - 如何在js中保存使用window.getusermedia拍摄的图片

javascript - 无法从 Javascript 发布到 AWS S3。 XML 格式错误错误

javascript - navigator.mediaDevices.enumerateDevices 在 iOS Safari (13.2.3) 上不返回任何音频输入设备

javascript - 如何让 Webrtc 支持我的 Safari 浏览器

android - 如何在 native android 应用程序中使用 WebRTC + Pubnub Api 作为视频聊天客户端

javascript - 如何从 getUserMedia 返回流对象

javascript - 画中画与 WebRTC 到 Wowza

javascript - WebRTC 无法从 USB 输入设备获取视频源(readyState 结束)

javascript - 从 getUserMedia 将约束应用于音轨

javascript - 从输入设备获取MediaStream