Flex(flash)检测摄像头的3种状态(是否被占用,没安装摄像头,正常)-阿里云开发者社区

开发者社区> 技术小胖子> 正文

Flex(flash)检测摄像头的3种状态(是否被占用,没安装摄像头,正常)

简介:
+关注继续查看

在视频程序的编写过程中,我们经常要使用摄像头,在使用摄像头前有必要对摄像头的现有状态做个检测:

1.被占用

2.没安装摄像头

3.正常

 

看下面代码:

<?xml version="1.0" encoding="utf-8"?> 
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" 
    layout="absolute" creationComplete="init()">


    <mx:Script> 
        <![CDATA[


            import mx.controls.Alert; 
            private var camera:Camera; 
            private var isExistsCamera:Boolean=false; 
            private var isBusyCamera:Boolean=false; 
            private var intervalId:uint; 
            private var times:int;

            private function init():void 
            { 
                camera=Camera.getCamera(); 
               if (camera == null) 
                { 
                   if (Camera.names.length <= 0) 
                    { 
                        this.isExistsCamera=false; 
                        Alert.show("没安装摄像头"); 
                    } 
                } 
                else 
                { 
                    this.vdpaly.attachCamera(this.camera); 
                    this.isCameraBusy(); 
                } 
            }


            private function isCameraBusy():void 
            { 
                this.intervalId=setInterval(callback,50); 
            }

 

            private function callback():void 
            { 
                trace("currentFPS=" + camera.currentFPS.toString());

               if (camera.currentFPS > 0) 
                { 
                    //视频设备可用 
                    clearInterval(this.intervalId); 
                    this.isBusyCamera=false; 
                    Alert.show("摄像头正常"); 
                } 
                else 
                { 
                    times++; 
                    trace("times=" + times.toString());

                    if (times > 30) 
                    { 
                        //视频设备忙 
                        clearInterval(intervalId); 
                        this.isBusyCamera=true; 
                        Alert.show("摄像头被占用"); 
                    } 
                } 
            }

 

             private function cl():void 
            { 
                Alert.show(this.camera.currentFPS.toString()); 
            }

 

        ]]> 
    </mx:Script>


    <mx:VideoDisplay   id="vdpaly"  click="cl()" x="44" y="64" width="232" height="236"/>


</mx:WindowedApplication>

 

代码说明:

camera == null,那么就是没安装摄像头

如果摄像头被占用,那么camera.currentFPS 肯定不会大 于0,而是等于0



    本文转自 OldHawk  博客园博客,原文链接:http://www.cnblogs.com/taobataoma/archive/2010/12/05/1896747.html,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
运维编排场景系列----检测MFA功能状态
应用场景 Multi-Factor Authentication (MFA)是一种简单有效的最佳安全实践方法,它能够在用户名和密码之外再额外增加一层安全保护。当一个主账号下拥有多个子账号时,为了检测主账号下的每个子账户是否开启MFA功能,需要每天或自定义时间去做定时检测,并将未开启MFA功能的用户发送给指定的钉钉用户。
2136 0
旋翼受损还能正常飞行?在无人机上并置摄像头,这种图像算法还能保证指令“无损”
旋翼受损还能正常飞行?在无人机上并置摄像头,这种图像算法还能保证指令“无损”
44 0
控制台安装跟检测Microsoft.Net Framework
1、检测 每一个版本的.Net Framework的安装过程都会在Windows目录下的\Microsoft.NET\Framework目录中生成一个子目录(安装目录)。 比如说,假设Windows目录在C盘且不曾在安装OS时重命名过Windows目录,那么.Net Framework 3.5的安装目录应该是: C:\Windows\Microsoft.NET\Framework\v3.5 在这个目录下应该有一个该版本的MSBuild.exe,我们执行 MSBuild /version 应该能得到版本信息。
1054 0
【原】oracle11g 客户端安装检测失败问题
原因:不打开默认共享,oracle无法检查环境的可用性! cmd命令提示符下 键入 “net share c$=c:” 回车 C盘的默认共享,问题解决=============================================================== 如果现在只有...
712 0
S/4HANA生产订单的标准状态和透明工厂原型状态的映射
事务码CO03查看生产订单的状态: 从下面的界面能看出S/4HANA里生产订单在任意时刻可能存在多个状态: 生产订单的ID和状态ID的关系是1:N,维护在数据库表VSAUFK里: 如何把上述SAP系统标准状态映射到透明工厂原型的5个状态去呢? 目前的映射实现采取的是“关键状态法”: 只要生...
573 0
21119
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载