我的问题是:我只想检测网络摄像头,知道我是否显示按钮"用网络摄像头拍照"但如果用户没有点击此按钮,我不想拍摄用户。 (如果网络摄像头不可用,我也不想显示按钮)
我成功获得网络摄像头流,但我必须使用navigator.getUserMedia来了解网络摄像头是否可用,我必须使用相同的功能来获取网络摄像头的流,因此用户将被问2次是否他想要分享他的摄像头。
这是我检测网络摄像头的代码:
errBack = function (error) {
//We hide photo button if video is not supported
document.getElementById("OpenWebcam").style.visibility = 'hidden';
console.log("Video capture error: ", error.code);
};
// Put video listeners into place
if (navigator.getUserMedia) { // Standard
navigator.getUserMedia(videoObj, function (stream) {
// video.src = stream;
// video.play();
}, errBack);
} else if (navigator.webkitGetUserMedia) { // WebKit-prefixed
navigator.webkitGetUserMedia(videoObj, function (stream) {
// video.src = window.webkitURL.createObjectURL(stream);
// video.play();
}, errBack);
} else if (navigator.mozGetUserMedia) { // Firefox-prefixed
// navigator.mozGetUserMedia(videoObj, function (stream) {
// video.src = window.URL.createObjectURL(stream);
// video.play();
}, errBack);
}
我使用相同的代码从网络摄像头获取流(我只是取消注释video.src和video.play行)
对我来说最好的是我发现有一个网络摄像头(但我不会向用户请求许可)所以我显示按钮,当用户点击按钮时,导航器会问他是否要分享他的摄像头。
你知道这是否是这样做的方式?