我正在开发一个Chrome扩展,它使用后台页面来访问用户的网络摄像头。
用户可以选择关闭摄像头。
虽然相关函数不再接收视频流,但视频流似乎仍在运行。然而,摄像头指示灯(当前在Mac Book Pro上进行开发和测试)没有关闭。
有任何想法吗?
这是我设置视频流的代码:
if (navigator.webkitGetUserMedia!=null) {
var options = {
video:true,
audio:false
};
navigator.webkitGetUserMedia(options,
function(stream) {
vid.src = window.webkitURL.createObjectURL(stream);
localstream = stream;
vid.play();
console.log("streaming");
},
function(e) {
console.log("background error : " + e);
});
}
这里是关闭流的方法:
function vidOff() {
clearInterval(theDrawLoop);
ExtensionData.vidStatus = 'off';
vid.pause();
vid.src = "";
localstream.stop();
DB_save();
console.log("Vid off");
}
我有遗漏的地方吗?