将图像、音频和视频保存到 SD 卡
Posted
技术标签:
【中文标题】将图像、音频和视频保存到 SD 卡【英文标题】:Saving image, audio, and video to sd card 【发布时间】:2012-03-08 09:07:53 【问题描述】:我无法理解如何将文件保存到 SD 卡。对于我的相机类,我拍了一张照片,而不是创建一个新目录来保存它。它创建了文件夹,但图像不在文件夹中?请帮忙。
if (items[which].equals("Picture"))
Intent cameraIntent = new Intent(
MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent,
PICTURE_ACTIVITY);
File imagesFolder = new File(Environment
.getExternalStorageDirectory(),
"SeccyPhotos");
imagesFolder.mkdirs(); // <----
File image = new File(imagesFolder, "image_001.jpg");
Uri uriSavedImage = Uri.fromFile(image);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,
uriSavedImage);
我打电话给相机,然后在你拍照后它应该保存到文件夹中。
编辑: 视频会和相机一样吗?
Intent cameraIntent = new Intent(
MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(cameraIntent,
PICTURE_ACTIVITY);
File videosFolder = new File(Environment
.getExternalStorageDirectory(),
"cangryVideos");
videosFolder.mkdirs(); // <----
File video = new File(videosFolder, "Video_001.3gp");
Uri uriSavedvideo = Uri.fromFile(video);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,
uriSavedvideo);
startActivityForResult(cameraIntent,
PICTURE_ACTIVITY);
【问题讨论】:
【参考方案1】:在将图像文件 URI 设置为 cameraIntent
之前,您正在调用 startActivityForResult(cameraIntent, PICTURE_ACTIVITY);
。
你的代码应该是:
if (items[which].equals("Picture"))
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File imagesFolder = new File(Environment.getExternalStorageDirectory(),
"SecExPhotos");
imagesFolder.mkdirs(); // <----
File image = new File(imagesFolder, "image_001.jpg");
Uri uriSavedImage = Uri.fromFile(image);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,uriSavedImage);
startActivityForResult(cameraIntent,PICTURE_ACTIVITY);
这应该可以解决您的问题。
【讨论】:
视频会是一个类似的概念吗? 不知道。直到现在还没有使用视频。如果您还没有,我建议您继续尝试。以上是关于将图像、音频和视频保存到 SD 卡的主要内容,如果未能解决你的问题,请参考以下文章