【问题标题】:MediaStore sort by Folder with CursorLoaderMediaStore 使用 CursorLoader 按文件夹排序
【发布时间】:2013-10-23 06:10:40
【问题描述】:

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

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

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

提前感谢您的帮助。

【问题讨论】:

    标签: android directory mediastore android-cursorloader


    【解决方案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)));
    

    我希望这会有所帮助。

    【讨论】:

    • 是的,确实如此,谢谢。我还修正了我在代码中使用图像的错误。
    【解决方案2】:

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

    【讨论】:

    • 嘿 Michal 给我一些关于内置工具 @Michal 的更多解释
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-22
    • 2012-11-07
    • 1970-01-01
    • 2015-02-02
    • 2015-09-29
    • 1970-01-01
    • 2012-11-06
    相关资源
    最近更新 更多