2013-01-23 14 views
8

È possibile ottenere la miniatura del video PATH, non l'oggetto Bitmap stesso? Sono consapevole di metodoAndroid ottenere miniatura video PATH, non Bitmap

MediaStore.Images.Thumbnails.queryMiniThumbnail 

ma dato che io uso il mio proprio meccanismo di caching bitmap voglio avere il percorso di miniatura video, piuttosto che l'oggetto Bitmap stesso. Questo metodo restituisce l'oggetto Bitmap, non il percorso. Grazie

risposta

7

Prima ottenere l'URL del file video e quindi utilizzare sotto query.

codice di esempio:

private static final String[] VIDEOTHUMBNAIL_TABLE = new String[] { 
    Video.Media._ID, // 0 
    Video.Media.DATA, // 1 from android.provider.MediaStore.Video 
    }; 

Uri videoUri = MediaStore.Video.Thumbnails.getContentUri("external"); 

cursor c = cr.query(videoUri, VIDEOTHUMBNAIL_TABLE, where, 
      new String[] {filepath}, null); 

if ((c != null) && c.moveToFirst()) { 
    VideoThumbnailPath = c.getString(1); 
} 

VideoThumbnailPath, dovrebbe avere percorso video miniatura. Spero che sia d'aiuto.

+0

Qual è il valore di "dove" il parametro (3 ° parametro su chiamata di c.query)? – cubesoft

+0

Where String: Video.Thumbnails.VIDEO_ID + "In (seleziona _id dal video dove _data =?)"; –

+0

Funziona come un fascino! Grazie! – cubesoft

1

Get Video miniature percorso da video_id:

public static String getVideoThumbnail(Context context, int videoID) { 
     try { 
      String[] projection = { 
        MediaStore.Video.Thumbnails.DATA, 
      }; 
      ContentResolver cr = context.getContentResolver(); 
      Cursor cursor = cr.query(
        MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI, 
        projection, 
        MediaStore.Video.Thumbnails.VIDEO_ID + "=?", 
        new String[] { String.valueOf(videoID) }, 
        null); 
      cursor.moveToFirst(); 
      return cursor.getString(0); 
     } catch (Exception e) { 
     } 
     return null; 
    } 
Problemi correlati