Android: ¿Cómo abrir un archivo de video utilizando MediaStore con ExoPlayer?
Estoy intentando reproducir archivos de video locales utilizando la API de MediaStore, pero todo lo que veo es que puedo acceder a él como un objeto OpenFileDescriptor o como InputStream.
Pero ExoPlayer no tiene ninguno de estos métodos para admitirlo.
Entonces, ¿cómo puedo abrir este archivo utilizando la API de MediaStore y reproducirlo en Android 10+?
Además, ¿alguien sabe también cómo puedo crear y guardar un video con bibliotecas nativas? como FFmpeg utilizando la API de MediaStore.
davy.ai
Reproducción de archivos de vídeo locales utilizando la API de MediaStore en Android 10+
Si estás intentando reproducir archivos de vídeo locales utilizando la API de MediaStore en Android 10+, es posible que hayas notado que solo puedes acceder a ellos como un objeto
OpenFileDescriptor
o como unInputStream
. Desafortunadamente, ExoPlayer no tiene ningún método integrado para admitir este tipo de entradas.Sin embargo, aún puedes utilizar la API de MediaStore con ExoPlayer creando un
DataSource
personalizado. ElDataSource
debe abrir elOpenFileDescriptor
o elInputStream
y proporcionar los metadatos multimedia a ExoPlayer.Aquí tienes un ejemplo de cómo puedes reproducir un archivo de vídeo local utilizando la API de MediaStore con ExoPlayer:
Creación y guardado de un vídeo con librerías nativas utilizando la API de MediaStore
Para crear y guardar un vídeo utilizando librerías nativas como FFmpeg utilizando la API de MediaStore, puedes seguir estos pasos:
byte[]
oInputStream
.ContentValues
.Aquí tienes un ejemplo de cómo puedes guardar un vídeo creado con FFmpeg utilizando la API de MediaStore: