我正在使用相机意图使用默认相机应用程序捕获静态图像和视频。拍照的方法和拍摄视频的方法非常相似。图片一个很好用,它将照片保存到我提供意图路径的临时文件中。但视频不起作用。
视频意图正常打开相机应用程序,然后我录制了m视频,一切似乎都很好,但是当我完成录制或达到其中一个限制时,相机应用程序就会崩溃。
这是我调用相机应用程序的活动代码:
private void takeVideo()
{
Intent videoIntent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
File tempFolder = new File(Environment.getExternalStorageDirectory(), "MediaTemp");
tempFolder.mkdirs();
File video = new File(tempFolder, "vid.tmp");
Uri uriSavedVideo = Uri.fromFile(video);
videoIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedVideo);
videoIntent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 60);
videoIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
videoIntent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, (long)(16*1024*1024));
this.startActivityForResult(videoIntent, 2);
}
private void takePicture()
{
Intent pictureIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File tempFolder = new File(Environment.getExternalStorageDirectory(), "MediaTemp");
tempFolder.mkdirs();
File image = new File(tempFolder, "pic.tmp");
Uri uriSavedImage = Uri.fromFile(image);
pictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
this.startActivityForResult(pictureIntent, 1);
}
我不认为问题出在OnActivityResult方法中,因为崩溃的应用程序是相机应用程序而不是我自己的应用程序,因此它遇到的问题必须在我的应用程序在OnActivityResult中获得控制权之前发生。但我无法理解造成这次崩溃的原因。任何人都可以对此提供一些见解吗?
答案 0 :(得分:0)
我没有使用Android相机,但你可能想看看CommonsWare如何在他的库中解决这些问题:https://github.com/commonsguy/cwac-camera
从github页面:
的信用CWAC-Camera旨在标准化“大量代码”并将其隐藏在可扩展API之后。在这里,“可扩展”意味着“简单的事情很简单,但复杂的事情可能有点复杂”。