2

我正在尝试同步我自己的曲目和专辑数据库(包含附加数据)。到目前为止,我已经成功地从 MediaStore 中提取了专辑和曲目。

我无法正确做的是为曲目拉动流派。有人可以发布一些代码吗?我想避免为每个轨道查询数据库,所以如果可能的话,一些代码来加载关联(Genre.id <-> Audio.id)会很棒。

我正在努力使用内容提供者来获取 Genres.Members 信息。

4

2 回答 2

2

我会看看 ringdroid 的优秀创造者是如何做到这一点的。http://ringdroid.googlecode.com/svn-history/r37/trunk/src/com/ringdroid/SongMetadataReader.java

他们基本上从检索流派名称和 ID 开始,并使用它们可以轻松创建一个 content_uri,仅检索数据库中与这些流派匹配的歌曲。但如果我是你,我会检查在 id3 标签中不包含流派名称的文件是否存在“未知”或“空”流派

于 2011-02-09T01:06:18.060 回答
0

所以我最终做的是使用加载器和以下查询获取 sd 上的所有音频文件:

        loader = new CursorLoader(mActivity, MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, 
                new String[] {Audio.Media._ID, Audio.Media.DATA}, 
                null, null, null);

然后我检查它们是否以 .mp3 结尾,然后我使用jaudiotagger并读取 ide3 标签的流派。

于 2012-04-10T09:43:16.067 回答