0

我了解如何使用光标加载器从 MediaStore 查询“音乐文件”。我也没有看到查询特定专辑、流派、艺术家歌曲的问题。但我不知道如何根据它们所在的目录查询 MediaStore 中的歌曲。

final Uri sourceUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
CursorLoader cursorLoader = new CursorLoader(
                context, 
                sourceUri, 
                null, 
                null, 
                null, 
                MediaStore.Audio.Media.TITLE);

此外,如果您可以帮助我在同一查询中获取专辑、流派等中的歌曲数量,那就太好了。

感谢您提前提供任何帮助。

4

2 回答 2

1

Michal,您的问题和示例令人困惑。你问的是音乐,但你的代码是关于图像的。无论如何,要获取歌曲目录

Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
    final String path = MediaStore.Audio.Media.DATA;

所以当你有一个游标说c返回_DATA时,

  String strpath = (c.getString(c.getColumnIndex(MediaStore.Audio.Media._DATA)));

这将返回包括歌曲名称本身的完整路径。

获取专辑的曲目数(其中 c 是返回的光标)

            String strnosongs = (c.getString(c
                .getColumnIndex(MediaStore.Audio.Albums.NUMBER_OF_SONGS)));

我希望这有帮助。

于 2013-10-20T16:05:34.080 回答
0

对于当前的 API (18),无法使用内置工具来做到这一点。这需要构建一些东西(比如自己的数据库)来帮助这个查询或使用其他方法(比如使用“文件浏览器”)。

于 2013-10-16T07:33:14.630 回答