停止 navigator.GetUserMedia 摄像头访问
Stop navigator.GetUserMedia camera access
我正在制作这个相机应用程序,我有这个启动相机的相机代码。
var video = document.getElementById('video');
// Get access to the camera
if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
video.srcObject = stream;
video.play();
});
}
问题是,我无法阻止它。那么如何在javascript 导航器getUserMedia 摄像头访问中阻止它?
尝试使用 stream.getTracks()
,然后使用 track.stop()
。例如:
var video = document.getElementById('video');
// Get access to the camera
if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
video.srcObject = stream;
video.play();
setTimeout(() => {
stream.getTracks().forEach(track => {
if (track.readyState == 'live' && track.kind === 'video') {
track.stop();
}
};
}, 5000);
});
}
5 秒后,我们停止摄像头。
参见:Stop/Close webcam which is opened by navigator.getUserMedia
我正在制作这个相机应用程序,我有这个启动相机的相机代码。
var video = document.getElementById('video');
// Get access to the camera
if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
video.srcObject = stream;
video.play();
});
}
问题是,我无法阻止它。那么如何在javascript 导航器getUserMedia 摄像头访问中阻止它?
尝试使用 stream.getTracks()
,然后使用 track.stop()
。例如:
var video = document.getElementById('video');
// Get access to the camera
if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
video.srcObject = stream;
video.play();
setTimeout(() => {
stream.getTracks().forEach(track => {
if (track.readyState == 'live' && track.kind === 'video') {
track.stop();
}
};
}, 5000);
});
}
5 秒后,我们停止摄像头。
参见:Stop/Close webcam which is opened by navigator.getUserMedia