2011-01-28 108 views
1

在我的應用程序中,我試圖在一個Activity的列表視圖中顯示視頻列表,並且我試圖在另一個Activity中顯示所選視頻的縮略圖,因爲我獲得了一個代碼顯示在ImageView縮略圖,如何獲得視頻的唯一ID

iv = (ImageView)findViewById(R.id.imagePreview); 
ContentResolver crThumb = getContentResolver(); 
BitmapFactory.Options options=new BitmapFactory.Options(); 
options.inSampleSize = 1; 
Bitmap curThumb = MediaStore.Video.Thumbnails.getThumbnail(crThumb, id, MediaStore.Video.Thumbnails.MICRO_KIND, options); 
iv.setScaleType(ScaleType.CENTER_CROP); 
iv.setImageBitmap(curThumb); 
在這個

它顯示的縮略圖只有當我在

Bitmap curThumb = MediaStore.Video.Thumbnails.getThumbnail(crThumb, id, MediaStore.Video.Thumbnails.MICRO_KIND, options); 

指定id一個整數值,但我想是讓id值f或選定的視頻,以便我可以根據需要顯示新的Activity

謝謝。

回答

0

String[] projection = { BaseColumns._ID, MediaColumns.DATA };    
Cursor cursor = managedQuery(data, projection, null, null, null); 
cursor.moveToFirst(); 
int columnIndex = cursor.getColumnIndexOrThrow(BaseColumns._ID); 
int id = cursor.getInt(columnIndex); 

該代碼會幫助你,「數據」是選定的視頻

+0

肯定的是,代碼工作的事實?我嘗試使用 - Uri videoUri = Uri.fromFile(new File(videoFilePath)); - 獲取uri來使用,但調用managequery總是返回一個空對象。是的,videoFilePath是一個工作路徑 – Rainbowbreeze 2011-10-13 09:07:00

0

的URI試試這個:詳細Click Here

int id = cursor.getInt(cursor.getColumnIndex(MediaStore.Video.Media._ID)); 
String[] thumbColumns = { MediaStore.Video.Thumbnails.DATA, 
MediaStore.Video.Thumbnails.VIDEO_ID}; 
Cursor thumbCursor = managedQuery(MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI, 
thumbColumns, MediaStore.Video.Thumbnails.VIDEO_ID + "=" + id, null, null); 
if (thumbCursor.moveToFirst()) { 
     Log.v("VideoGallery",thumbCursor.getColumnIndex(MediaStore.Video.Thumbnails.DATA)); 
}