2012-01-21 140 views
0

我目前正在處理的項目需要應用程序發現Android設備上的所有音軌。除了曲目之外,它還必須能夠按專輯和藝術家進行分組。Android:MediaStore缺少藝術家和專輯

我找到了MediaStore內容提供程序並設置了有關創建數據庫幫助程序實用程序類以快速返回曲目,專輯和藝術家的ID。我已經能夠查詢媒體商店,它返回一些結果,但似乎並非所有的音頻信息都存儲在那裏。

例如,查詢所有藝術家只返回9個結果,但Android的音樂播放器應用程序返回27

我使用下面的代碼來查詢藝人:

ContentResolver resolver = getContentResolver(); 
String[] projection = new String[]{MediaStore.Audio.ArtistColumns.ARTIST}; 
Uri uri = android.provider.MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI; 

Cursor c = null; 

    try { 
     c = resolver.query(uri, projection, null, null, null); 
    } 
    catch (UnsupportedOperationException e) { 
     Log.e("DatabaseHelper", "query: " + e); 
     c = null; 
    } 

    if(c != null) { 
     while(c.isAfterLast() == false) { 
      Log.e("ARTIST", "NAME: " + cursor.getString(0)); 
      cursor.moveToNext(); 
     } 
    } 

它似乎如果Media Scanner(在設備啓動時運行definatley)沒有檢測到我的音頻庫。難道我做錯了什麼?

我只是試圖快速有效地找到所有的音軌,音頻專輯和音頻藝術家。如果MediaStore不能幫助我,我恐怕我將不得不實施某種形式的文件掃描儀來遍歷目錄結構並構建我自己的數據庫,但我不想這麼做;)

任何想法都會很多讚賞。

謝謝。

回答

1

也許您應該查詢android.provider.MediaStore.Audio.Albums.INTERNAL_CONTENT_URI以便讓其餘的媒體播放器可見。

相關問題