2011-02-28 55 views
3

我在正确检测用户的相机设置时遇到问题。检测用户的相机设置

如果用户选择“允许”和“记住”,那么则Camera.muted设置为false(不静音)

然而,如果用户选择了“拒绝”和“记住”,则camera.muted设置为true。 (相机已被用户静音)

但是,如果用户没有选择任何内容并且未选中“记住”复选框,则camera.muted设置也是TRUE(相机再次静音,但它只是因为有人还没有“允许”摄像头)

有没有一种方法来区分当用户选择永久拒绝某个特定站点的摄像机(通过选中“记住”复选框)或者当他们刚刚没有让相机在第一位?

回答

3

据我所知,没有办法检测“记住”复选框是否已经过检查。解决方法是在请求时检测相机是否静音。如:

camera = Camera.getCamera(); 
if (camera.muted) { 
    // "remember" checkbox was not checked, or user needs to allow access 
} 
else { 
    // "remember" checkbox was checked, access is already granted 
} 
0

您可能可以使用此解决方法检测安全对话框是否已打开。

https://gist.github.com/1266104https://bugbase.adobe.com/index.cfm?event=bug&id=2993848

引用然后,你可以这样做:

var camera:Camera = Camera.getCamera(); 
if (camera.muted) { 
    if (securityPanelIsClosed()) { 
     // "remember" was checked and deny radio button is selected 
    } else { 
     // "remember" was not checked 
    } 
} else { 
    // "remember" checkbox was checked, access is already granted 
} 
0

对于所有那些使用CameraDetection类谨慎......会尝试,因为一种解决方法这只能画安全面板打开时的舞台。如果您尝试绘制舞台,而舞台上有某些元素会出现安全沙箱问题(从其他位置加载的图像,或者甚至是当前正在流式传输的视频),则会遇到问题。基本上,解决方法将自动继续失败并给出错误结果。

在我的情况下,我被卡住试图使用CameraDetection,而我有一个正在流的舞台上的视频。无论安全面板是否打开,都会发生try/catch。