Camera的应用要点: CameraUI 和 CameraRoll
声明:
private var camera:CameraUI; private varcameraRoll:CameraRoll;
首先就是我们熟知的issupport的执行。
Protected function initHandler():void{ if(CameraUI.isSupported) { //声明camera的实例; camera= new CameraUI(); camera.addEventListener(MediaEvent.COMPLETE,onComplete); camera.addEventListener(ErrorEvent.ERROR,onError); } else { trace(“camera is not supported!”); } }
插入说下onComplete方法里面做的事:
private functiononComplete(event:MediaEvent):void{ //提供媒体对象,即camera的data; varmediaPromise:MediaPromise = event.data; //另外可以给出对应拍摄照片的现实载体image,以及该照片文件的URL显示载体status; status.text= mediaPromise.file.url; image.source= mediaPromise.file.url; }
前期准备工作完成, 接下来,
拍摄:则启用camera.lauch(requestedMediaType:String):void的方法;
具体则是:camera.launch(MediaType.IMAGE);
这个方法启动后则能进入手机拍摄的界面,拍摄确认后,图片则显示在之前确认的载体image上;
浏览图片库:则启用
先判断CameraRoll的supportsBrowseForImage;
if(CameraRoll.supportsBrowseForImage){ cameraRoll =new CameraRoll(); cameraRoll.addEventListener(MediaEvent.SELECT,mediaSelected); cameraRoll.addEventListener(ErrorEvent.ERROR,onError); }else { trace(cameraRollis not supported!); }
那么最后我们就落实mediaSelected方法就可以了:
private functionmediaSelected(event:MediaEvent):void { varmediaPromise:MediaPromise = event.data; status.text= mediaPromise.file.url; image.source= mediaPromise.file.url; }