2010-12-09 2 views
6

Я использую следующие Intent s для записи видео и фотосъемки, но в Motorola Droid 2.2 камера с камерой Intent сэкономит вариант, т. Е. Ничего не сохраняется, а camcoder Intent отменить отменяет мое приложение.Андроид видеозапись, намерение камеры

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

камеры

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

+1

i.putExtra (android.provider.MediaStore.EXTRA_VIDEO_QUALITY, 0); измените качество видео. – 2012-09-27 09:19:25

ответ

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

Смежные вопросы