我在正确检测用户的相机设置时遇到问题。
如果用户选择了“允许”和“记住”,则camera.muted设置为false(未静音)
但是,如果用户选择了“拒绝”和“记住”,则camera.muted设置为true。 (相机已被用户静音)
但是,如果用户未选择任何内容并且未选中“记住”复选框,则相机设置也为真(相机再次静音,但这只是因为有人没有“允许”相机还)
有没有办法区分用户何时选择永久拒绝某个特定网站的摄像头(通过选中“记住”复选框)或者他们刚刚不允许使用摄像头?< / p>
答案 0 :(得分:3)
据我所知,没有办法检测之前是否检查过“remember”复选框。解决方法是在请求时检测相机是否静音。如:
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
}
答案 1 :(得分:1)
在flash中与网络摄像头进行了战斗,我建议大家都使用这个库。
https://github.com/cataclysmicrewind/CameraDetection/
Flash +网络摄像头应该=简单+棒极了。 不幸的是,这是痛苦+痛苦。
答案 2 :(得分:0)
您可以使用此解决方法来检测安全对话框是否已打开。
https://gist.github.com/1266104 中引用了https://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
}
答案 3 :(得分:0)
对于所有使用CameraDetection类的人都要谨慎......这只能起作用,因为在安全面板打开时尝试绘制舞台的变通方法。如果您尝试绘制舞台时会遇到问题,因为它上面有某些元素会出现安全沙箱问题(从其他位置加载图像,甚至是当前正在流式播放的视频)。基本上,解决方法将自动继续失败并给出错误的结果。
在我的情况下,当我在舞台上播放视频时,我被困在尝试使用CameraDetection。无论安全面板是否打开,都会发生try / catch。