我正在建立一个React应用程序,需要访问网络摄像头,获得以下代码:
navigator.mediaDevices.getUserMedia({ video: true, audio: false })
.then(function(stream) {
video.srcObject = stream;
window.localstream = stream;
video.play();
})
然而,当我卸载当前组件时,我的网络摄像头保持打开状态。在componentWillUnmount块中,我尝试了以下代码。
video.pause();
video.srcObject=null;
window.localstream.getTracks()[0].stop();
window.localstream.getVideoTracks()[0].stop();
然而,我的网络摄像头灯仍然亮着。当我稍后使用console.log记录mediaStreamTrack时,我得到:
如何停止我的网络摄像头?
2条答案
按热度按时间e4yzc0pl1#
1.如果您使用多个摄像头,那么您需要确保您的代码正在尝试“停止”您之前打开的同一个摄像头。
1.您需要确保代码只调用getUserMedia一次,这样getVideoTracks()[0].stop()就可以正常工作。
vjrehmav2#
这个帖子看起来很老了,对于那些有同样问题的人,试试这个方法