as3(actionScript3.0) 操作摄像头(Camera)实例

直接代码

package 
{
	import flash.display.Sprite;
	//要连接到用户的摄像头,需要Camera这个类
	import flash.media.Camera;
	//通过Video这个类来获取摄像头捕获的图像
	import flash.media.Video;
	import flash.events.StatusEvent;

	public class camera extends Sprite
	{
		//Camera没有__contrust,只能通过getCamera()方法来获得实例
		var cam:Camera = Camera.getCamera();
		
		var vid:Video;

		public function camera()
		{
			/*
			检查摄像头是否安装,通过Camera.names这个数组中
			是否有值来判断,也可以通过
			var cam:Camera = Camera.getCamera();
			if(cam != null){
			// 安装摄像头的处理代码
			}else{
			//没有安装摄像头的处理代码
			}
			*/
			if (Camera.names.length > 0)
			{
				//监听用户是允许flash player去使用摄像头
				cam.addEventListener(StatusEvent.STATUS,statusHandler);

				//创建一个Video  
				vid = new Video();
				//Video实例添加Carera实例
				vid.attachCamera(cam);
				
			}
			else
			{
				//如果没有安装摄像头的代码段
			}

		}

		/**
		监听事件函数,来判断用户是否允许flash Player去使用摄像头
		当然也可以能过如下的方式来判断
		if(cam.muted){
		trace("用户禁止flash Player去使用摄像头");
		}else{
		trace("用户允许falsh Player去使用摄像头");
		}
		*/
		function statusHandler(event:StatusEvent):void
		{
			switch (event.code)
			{
				case "Camera.Muted" :
					trace("用户禁止flash Player去使用摄像头");
					break;
				case "Camera.Unmuted" :
					trace("用户允许falsh Player去使用摄像头");
					
					//并用摄像头的维度来设置video的维度
					vid.width = cam.width;
					vid.height = cam.height;
					
					//将Video实例添加到显示列表中
				    addChild(vid);
					break;
			}
			cam.removeEventListener(StatusEvent.STATUS,statusHandler);
		}
	}

}


你可能感兴趣的:(实例,as3,Camera)