jpegcam,拒绝访问后禁用捕获按钮

时间:2012-06-06 11:48:45

标签: flash webcam

在我的php项目中,我使用过jpegcam,http://code.google.com/p/jpegcam/&当我们加载网络摄像头捕获页面时,它要求Flash播放器权限“允许或拒绝”,即使我拒绝选项捕获按钮已启用。我想在加载时禁用捕获按钮&仅在用户允许权限时启用!

那么如何检查用户是否允许或拒绝在网站的隐私设置对话框中访问网络摄像头? !伙计们,任何帮助将不胜感激.. :)

1 个答案:

答案 0 :(得分:0)

ActionScript的Camera.muted属性是您所需要的。您链接的源创建了一个名为Camera的私有camera对象。您可以将其公开或添加新方法来检查其muted属性;

final public function has_access( ) : Boolean {
    return !camera.muted;
}

通常你会隐藏/禁用按钮,直到静音变为假(它不太可能再次变为真;用户必须手动打开设置框并禁用访问权限。)

您还可以使用侦听器来避免不断检查此值;

final public function add_access_listener( myFunc : Function ) : void {
    camera.addEventListener( "status", myFunc ); // StatusEvent.STATUS
}

将使用这样的:

myWebcam.add_access_listener( myAccessFunc );
function myAccessFunc( ev : StatusEvent ) : void {
    if( ev.code == "Camera.Unmuted" ) {
        // video became available, enable button
    } else {
        // video became unavailable, disable button
    }
}
// remember that the user could have granted persistent permission
// (i.e. the status will be unmuted without actually changing)
if( myWebcam.has_access( ) ) {
    // video is already available, enable button
} else {
    // video is not yet available, disable button
}

为了避免任何可能的内存泄漏,如果您移除了相机,还应该调用removeEventListener,但无论如何这个库似乎都没有设计(并且不会删除自己的监听器) )。