6

我使用以下Intents 来录制视频和拍照,但在 Motorola Droid 2.2 中,相机Intent保存选项失败,即没有保存任何内容,并且摄像机Intent取消使我的应用程序崩溃。

Intent我明确传递文件和返回结果“ok”之后我使用该文件,即当用户按下意图中的保存/插入选项时:在摄像机中保存没问题,只有取消导致摄像机崩溃。

相机

 Intent intent2 = new Intent("android.media.action.IMAGE_CAPTURE");
 imgUri = Uri.fromFile(photofile);
 intent2.putExtra(MediaStore.EXTRA_OUTPUT, imgUri);
 startActivityForResult(intent2, 1);

摄像机

 Intent i = new Intent("android.media.action.VIDEO_CAPTURE");
 i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(videofile));
 i.putExtra(android.provider.MediaStore.EXTRA_VIDEO_QUALITY, 0);
 i.putExtra("android.intent.extra.durationLimit", 60);
 startActivityForResult(i, 2);

注意:录制的视频无法用 HTC ERIS 播放

4

1 回答 1

1

如果你不能避免使用android.provider.MediaStore.EXTRA_OUTPUT尝试通过内容提供者准备 URI

context.getContentResolver().insert(android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI, contentValues);

为此,您应该首先准备正确的内容值(设置 MediaColumns.DISPLAY_NAME、MediaColumns.MIME_TYPE 等)。

但最好的方法是不指定系统将为您的视频提供的您自己的 URI 和用户 URI。

于 2013-01-27T09:41:44.203 回答