我正在尝试为轨道和相册(包含其他数据)同步我自己的数据库。到目前为止,我已成功从MediaStore中取出专辑和曲目。
我无法正常做的是为音轨拉动音乐。有人可以发布一些代码吗?我想避免查询每个轨道的数据库,所以如果可能的话,加载关联的一些代码(Genre.id< - > Audio.id)会很棒。
我正在努力的是使用内容提供商获取Genres.Members信息。
答案 0 :(得分:2)
我将看看ringdroid的优秀创作者是如何做到这一点的。 http://ringdroid.googlecode.com/svn-history/r37/trunk/src/com/ringdroid/SongMetadataReader.java
他们基本上从检索流派名称和ID开始,并使用那些他们可以轻松创建的content_uri,只检索数据库中与这些流派相匹配的歌曲。 但如果我是你,我会检查是否存在“未知”或“空”类型,或者不包含其id3标签中不包含类型名称的文件
答案 1 :(得分: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标签。