gpt4 book ai didi

javascript - 即使在我运行 MediaStreamTrack.stop() 之后网络摄像头灯仍然亮着

转载 作者:行者123 更新时间:2023-11-30 14:58:07 28 4
gpt4 key购买 nike

我正在构建一个 React 应用程序,需要访问使用以下代码获取的网络摄像头:

navigator.mediaDevices.getUserMedia({ video: true, audio: false })
.then(function(stream) {
video.srcObject = stream;
window.localstream = stream;
video.play();
})

但是,当我卸载当前组件时,我的网络摄像头保持打开状态。在我的 componentWillUnmount block 中,我尝试了以下代码。

video.pause();
video.srcObject=null;
window.localstream.getTracks()[0].stop();
window.localstream.getVideoTracks()[0].stop();

但是我的网络摄像头灯仍然亮着。当我之后控制台记录 mediaStreamTrack 时,我得到:

enter image description here

如何停止网络摄像头?

最佳答案

  1. 如果您使用多个摄像头,则需要确保您的代码尝试“停止”您之前打开的同一台摄像头。

  2. 您需要确保您的代码只调用一次 getUserMedia,然后 getVideoTracks()[0].stop() 应该可以正常工作。

关于javascript - 即使在我运行 MediaStreamTrack.stop() 之后网络摄像头灯仍然亮着,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46940516/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com