2014-10-09 20 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正确显示。 我还在文件夹之间分割了另一个相册,但没有看到描述的行为。 对不起,我无法摆脱光线。

相关问题