Cómo obtener la ruta de miniatura de vídeo y no el mapa de bits

Esta pregunta es en realidad se le preguntó y supuestamente respondió aquí: android obtener vídeo thumbnail PATH, no Bitmap .

He intentado varias veces pero no puedo conseguir que funcione. Siempre obtengo un nulo devuelto. ¿Alguna ayuda en esto por favor?

Editar: El código de ejemplo que estoy usando ahora:

public static String getVideoThumbnailPath(Context context, String filePath) { String thubmnailPath; String where = Video.Thumbnails.VIDEO_ID + " In ( select _id from video where _data =?)"; final String[] VIDEO_THUMBNAIL_TABLE = new String[] { Video.Media._ID, // 0 Video.Media.DATA, // 1 }; Uri videoUri = MediaStore.Video.Thumbnails.getContentUri("external"); Cursor c = context.getContentResolver().query(videoUri, VIDEO_THUMBNAIL_TABLE, where, new String[] { filePath }, null); if ((c != null) && c.moveToFirst()) { thubmnailPath = c.getString(1); c.close(); Log.i(TAG, "thumb path: " + thubmnailPath); return thubmnailPath; } else { c.close(); Log.i(TAG, "thumb path is null"); return null; } } 

En primer lugar, es necesario conocer el contenido uri del archivo. Si tiene la ruta del archivo, esto le muestra cómo obtener el contenido uri.

 public static String[] thumbColumns = { MediaStore.Video.Thumbnails.DATA }; public static String[] mediaColumns = { MediaStore.Video.Media._ID }; public static String getThumbnailPathForLocalFile(Activity context, Uri fileUri) { long fileId = getFileId(context, fileUri); MediaStore.Video.Thumbnails.getThumbnail(context.getContentResolver(), fileId, MediaStore.Video.Thumbnails.MICRO_KIND, null); Cursor thumbCursor = null; try { thumbCursor = context.managedQuery( MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI, thumbColumns, MediaStore.Video.Thumbnails.VIDEO_ID + " = " + fileId, null, null); if (thumbCursor.moveToFirst()) { String thumbPath = thumbCursor.getString(thumbCursor .getColumnIndex(MediaStore.Video.Thumbnails.DATA)); return thumbPath; } } finally { } return null; } public static long getFileId(Activity context, Uri fileUri) { Cursor cursor = context.managedQuery(fileUri, mediaColumns, null, null, null); if (cursor.moveToFirst()) { int columnIndex = cursor .getColumnIndexOrThrow(MediaStore.Video.Media._ID); int id = cursor.getInt(columnIndex); return id; } return 0; } 

Referencia: http://androidcodezs.blogspot.com/2013/10/android-thumbnail-from-video.html

  • ¿Cómo cargar la miniatura con Universal Image Loader para Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.