今天又把项目里检测摄像头这一块重写了,记点东西在flex里面,跳出安全权限的窗口为
代码如下
Security.showSettings(SecurityPanel.PRIVACY);
这句代码为非阻塞的,所以我们需要对摄像头和麦克风进行监听
代码如下 mic = Microphone.getEnhancedMicrophone();
mic.addEventListener(StatusEvent.STATUS,EventArgExtend.create(audio_statusHandler,par1,par2));
我们可以用mic.muted mic.Unmuted 判断授权状态
代码如下 camera = Camera.getCamera()
camera.addEventListener(StatusEvent.STATUS, EventArgExtend.create(camera_statusHandler,par1,par2));
Camera.muted 指示用户拒绝访问摄像头;Camera.Unmuted 指示用户允许访问摄像头
代码中的EventArgExtend.create 是一个类,作用是为了给监听事件传参,代码可以自己baidu,google
用法可以看下面的示例,还提供了一些方法大家可以自行察看as文件。其中,检测麦克风的功能还不完善。
代码如下import cn.mediasky.media.*;
//建立selecter实例,必须使用main方法创建。
//四个参数分别为,selecter上级的影片剪辑,Depth,x位置,y位置
var my_selecter = Selecter.main(_root, 0, 50,20);
//注册为侦听器
my_selecter.addListener(_root);
//检测摄像头状态
my_selecter.checkCam();
//处理摄像头状态
function onCamStatus(iInfo:Info):Void{
if(iInfo.code == "UnMuted"){
_root.my_video.attachVideo(iInfo.cam);
}else{
_root.my_video.clear();
}
}
其中StatusEvent中的code返回值g官方文档为:
在麦克风报告其状态时调度。如果 code 属性的值为“Microphone.Muted”,则表示用户拒绝 SWF 文件访问麦克风。如果 code 属性的值为“Microphone.Unmuted”,则表示用户允许 SWF 文件访问麦克风。
在摄像头报告其状态时分派。若 code 属性的值为 “Camera.Muted”,则表示用户已拒绝 SWF 文件访问其摄像头。如果 code 属性的值为“Camera.Unmuted”,则表示用户允许 SWF 文件访问其摄像头。
http://m.bbyears.com/flash/50869.html
推荐访问:flexible flex-wrap flexibility flexsim flex-direction