Flex Mobile拍照并保存在自定义目录
2013-10-24 11:29
183 查看
开发Flex Mobile应用时经常需要拍照,拍照后照片会自动保存在指定目录中,但不同设备自动保存的路径是不同的,开发人员希望将拍摄的照片保存在自定义的路径中,下面的代码实现了该功能。
(1)页面布局文件。页面布局非常简单,只有一个按钮。
(2)在按钮的单击事件中调用拍照。
(3)拍照完成后进行自定义保存
>
本人亲测通过,希望有所帮助。
(1)页面布局文件。页面布局非常简单,只有一个按钮。
<!--The layout of this view--> <s:Button id="btnTakePhoto" label="Take photo" click="btnTakePhoto_clickHandler(event)"/>
(2)在按钮的单击事件中调用拍照。
//The click method of taking photo button. protected function btnTakePhoto_clickHandler(event:MouseEvent):void { if(CameraUI.isSupported) { //Open the view of taking photo. var camera:CameraUI=new CameraUI(); camera.launch(MediaType.IMAGE); //Add the complete handler of CameraUI. camera.addEventListener(MediaEvent.COMPLETE,onTakePhotoCompleteHandler); } }
(3)拍照完成后进行自定义保存
//Define the object of MeidaPromise and IDataInput.4000
private var mediaPromise:MediaPromise;
private var fileDataSource:IDataInput;
//The handler of taking photo complete.
private function onTakePhotoCompleteHandler(event:MediaEvent):void
{
mediaPromise=event.data as MediaPromise;
mediaPromise.addEventListener(Event.COMPLETE,mediaPromiseCompleteHandler);
fileDataSource=mediaPromise.open();
}
//The handler of MeidaPromise complete.
private function mediaPromiseCompleteHandler(event:Event):void
{
//Remove the handler of MediaPromise complete.
mediaPromise.removeEventListener(Event.COMPLETE,mediaPromiseCompleteHandler);
//Write the bytes to the ByteArray.
var fileData:ByteArray=new ByteArray();
fileDataSource.readBytes(fileData,0,fileDataSource.bytesAvailable);
//Write the photo data to the File.
var file:File=new File("/mnt/sdcard/DCIM/"+mediaPromise.relativePath);
var fileStream:FileStream=new FileStream();
fileStream.open(file,FileMode.WRITE);
fileStream.writeBytes(fileData);
mediaPromise.close();
fileStream.close();
}
>
本人亲测通过,希望有所帮助。
相关文章推荐
- iOS uitableview自定义相册(实现拍照并保存在指定目录以相册的形式展示图片)
- Android自定义照相机实现(拍照、保存到SD卡,利用Bundle在Acitivity交换数据)
- Flex AIR自定义Mobile的弹出框组件
- Android自定义照相机实现(拍照、保存到SD卡,利用Bundle在Acitivity交换数据)
- Flex实现的上传摄像头拍照并将UI保存为图片
- Android自定义照相机实现(拍照、保存到SD卡,利用Bundle在Acitivity交换数据)
- writetofile(保存自定义目录下不成功)
- Android自定义照相机实现(拍照、保存到SD卡,利用Bundle在Acitivity交换数据)
- 拍照保存(调用手机),对话框的自定义样式
- TM2013自定义消息记录保存目录
- NSIS实现自定义选择数据保存目录窗口
- 【转】Android自定义照相机实现(拍照、保存到SD卡,利用Bundle在Acitivity交换数据)
- Flex 序列化自定义类 解决 sharedObject 保存自定义对象
- Android笔记:调用摄像头拍照保存至指定目录
- Android笔记:调用摄像头拍照保存至指定目录
- Flex 序列化自定义类 解决 sharedObject 保存自定义对象
- Flex 上传摄像头拍照、UI保存为图片
- Flex 序列化自定义类 解决 sharedObject 保存自定义对象
- Android点击图片保存到指定目录,并更新相册
- C# WINFORM 上传图片 并保存在程序的根目录的某个文件夹中