宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > AS2与AS3技术

[AS3]as3.0下检测检测摄像头占用情况的代码示例

2016-10-13 00:16:48 点击量:10 标签: 收藏本文

摄像头激活后,持续检测与之关联的Video对象是否在播放(即每秒帧数)

  1. btnCheck.addEventListener(MouseEvent.CLICK,btnCheckClick);   
  2.     
  3. var cam:Camera;   
  4. var video:Video;   
  5. var intervalId:uint;   
  6. var intelvalTimes:uint=0;   
  7.     
  8. function btnCheckClick(e:MouseEvent) {   
  9.     cam=Camera.getCamera();   
  10.     if (cam==null) {   
  11.         lblResult.text="极酷播放器提示未安装摄像头!";   
  12.         return;   
  13.     }   
  14.     cam.addEventListener(StatusEvent.STATUS, statusHandler);   
  15.     cam.addEventListener(ActivityEvent.ACTIVITY,camActivityHandler);   
  16.     video=new Video(cam.width,cam.height);   
  17.     //trace("视频宽度:" + cam.width + ",视频高度:" + cam.height);   
  18.     video.x=10;   
  19.     video.y=40;   
  20.     video.attachCamera(cam);//执行这句时,flash才会弹出摄像头是否允许使用提示框    
  21. }   
  22.     
  23. //极酷播放器提示摄像头有活动时,被触发   
  24. function camActivityHandler(e:ActivityEvent) {   
  25.     trace(e);   
  26.     intervalId=setInterval(checkCallBack,100);   
  27. }   
  28.     
  29. function checkCallBack():void {   
  30.     intelvalTimes+=1;   
  31.     trace(intelvalTimes);   
  32.     if (cam.currentFPS>0) {   
  33.         lblResult.text="摄像头工作正常!";   
  34.         clearInterval(intervalId);   
  35.         addChild(video);//加载到当前舞台中     
  36.     } else {   
  37.         if (intelvalTimes>=20) {//持续检测2秒,仍然无图象的话,认为"设备无法使用(占用中)"   
  38.             lblResult.text="设备无法使用(有可能被占用)";   
  39.             clearInterval(intervalId);   
  40.         }   
  41.     }   
  42. }   
  43.     
  44. //极酷播放器提示用户选择"同意"或"不允许"使用摄像头时触发   
  45. function statusHandler(e:StatusEvent) {   
  46.     trace(e);   
  47.     if (e.code=="Camera.Muted") {   
  48.         lblResult.text="您不允许使用摄像头!";   
  49.     } else if (e.code == "Camera.Unmuted") {   
  50.         lblResult.text="摄像头视频获取中...";   
  51.     }   

作者:菩提树下的杨过出处:http://yjmyzz.cnblogs.com
 

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室