我使用以下 JavaScript 代码打开了一个网络摄像头:
const stream = await navigator.mediaDevices.getUserMedia({ /* ... */ });
是否有任何 JavaScript 代码可以停止或关闭网络摄像头?感谢大家。
编辑
由于最初发布了此答案,因此浏览器 API 已更改。 .stop()在传递给回调的流上不再可用。开发人员必须访问构成流(音频或视频)的轨道并单独停止它们。
.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 不喜欢它)
navigator.getUserMedia