小编典典

停止/关闭由 navigator.mediaDevices.getUserMedia 打开的网络摄像头流

all

我使用以下 JavaScript 代码打开了一个网络摄像头:

const stream = await navigator.mediaDevices.getUserMedia({ /* ... */ });

是否有任何 JavaScript 代码可以停止或关闭网络摄像头?感谢大家。


阅读 294

收藏
2022-06-24

共1个答案

小编典典

编辑

由于最初发布了此答案,因此浏览器 API 已更改。 .stop()在传递给回调的流上不再可用。开发人员必须访问构成流(音频或视频)的轨道并单独停止它们。

更多信息在这里:https ://developers.google.com/web/updates/2015/07/mediastream-
deprecations?hl=en#stop-ended-and-
active

示例(来自上面的链接):

stream.getTracks().forEach(function(track) {

  track.stop();

});

浏览器支持可能不同。

原始答案

navigator.getUserMedia在成功回调中为您提供一个流,您可以调用.stop()该流来停止录制(至少在 Chrome 中,似乎 FF
不喜欢它)

2022-06-24