jQuery webcam / flash:如何检测网络摄像头是否处于活动状态?

时间:2012-05-15 00:26:18

标签: javascript jquery flash webcam

我在我正在处理的网站中使用this jQuery webcam plugin。如果你去网站,你会注意到它使用闪存,你必须点击'接受'才能让它工作。

我想确定网络摄像头是否处于活动状态(打开)。我怎么能用javascript / jquery做到这一点?

换句话说,我在if语句中替换了什么?

function capture_image(){
    if(webcam.muted == true) {alert("hey");}

我在javascript和jquery方面远非专业人士,所以我们非常感谢真正的代码。

此外,如果有人可以告诉我如何捕获网络摄像头被激活的事件,那么也将非常感激。如果你无法弄清楚,不要担心。

5 个答案:

答案 0 :(得分:4)

将以下功能添加到网络摄像头的debug选项中。

$("#camera").webcam({
    width: 320,
    // other options etc.
    debug: function(type, message) { 
        if (message === "Camera started") { window.webcam.started = true; } 
    }
});

我们无法测试不活动是否为真(即muted === true),但现在我们可以测试webcam.startedtrueundefined / false:< / p>

function capture_image(){
    if( !webcam.started ) { alert("hey, camera not started"); }
}

如何捕捉活动

除了debug事件之外,本身没有事件。你可以做一个......

首先执行以下操作:

$("#camera").webcam({
    width: 320,
    // other options etc.
    debug: function(type, string) { 
        if (string === "Camera started") { 
            window.webcam.started = true; 
            if (window.webcam.onStarted) { window.webcam.onStarted(); } 
        } 
    }
});

接下来为我们的新活动webcam.onStarted添加一个功能:

window.webcam.onStarted = function () {
    alert("Whey, the webcam started");
};

答案 1 :(得分:0)

您可以使用方法.getCameraList()让所有相机都可用。

  

onLoad注册后立即调用onLoad回调   界面完成了。在上面的例子中,我使用回调来获取   所有可用摄像机的列表:

onLoad: function() {
    var cams = webcam.getCameraList();
    for(var i in cams) {
        jQuery("#cams").append("<li>" + cams[i] + "</li>");
    } 
}

答案 2 :(得分:0)

我认为在商定隐私设置后,您需要使用ExternalInterface API告诉您网页上的JavaScript。

但是我不知道你是否能够获得你想要的“图像信息”,因为闪存可以控制相机,因此JavaScript只能告诉闪存“捕获”并通过在ExternalInterface中,您可能必须使用flash(ActionScript)将图像数据发送到Web服务,然后页面上的javascript才能对其执行任何操作。

HTML5的<input type="file" accept="image/*" capture="camera" id="capture">可能就足够了,而不是flash实现。

答案 3 :(得分:0)

不确定所有这些插件等。这对我有用,虽然我们仍然在测试:

webcamActive = false;
webcamActive = $("#video").attr('src');

答案 4 :(得分:0)

如果此处有人找到了检测摄像头何时加载的解决方案,而他正在使用webcam.js,则可以使用以下方法检测摄像头何时加载:

CustomAttribute