Запись видео Android, намерение камеры

Я использую следующие Intent для записи видео и фотосъемки, но в Motorola Droid 2.2 опция сохранения камеры Intent не работает, т.е. ничего не сохраняется, а отмена видеокамеры Intent приводит к сбою моего приложения.

В обоих Intent я явно передаю файл, и после того, как он возвращает результат «ОК», я использую файл, т.е. когда пользователь нажимает параметры сохранения/вставки в намерении: СОХРАНИТЬ в видеокамере нет проблем, только отменить сбой в видеокамере.

Камера

 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);

NB: Записанное видео нельзя воспроизвести с помощью HTC ERIS.


person Bytecode    schedule 09.12.2010    source источник
comment
i.putExtra(android.provider.MediaStore.EXTRA_VIDEO_QUALITY, 0); изменить качество видео.   -  person Mohammad Ersan    schedule 27.09.2012
comment
вам необходимо предоставить журналы сбоев из Logcat   -  person HitOdessit    schedule 15.10.2012


Ответы (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 пользователя, который система выдаст для вашего видео.

person fo2rist    schedule 27.01.2013