flash camera类操作摄像头示例

package 
{
	import flash.display.Sprite;
	import flash.media.Camera;
	import flash.media.Video;
	import flash.display.StageScaleMode;
	import flash.display.StageAlign;
	import flash.events.ActivityEvent;
	import flash.events.StatusEvent;
	/**
	 * ...
	 * @author chb
	 */
	public class cameraExample extends Sprite
	{
		/**
		 * ...
		 * 构造函数
		 */
		public function cameraExample():void
		{
			trace("进入了构造函数");
			setMain();
		}
		private var vid:Video;//声明视频对象
		/**
		 * ...
		 * 主函数
		 */
		public function setMain():void
		{
			//设置舞台属性
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
			//获取摄像头对象
			var camera:Camera = Camera.getCamera();
			//判断此对象是否为空
			if (camera == null)
			{
				trace("此机器上没有安装摄像头");
			}
			else
			{
				camera.setLoopback(true);//压缩视频流
				camera.setQuality(100000, 1000);//设置宽带量和画面质量
				camera.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
				camera.addEventListener(StatusEvent.STATUS,statusHandler);
				//创建一个视频对象
				vid = new Video(camera.width * 2, camera.height * 2);
				//将摄像头流添加的视频
				vid.attachCamera(camera);
				//将视频添加到舞台
				stage.addChild(vid);
				trace("视频输入信号可以使用的最大宽度:" + camera.bandwidth);
				trace("画面质量级别:" + camera.quality);
				trace("摄像头捕获数据的速率:" + camera.currentFPS);
				trace("摄像头名称:"+camera.name)
			}
		}
		/**
		 * ...
		 * 在摄像头开始或结束会话时调度事件
		 */
		public function activityHandler(e:ActivityEvent)
		{
			trace("ActivityEvent:"+e);
		}
		/**
		 * ...
		 * 在摄像头报告期状态时调度事件
		 */
		public function statusHandler(e:StatusEvent):void
		{
			trace("statusHandler:"+e.code);
		}
	}
	
}

转载于:https://www.cnblogs.com/chenhaib/archive/2011/06/17/2083216.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值