Air进行mobile的拍照、相册图片打开、写入相关
sshong 发表于2013年2月3日 11:30:14 更新于2013年2月3日 11:30:14
原文

Air提供了两个类:

1、CameraUI类,此类用于打开相机,并从相机获取实时照片。

CameraUI类,可以选择当前是拍照还是拍摄视频,调用launch方法,并传入MediaType,mobile会打开相机进行拍照,拍照完成后,会触发MediaEvent.COMPLETE,MediaEvent的data属性是一个MediaPromise类,利用loader的loadFilePromise即可加载。
            //打开相机获取图片
            if(CameraUI.isSupported) {
                _cameraUI = new CameraUI();
                _cameraUI.addEventListener(MediaEvent.COMPLETE, onCapturedImg);
                _cameraUI.addEventListener(Event.CANCEL, onCancelSave);
                _cameraUI.addEventListener(ErrorEvent.ERROR, onCameraError);
                //
                _cameraUI.launch(MediaType.IMAGE);
            }
            else {
                trace("CameraUI not support");
            }
        //******
        //照相相关
        //******
        private function onCapturedImg(evt:MediaEvent):void {
            trace("capture captured", evt.data.file);
            if(evt.data.isAsync) {
                trace("async img");
            }
            else {
                trace("sync img");
            }
            _loader.loadFilePromise(evt.data);
        }
       
        private function onCancelSave(evt:Event):void {
            trace("capture canceled");
        }
       
        private function onCameraError(evt:ErrorEvent):void {
            trace("error" + evt.text);
        }

2、CameraRoll类,此类用于从手机相册打开图片、保存图片到手机相册。

调用browseForImage方法,会打开mobile的相册,用户选择图片后会触发MediaEvent.SELECT,MediaEvent的data属性是一个MediaPromise类,利用loader的loadFilePromise即可加载。

调用addBitmapData方法,可以把照片存储到手机相册中。
            //从相机交卷读取文件
            if(CameraRoll.supportsBrowseForImage) {
                _cameraRoll = new CameraRoll();
                _cameraRoll.addEventListener(MediaEvent.SELECT, onSelectImg);
                _cameraRoll.addEventListener(Event.CANCEL, onCancelSelectImg);
                _cameraRoll.addEventListener(ErrorEvent.ERROR, onSelectError);
                _cameraRoll.addEventListener(Event.COMPLETE, onSavedImg);
                _cameraRoll.browseForImage();
//                if(CameraRoll.supportsAddBitmapData) {
//                    var bmpdata:BitmapData = new BitmapData(100, 100, false, 0xff00ff);
//                    _cameraRoll.addBitmapData(bmpdata);
//                }
            }
            else {
                trace("CameraRoll not support");
            }
        //***
        //打开相机图片相关
        //***
        private function onSelectImg(evt:MediaEvent):void {
            trace("select img", evt.data.file);
            _loader.loadFilePromise(evt.data);
            //
        }
       
        private function onCancelSelectImg(evt:Event):void {
            trace("img canceled");
        }
       
        private function onSelectError(evt:ErrorEvent):void {
            trace("error" + evt.text);
        }
       
        private function onSavedImg(evt:Event):void {
            trace("img saved");
        }
标签:airmobile分类:As3&Flex阅读:1419
评论
暂无评论
添加评论
您的大名,限长10汉字,20英文(*)
电子信箱(*)
您的网站
正文,限长500汉字,1000英文(*)
验证码(*) 单击刷新验证码
联系我
博客订阅