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
B.MCAD学习
C.代码阅读总结
D.ASP.NET状态管理
E.DB(数据库)
F.WAP
G.WinForm
H.Flex
希望上面提到的知识对您有所提示,同时欢迎交流和指正
作者:aierong
出处:http://www.cnblogs.com/aierong
贴子以"现状"提供且没有任何担保,同时也没有授予任何权利!
本文版权归作者所有,欢迎转载!
原创技术文章和心得,转载注明出处!这也是对原创者的尊重!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 突破Excel百万数据导出瓶颈:全链路优化实战指南
· 如何把ASP.NET Core WebApi打造成Mcp Server
· Linux系列:如何用perf跟踪.NET程序的mmap泄露
· 日常问题排查-空闲一段时间再请求就超时
· Java虚拟机代码是如何一步一步变复杂且难以理解的?
· 在 .NET 中使用 Sqids 快速的为数字 ID 披上神秘短串,轻松隐藏敏感数字!
· 突破Excel百万数据导出瓶颈:全链路优化实战指南
· ChatGPT为何放弃WebSocket?揭秘EventSource的三大决胜优势
· 【译】Visual Studio Hub 介绍
· 【SQL周周练】给你无酸纸、变色油墨,你能伪造多少美金?