Путь для сохранения видео в MediaRecord.setOutputFile() API 29

Я создаю приложения для записи экрана. Используя MediaRecorder, мне нужно указать его методу .setOutputFile() путь для сохранения файла. Раньше я брал путь с помощью метода Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM), но этот метод устарел в API 29. В документации я нашел, что сейчас для хранения файлов видео, музыки и тд., нужно использовать MediaStore, но там я нашел только как добавить уже созданное видео в галерею. Возможно ли как то получить из MediaStore путь для сохранения файлов, чтобы он работал в API 29.


Ответы (1 шт):

Автор решения: Style-7

Я к сожалению не могу проверить предлагаемый вариант в действии из-за отсутствия устройства Android 10, но теоретически нужно делать следующее: создать файл через ContentResolver который вам вернет ParcelFileDescriptor, из него вытащите FileDescriptor и вот его уже передаете в MediaRecorder в метод setOutputFile().

→ Ссылка