Actionscript 3 检测用户';s摄像机设置

Actionscript 3 检测用户';s摄像机设置,actionscript-3,camera,Actionscript 3,Camera,我在正确检测用户的相机设置时遇到问题 如果用户选择了“允许”和“记住”,则camera.mute设置为false(未静音) 但是,如果用户选择了“拒绝”和“记住”,则camera.muted设置为true。(用户已将摄像头静音) 但是,如果用户没有选择任何内容,并且未选中“记住”复选框,则camera.muted设置也为TRUE(摄影机再次静音,但这只是因为有人尚未“允许”摄影机) 有没有办法区分用户选择永远拒绝某个特定站点的摄像头(通过勾选“记住”复选框)还是他们一开始就不允许使用摄像头?据我

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

如果用户选择了“允许”和“记住”,则camera.mute设置为false(未静音)

但是,如果用户选择了“拒绝”和“记住”,则camera.muted设置为true。(用户已将摄像头静音)

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


有没有办法区分用户选择永远拒绝某个特定站点的摄像头(通过勾选“记住”复选框)还是他们一开始就不允许使用摄像头?

据我所知,没有办法检测“记住”复选框之前是否被勾选过。解决方法是在请求时检测摄像头是否静音。例如:

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
}

在与flash中的网络摄像头进行了斗争之后,我建议每个人都使用这个库

Flash+网络摄像头应该=简单+棒极了。
不幸的是,这是痛苦+痛苦

您可能可以使用此变通方法来检测安全对话框是否打开

引用于

然后你可以做一些类似的事情:

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
}

对于所有使用CameraDetection类的用户,请小心。。。这只适用于在安全面板打开时尝试绘制舞台的变通方法。如果您试图绘制舞台,而舞台上的某些元素会导致安全沙箱问题(从其他位置加载的图像,甚至是当前正在播放的视频),则会遇到问题。基本上,解决方案将自动继续失败并给出错误的结果

在我的例子中,当我在舞台上播放视频时,我被困在尝试使用CameraDetection。无论安全面板是否打开,尝试/捕获都会发生