我在市场上有一个音乐播放器应用程序,我的用户在Froyo更新后开始报告音乐显示为“未知艺术家”和“未知标题”的问题。我注意到我的摩托罗拉Droid 2运行Froyo时出现同样的情况。做一些谷歌搜索,我发现其他用户(甚至Last.fm证实了这个问题),“Android”没有正确读取/存储标签。我无法找到任何有关此问题的技术/开发人员反馈。Froyo更新后无法读取ID3标签?
以下是之前已经升级Froyo工作6个月的代码:
String whereclause = MediaStore.Audio.Media.DATA + " = \"" + path
+ "\"";
curSong = CR.query(MediaStore.Audio.Media
.getContentUri("external"), new String[] {
MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media.ARTIST }, whereclause, null, null);
if (curSong != null) {
curSong.moveToFirst();
title = curSong.getString(0);
album = curSong.getString(1);
artist = curSong.getString(2);
}
查询之后,curSong不为空,所以“如果”块继续,但后来我想,当得到CursorIndexOutOfBounds阅读curSong.getString(0)
。 Froyo有没有新的方式将标签存储在MediaStore中?
经过一番调试,我发现ID3标签很好,仍然在同一个地方。问题在于我的条款。我正在寻找歌曲的路径,它以前存储在MediaStore.Audi.Media.DATA
,但显然不再存在,所以我实际上从这个查询中获得一个空集。现在我需要找到存储路径的位置。
感谢您发布此信息。我正在开发音乐播放器应用程序,这些信息非常有用。我会投票,但我刚开始这个帐户,并没有积分。大声笑。 :代码上的/ GG。 – 2010-11-10 17:14:56