日期:2014-05-18 浏览次数:20733 次
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="388" height="222" creationComplete="initApp()"> <mx:Style> Alert{font-size:12px;} </mx:Style> <mx:Script> <![CDATA[ import mx.graphics.codec.JPEGEncoder; import mx.events.CloseEvent; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.controls.Alert; private static const DEFAULT_CAMERA_WIDTH:Number = 160; //摄像头显示宽度 private static const DEFAULT_CAMERA_HEIGHT:Number = 120; //摄像头显示高度 private var m_camera:Camera; //定义一个摄像头 private var m_localVideo:Video; //定义一个本地视频 private var m_pictureBitmapData:BitmapData //定义视频截图 [Bindable] private var m_pictureData:String; [Bindable] private var m_pictureBitmap:Bitmap; private function initApp():void { /* t_btn_Shooting.enabled = false; t_ban_Save.enabled = false; */ initCamera(); } private function initCamera():void { m_camera = Camera.getCamera(); if(m_camera != null) { m_camera.addEventListener(StatusEvent.STATUS,__onCameraStatusHandler); m_camera.setMode(DEFAULT_CAMERA_WIDTH,DEFAULT_CAMERA_HEIGHT,30); m_localVideo = new Video(); m_localVideo.width = DEFAULT_CAMERA_WIDTH; m_localVideo.height = DEFAULT_CAMERA_HEIGHT; m_localVideo.attachCamera(m_camera); t_vd_Video.addChild(m_localVideo); } else { Alert.show("没有找到摄像头,是否重新查找。","提示:",Alert.OK|Alert.NO,this,__InitCamera); return; } } //拍照按钮事件,进行视频截图 private function SnapshotPicture():void { m_pictureBitmapData = new BitmapData(DEFAULT_CAMERA_WIDTH,DEFAULT_CAMERA_HEIGHT); m_pictureBitmapData.draw(t_vd_Video,new Matrix()); m_pictureBitmap = new Bitmap(m_pictureBitmapData); t_img_Picture.addChild(m_pictureBitmap); t_panel_Picture.visible = true; t_ban_Save.enabled = true; } //保存按钮事件,保存视频截图 private var file:FileReference = new FileReference(); private function SavePicture():void { var jpg:JPEGEncoder = new JPEGEncoder(); var ba:ByteArray = jpg.encode(m_pictureBitmapData); file.save(ba,'1.jpg'); /* var copyfile:FileReference = file; var request: URLRequest = new URLRequest(); request.url="upphotoservlet"; request.method = "post"; copyfile.upload(request); // 将拍摄的照片上传至服务器 */ } //检测摄像头权限事件 private function __onCameraStatusHandler(event:StatusEvent):void { if(!m_camera.muted) { t_btn_Shooting.enabled = true;