1

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

4

1 回答 1

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."); 
    } 
}
于 2013-10-14T15:58:33.113 回答