2014-10-09 17 views
1

如果相冊的曲目分成多個目錄,並且導致多行不同,看起來相同的相冊在MediaStore中被拆分爲多個行儘管曲目全部來自同一個專輯(同一個藝術家),但它們的值爲MediaStore.Audio.Media.ALBUM_IDMediaStore.Audio.Media.ALBUM_KEY列。MediaStore中錯誤的多個值(當只有一個值時)

例如,請考慮這些文件路徑:

/mnt/sdcard/X/a.mp3 
/mnt/sdcard/X/b.mp3 
/mnt/sdcard/X/c.mp3 
/mnt/sdcard/X/d.mp3 
/mnt/sdcard/Y/e.mp3 
/mnt/sdcard/Y/f.mp3 
/mnt/sdcard/Y/g.mp3 
/mnt/sdcard/Z/h.mp3 
/mnt/sdcard/Z/i.mp3 
/mnt/sdcard/Z/j.mp3 

公告MP3文件由三個不同的文件夾, 「X」, 「Y」 分離, 「Z」。以上所有曲目的專輯標題都是一樣的;他們全部來自同一位藝術家的同一張專輯。

但是,當我檢索他們的數據MediaStore.Audio.Media.ALBUM_IDMediaStore.Audio.Media.ALBUM_KEY時,我看到三個不同的組分別分別到每個文件夾。他們都應該返回相同的ALBUM_IDALBUM_KEY,但他們不。 ALBUM_IDALBUM_KEY對於a.mp3e.mp3h.mp3的那些不同,但與b.mp3c.mp3d.mp3的那些相同。

只有當我將它們全部合併到同一文件夾中時,它們纔會更新以共享相同的ALBUM_IDALBUM_KEY

這是Google的錯誤還是故意設計?

+0

我剛剛發佈了TheoKlink在Google Play上推出的播放列表管理器的新版本,該版本包含查詢構建器。創建您自己的查詢(播放列表)可能有助於確定您的問題。或者,抓住/data/data/com.android.providers.media/databases/external.db,並使用sql工具在您的電腦上瀏覽音樂記錄/數據庫結構。我使用RazorSQL。路徑名僅存在於_DATA字段中,所以我不希望看到多個ALBUM_ID – Theo 2014-10-09 15:46:06

+0

只看了一下專輯表。 ALBUM_KEY字段可能是您的問題。它擁有無法讀取的信息。只需使用ALBUM_ID而不是ALBUM_KEY。 「ALBUM_KEY」對於每條記錄都不相同 – Theo 2014-10-09 15:55:50

+0

「ALBUM_KEY字段可能是您的問題,它包含無法讀取的信息,只需使用ALBUM_ID而不是ALBUM_KEY。對於每條記錄,ALBUM_KEY都不相同」 - 不,我的發現顯示ALBUM_ID也不同相冊分爲多個文件夾,如原始文章中所述。在原始文章中給出的示例情況中,同一專輯將有三個不同的ALBUM_ID值。 – RestInPeace 2014-10-09 21:54:27

回答

0

我測試了數據庫: select * from albums ORDER BY album ASC; 是的,相冊的多個鍵讓我相信標記可能不正確。所以我選擇了一張專輯Paolo Nuttine和Caustic Love,使用Audiotagger重做標籤,重新掃描設備,取出數據庫並在Razorsql中使用它進行查詢。表專輯仍然顯示苛刻的愛的多個鍵,但album_info正確顯示。 我還在文件夾之間分割了另一個相冊,但沒有看到描述的行爲。 對不起,我無法擺脫光線。

相關問題