camero,flash camero类操作摄像头示例

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); } } }
Tags:  flash示例 camero

延伸阅读

最新评论

发表评论