Укажите альбом записанного видео в Android - PullRequest
1 голос
/ 27 июля 2011

Я пытаюсь записать видео в Android с помощью намерения MediaStore.ACTION_VIDEO_CAPTURE. Я могу записать видео в альбом библиотеки по умолчанию, но не могу хранить в другом месте. Я пытался использовать параметр намерения EXTRA_MEDIA_ALBUM:

Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_MEDIA_ALBUM, "My app videos");
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, 0);

Я также пытался вставить строку видео в MediaStore перед самим видео.

ContentValues videoValues = new ContentValues();
videoValues.put(MediaStore.Video.Media.TITLE, "My app video at" + System.currentTimeMillis());
videoValues.put(MediaStore.Video.Media.ALBUM, "My app videos");
Uri videoUri= getContentResolver().insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, videoValues);

Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, videoUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, 0);

И я также попытался изменить метаданные после вставки видео, чтобы увидеть, не находится ли он в другом альбоме, как только я открою приложение галереи.

protected void onActivityResult(final int requestCode, final int resultCode, final Intent dataIntent) {
    ...
    Uri contentUri = dataIntent.getData();
    ContentValues values = new ContentValues();
    values.put(MediaStore.Video.Media.ALBUM, "My app videos");
    int result = getContentResolver().update(contentUri, values, null, null);

'result' равно 1, поэтому значение строки фактически изменилось, но его нет в альбоме "My app videos" после того, как я его открою.

Я также пробовал различные решения, описанные в документации Android , но с любым URI исключение IllegalArgumentException (неизвестный файл URL). Мне не хватает такого удобного метода, как MediaStore.Images.Media.insertImage

Как вы справились с этой проблемой?

1 Ответ

0 голосов
/ 21 мая 2012

У меня похожая проблема, хотя мой код состоит из двух частей: одна содержит фотографии и другая - видео, один и тот же процесс и сценарий дают два разных результата, следующий поток объясняет больше!

http://www.androidquestions.org/threads/618-Intent-doesn-t-keep-video-extras-after-capturing-the-video!?p=1761#post1761

Буду благодарен, если у этой проблемы есть какие-либо решения!

...