Я пытаюсь записать видео на Android с использованием намерения MediaStore.ACTION_VIDEO_CAPTURE. Я могу записать видео в альбом библиотеки по умолчанию, но я больше не могу хранить его. Я пытался использовать пристальный параметр EXTRA_MEDIA_ALBUM:Укажите альбом записанного видео в Android
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);
«результат» 1, поэтому значение строки на самом деле изменилось, но это не в альбоме «Мои приложения видео» один раз я открываю его.
Я также пробовал различные решения, объясненные в Android documentation, но с любым Uri an IllegalArgumentException (неизвестный файл URL). Я пропустил удобный метод, например MediaStore.Images.Media.insertImage
Как вы справились с этой проблемой?
Должен ли он использовать намерение записывать видео для вас? Не следует ли использовать MediaRecorder? – Abhi
Я хотел бы сохранить видеоинформацию в MediaStore и использовать собственное приложение для камеры, поэтому использовать MediaRecorder будет последним вариантом. Это «почти» работает с MediaStore.ACTION_VIDEO_CAPTURE, и мне просто нужно указать конкретный альбом для моего приложения. Это должен быть способ сделать это, потому что это делают некоторые приложения, такие как LiveProfile. –
можно сохранить записанное видео на SD-карте с помощью MediaRecorder – Abhi