Creé una aplicación de grabación de video con diálogo de biblioteca. El cuadro de diálogo de la biblioteca muestra la lista de videos grabados donde cada elemento consta de un icono, título de video, etiquetas e información de ubicación de la siguiente manera:
¿Alguien sabe si es posible reemplazar los íconos con miniaturas de video (vista previa de un solo cuadro)?
¡Gracias!
Respuestas:
Si está utilizando API 2.0 o más reciente, esto funcionará.
fuente
id
?si no puede o no puede pasar por el cursor y si solo tiene rutas u objetos de archivo, puede usar desde API nivel 8 (2.2) el mapa de bits estático público createVideoThumbnail (String filePath, int kind)
Documentación de Android
El siguiente código se ejecuta perfectamente:
fuente
t have my video ID. For better quality use
pongo MediaStore.Video.Thumbnails.FULL_SCREEN_KIND`Usando la clase:
Podemos obtener dos tamaños de miniatura de vista previa del video:
Thumbnails.MICRO_KIND
para 96 x 96Thumbnails.MINI_KIND
para 512 x 384 pxEste es un ejemplo de código:
fuente
Actualmente utilizo el siguiente código:
Pero encontré una mejor solución con la biblioteca Glide con el siguiente código (también almacena en caché su imagen y tiene un mejor rendimiento que el enfoque anterior)
fuente
Realmente te sugiero que uses el Glide biblioteca . Es una de las formas más eficaces de generar y mostrar una miniatura de video para un archivo de video local.
Simplemente agregue esta línea a su archivo gradle:
Y será tan simple como:
Puede encontrar más información aquí: https://futurestud.io/blog/glide-displaying-gifs-and-videos
Salud !
fuente
Esta solución funcionará para cualquier versión de Android. Se ha demostrado que funciona en 1.5 y 2.2 Esta no es otra solución "Esto es para Android 2.0+". Encontré esto a través de una página de colección de foros de mensajes de correo electrónico y no puedo encontrar el enlace original. Todo el crédito es para el póster original.
En su aplicación, usaría esto llamando a:
En algún lugar de su propia función (fuera de OnCreate, etc.), necesitaría:
En su carpeta src, necesita un nuevo subdirectorio android / media que albergará la clase (copiada de la fuente de Android) que le permite usar esta función. Esta pieza no debe cambiarse, cambiarse de nombre ni colocarse en ningún otro lugar. MediaMetadataRetriever.java debe estar en android.media en su carpeta de origen para que todo esto funcione.
fuente
MediaMetadataRetriever
es compatible con API nivel 10Prueba esto, me está funcionando
fuente
Android 1.5 y 1.6 no ofrecen estas miniaturas, pero 2.0 sí, como se ve en las notas de la versión oficial :
fuente
Estoy respondiendo esta pregunta tarde, pero espero que ayude al otro candidato que enfrenta el mismo problema.
He usado dos métodos para cargar la miniatura de la lista de videos, el primero fue
se ve bien, pero hubo un problema con esta solución porque cuando desplazo la lista de videos, se congelará un tiempo debido a su gran procesamiento.
así que después de esto encontré otra solución que funciona perfectamente usando Glide Library.
Recomendé la solución posterior para mostrar la miniatura con la lista de videos. Gracias
fuente
Este es el código para la miniatura de video en vivo.
fuente
Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(mMediaPath, MediaStore.Video.Thumbnails.MICRO_KIND);
Tenga en cuenta que todos los parámetros están configurados