Запись видео с Android, намерение камеры - PullRequest
6 голосов
/ 09 декабря 2010

Я использую следующие Intent s для записи видео и фотосъемки, но в 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

1 Ответ

1 голос
/ 27 января 2013

Если вы не можете избежать использования android.provider.MediaStore.EXTRA_OUTPUT, попробуйте подготовить URI через провайдера контента следующим образом:

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

To, чтобы сначала подготовить правильные значения контента (настройте MediaColumns.DISPLAY_NAME, MediaColumns.MIME_TYPEи т. д.).

Но лучше всего не указывать свой собственный URI и пользовательский URI, которые система предоставит для вашего видео.

...