2017-10-11 12 views
0

私は、特定のパスからすべてのイメージとビデオを取得し、これらのサムネイルを取得して別のパスに入れる方法を行っています。パスからイメージとビデオのサムネイルを取得する方法

public void getThumbnails(String persistentDataPath) { 
    // Get relevant columns for use later. 
    String[] projection = { 
      MediaStore.Files.FileColumns._ID, 
      MediaStore.Files.FileColumns.DATA, 
      MediaStore.Files.FileColumns.DATE_ADDED, 
      MediaStore.Files.FileColumns.MEDIA_TYPE, 
    }; 

    // Return only video and image metadata. 
    String selection = MediaStore.Files.FileColumns.MEDIA_TYPE + "=" 
      + MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE 
      + " OR " 
      + MediaStore.Files.FileColumns.MEDIA_TYPE + "=" 
      + MediaStore.Files.FileColumns.MEDIA_TYPE_VIDEO; 


    Uri queryUri = Uri.parse(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES).toString() + "/Azlo/"); 
    ContentResolver cr = getContentResolver(); 

    Cursor cursor = cr.query(
      queryUri, 
      projection, 
      selection, 
      null, // Selection args (none). 
      MediaStore.Files.FileColumns.DATE_ADDED + " DESC" // Sort order. 
    ); 
    Bitmap bitmap; 
    //Now i will traverse the cursor and get the bitmap thumbnail for every item 
    for(int i = 0 ; i < cursor.getCount(); i++) { 
     cursor.moveToPosition(i); 
     long elementId = cursor.getLong(0); 
     // code to get the thumbail using the item id 
     // using method MediaStorage.Video.Thumbnails.getThumbnail 
     // and MediaStorage.Image.Thumbnails.getThumbnail 
    } 
} 

問題は、クエリが機能しておらず、返されるnullがなぜわからないということです。 iパスは "/ storage/emulated/0/Movies/AzloAR"を返し、そのフォルダ内に.mp4と.jpgファイルがあります。

お願いします。 :)

もう1つの質問ですが、カーソルの項目が動画か画像かを(条件付きで)どのように知ることができますか?

+0

この似たような質問に対する回答は、 https://stackoverflow.com/questions/13080540/what-c​​auses-androids-contentresolver-query-to-return-null – TheAtomicOption

答えて

0

質問に送信していたURIが無効でした。クエリはcontent://スタイルURIを必要とし、これはMediaStore.Files.getContentUri(String volumeName)またはMediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URIのようなMediaStoreクラスのメソッドとフィールドを使用して生成されます。

関連する問題