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

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

1.被占用

2.没安装摄像头

3.正常

 

  camera=Camera.getCamera();
               if (camera == null)
                {
                   if (Camera.names.length <= 0)
                    { 
                        
                        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("摄像头被占用");                    

}                

}           

  }

 

 

代码说明:

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

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

posted on 2014-11-13 11:41  jiahuafu  阅读(761)  评论(0编辑  收藏  举报

导航