我使用以下Intent
来录制视频和拍照,但在Motorola Droid 2.2中,相机Intent
保存选项失败,即没有保存,并且摄像头Intent
取消崩溃我的申请。
在Intent
中我明确传递文件并在返回结果“ok”后我使用该文件,即当用户按下intent中的save / insert选项时:在camcoder中保存没问题,只取消casues在摄像机中崩溃。
相机
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播放
答案 0 :(得分:1)
如果您无法避免使用android.provider.MediaStore.EXTRA_OUTPUT
尝试通过内容提供商(如
context.getContentResolver().insert(android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI, contentValues);
要执行此操作,您应首先准备正确的内容值(设置MediaColumns.DISPLAY_NAME,MediaColumns.MIME_TYPE等)。
但最好的方法是不指定系统为您的视频提供的URI和用户URI。