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

var*_*tis 5 javascript flash webcam jquery

我在我正在研究的网站上使用这个jQuery网络摄像头插件.如果你去网站,你会注意到它使用闪存,你必须点击'接受'才能使它工作.

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

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

function capture_image(){
    if(webcam.muted == true) {alert("hey");}
Run Code Online (Sandbox Code Playgroud)

我远非javascript和jquery的专家,所以真正的代码将非常感激.

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

Ros*_*oss 4

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

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

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

function capture_image(){
    if( !webcam.started ) { alert("hey, camera not started"); }
}
Run Code Online (Sandbox Code Playgroud)

如何捕捉事件

除了事件之外,没有事件本身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(); } 
        } 
    }
});
Run Code Online (Sandbox Code Playgroud)

接下来向我们的新事件添加一个函数webcam.onStarted

window.webcam.onStarted = function () {
    alert("Whey, the webcam started");
};
Run Code Online (Sandbox Code Playgroud)