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