5

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

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

4

1 回答 1

0

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

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

通常,您会隐藏/禁用按钮,直到muted 变为 false(它不太可能再次变为 true;用户必须手动打开设置框并禁用访问)。

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

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如果您删除了相机,您也应该调用,但该库似乎并没有被设计为这样做(并且不会删除它自己的侦听器)。

于 2013-04-13T13:59:56.737 回答