此功能从客户端设备的摄像头和麦克风获取视频和音频,并在<video id="vid">
元素上播放它们:
navigator.mediaDevices.getUserMedia({ audio: true, video: true })
.then(function(mediaStream) {
var video = document.getElementById("vid");
video.srcObject = mediaStream;
video.onloadedmetadata = function(e) {
video.play();
};
})
此函数将流与<video>
元素分离,但不会关闭设备:
function stopStreamedVideo(videoElem) {
let stream = videoElem.srcObject;
let tracks = stream.getTracks();
tracks.forEach(function(track) {
track.stop();
});
videoElem.srcObject = null;
}
stopStreamedVideo(document.getElementById("vid"))
如何关闭相机?
这里还有一个问题:Stop/Close webcam which is opened by navigator.getUserMedia解决了相同的问题,但是提供的解决方案与我的解决方案相同,没有关闭相机。