AS3,Flash:如何判断安全设置是否被记住?

时间:2013-10-14 07:47:44

标签: actionscript-3 flash webcam microphone

我正在开发一些使用麦克风和相机的基于浏览器的Flash应用。我只有在用户授权访问摄像机时才需要继续操作。我检查访问是否已经存在,以防用户允许访问并选中“记住”设置。如果未授予访问权限,则可能有两件事:用户尚未提示对话,或者他已选中“记住”并拒绝访问。有没有办法确定这两个中的哪一个现在适用?基本上,我想确定这个问题的答案:“用户是否记得拒绝访问麦克风/凸轮?”

1 个答案:

答案 0 :(得分:0)

对于麦克风,您可以通过创建麦克风类进行检查,并看到getMicrophone函数返回null:var mic:Microphone = Microphone.getMicrophone();

这取自http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d0f.html: 当应用程序调用Microphone.getMicrophone()方法时,Flash Player将显示“Flash Player设置”对话框,该对话框提示用户允许或拒绝Flash Player访问系统上的摄像头和麦克风。用户单击此对话框中的“允许”按钮或“拒绝”按钮后,将调度StatusEvent。该StatusEvent实例的code属性指示是允许还是拒绝麦克风访问,如下例所示:

import flash.media.Microphone; 

var mic:Microphone = Microphone.getMicrophone(); 
mic.addEventListener(StatusEvent.STATUS, this.onMicStatus); 

function onMicStatus(event:StatusEvent):void 
{ 
    if (event.code == "Microphone.Unmuted") 
    { 
        trace("Microphone access was allowed."); 
    }  
    else if (event.code == "Microphone.Muted") 
    { 
         trace("Microphone access was denied."); 
    } 
}