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;
}