1、调用Camera.getCamera获得摄像头
2、可通过Security.showSettings(SecurityPanel.CAMERA) 调用 Flash Player 中的“安全设置”面板。
3、有了摄像头,就该输出视频了。把摄像头附在Video对象上即可。
Video是一个显示对象,所以记得要把它加入显示列表中。
1 public function CameraTest() 2 { 3 stage.align = StageAlign.TOP_LEFT; 4 stage.scaleMode = StageScaleMode.NO_SCALE; 5 6 _camera = Camera.getCamera(); 7 trace( _camera.name ); 8 Security.showSettings( SecurityPanel.CAMERA ); 9 10 // 设置摄像头捕获的像素宽高 11 _camera.setMode( 640, 480, 15 ); 12 //设置每秒的最大带宽或当前输出视频输入信号所需的画面质量 13 //_camera.setQuality(); 14 15 _video = new Video( 640, 480 ); 16 _video.attachCamera( _camera ); 17 addChild( _video ); 18 }
视频和位图:
摄像头最强大的应用是混合BitmapData。所以,通过draw把视频绘制在一个BitmapData对象里,就能以像素级来控制整个东西了。
1 public function CameraTest() 2 { 3 stage.align = StageAlign.TOP_LEFT; 4 stage.scaleMode = StageScaleMode.NO_SCALE; 5 6 _camera = Camera.getCamera(); 7 trace( _camera.name ); 8 Security.showSettings( SecurityPanel.CAMERA ); 9 10 // 设置摄像头捕获的像素宽高 11 _camera.setMode( 640, 480, 15 ); 12 //设置每秒的最大带宽或当前输出视频输入信号所需的画面质量 13 //_camera.setQuality(); 14 15 _video = new Video( 640, 480 ); 16 _video.attachCamera( _camera ); 17 //addChild( _video ); 18 19 _bmd = new BitmapData( 640, 480 ); 20 addChild( new Bitmap( _bmd ) ); 21 addEventListener(Event.ENTER_FRAME, onEnterFrame); 22 } 23 24 protected function onEnterFrame(event:Event):void 25 { 26 // 反转图像 27 var matrix:Matrix = new Matrix( -1, 0, 0, 1, _bmd.width, 0 ); 28 _bmd.draw( _video, matrix ); 29 }