Flash/Flex学习笔记(11):如何检测摄像头是否被占用

简介: 原理:摄像头激活后,持续检测与之关联的Video对象是否在播放(即每秒帧数) btnCheck.addEventListener(MouseEvent.CLICK,btnCheckClick); var cam:Camera; var video:Video; var intervalI...

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

btnCheck.addEventListener(MouseEvent.CLICK,btnCheckClick);

var cam:Camera;
var video:Video;
var intervalId:uint;
var intelvalTimes:uint=0;

function btnCheckClick(e:MouseEvent) {
	cam=Camera.getCamera();
	if (cam==null) {
		lblResult.text="未安装摄像头!";
		return;
	}
	cam.addEventListener(StatusEvent.STATUS, statusHandler);
	cam.addEventListener(ActivityEvent.ACTIVITY,camActivityHandler);
	video=new Video(cam.width,cam.height);
	//trace("视频宽度:" + cam.width + ",视频高度:" + cam.height);
	video.x=10;
	video.y=40;
	video.attachCamera(cam);//执行这句时,flash才会弹出摄像头是否允许使用提示框 
}

//摄像头有活动时,被触发
function camActivityHandler(e:ActivityEvent) {
	trace(e);
	intervalId=setInterval(checkCallBack,100);
}

function checkCallBack():void {
	intelvalTimes+=1;
	trace(intelvalTimes);
	if (cam.currentFPS>0) {
		lblResult.text="摄像头工作正常!";
		clearInterval(intervalId);
		addChild(video);//加载到当前舞台中  
	} else {
		if (intelvalTimes>=20) {//持续检测2秒,仍然无图象的话,认为"设备无法使用(占用中)"
			lblResult.text="设备无法使用(有可能被占用)";
			clearInterval(intervalId);
		}
	}
}

//用户选择"同意"或"不允许"使用摄像头时触发
function statusHandler(e:StatusEvent) {
	trace(e);
	if (e.code=="Camera.Muted") {
		lblResult.text="您不允许使用摄像头!";
	} else if (e.code == "Camera.Unmuted") {
		lblResult.text="摄像头视频获取中...";
	}
}
目录
相关文章
|
25天前
|
编解码 UED
描述一下你是如何处理不同屏幕尺寸和分辨率的。
```markdown 使用响应式设计、媒体查询适应屏幕尺寸;利用弹性布局保证元素自适应;通过图像适配提供高质量视图;多设备测试与优化确保兼容性,持续关注新技术以应对屏幕多样性。 ```
|
iOS开发
浅谈iOS 自动调节文本高度
文字展示是任何GUI开发的一个最常规的编程任务。可能一提及文字我们脑中想到的无非就是 Label 和 Text 这两个关键词,今天我们就谈谈 Label。
950 0
|
编解码 Linux Ubuntu
VirtualBox - 自动调整屏幕大小,显示分辨率
在VirtualBox中安装了Ubuntu后,Ubuntu的屏幕调整不太好,操作起来非常不方便,需要安装Vbox的增强功能。具体如下:1, 在  设备--》 安装增强功能这时会自动加载VBOXADDITIONS的虚拟光盘2,/media/VBOXADDITIONS_4.
4545 0
|
内存技术
网页缩放对 FLASH的影响
目前新出的,和升级的浏览器,都加了页面放大功能, 这些功能是对FLASH有影响的,表现在 flash在获取stage.stageWidth时,数值会按相应比例有变化 本人在用flex4.6开发时,自定preload就出现了这个问题, 建议大家在初始时用stage.
|
编解码 前端开发 Shell
与众不同 windows phone (22) - Device(设备)之摄像头(硬件快门, 自动对焦, 实时修改捕获视频)
原文:与众不同 windows phone (22) - Device(设备)之摄像头(硬件快门, 自动对焦, 实时修改捕获视频) [索引页][源码下载] 与众不同 windows phone (22) - Device(设备)之摄像头(硬件快门, 自动对焦, 实时修改捕获视频) 作者:webabcd介绍与众不同 windows phone 7.
1003 0