如何连接使用getUserMedia和webRTC断开相机设备

时间:2013-07-05 07:52:19

标签: webrtc

我正在使用webRTC和Node.js创建音频/视频和聊天应用程序。我需要将相机设备静音和取消静音。 目前,我可以断开连接,另一方无法看到我,但我看到的问题是它没有断开相机。它仍然保持活动状态并连接,因为我看到相机闪光灯仍然亮着。

我需要帮助如何在静音时断开连接并在取消静音时将其连接回来。我想要与我们在Skype视频通话中看到的功能相同。

2 个答案:

答案 0 :(得分:0)

当您获得媒体时,在您的成功回调功能中,您必须将本地流保存在变量中。然后,当您想要停止流时,可以执行localstream.stop();

要重新开始,您可以重复再次拨打getUserMedia()方法。

答案 1 :(得分:0)

Firefox和Chrome之间略有不同。按此顺序执行这些步骤对我有用。

1)将视频元素的src属性设置为空字符串''

2)在将stop方法作为函数调用之前,请确保该方法存在。 Firefox没有它,如果你尝试运行它,你的代码就会抛出错误。

if (localStream && localStream.stop) {
  localStream.stop();
}

3)在调用cameraStream.stop()之后(或不),设置localStream = null。 (可能实际上并不是必需的,但是让对象进行垃圾收集也不会有什么坏处。当用户要求再次启动摄像头时,您可以检查变量以查看是否需要在上一次之后进行清理在开始新的之前流。)