首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在onLoadChildren中获取媒体文件的MediaBrowserService位置

在onLoadChildren中获取媒体文件的MediaBrowserService位置
EN

Stack Overflow用户
提问于 2018-03-30 22:56:20
回答 1查看 560关注 0票数 1

我在试着做一个MediaBrowserService。在过去,当我想要实际显示设备上的所有音乐文件时,我会使用ContentResolver并从MediaStore加载光标。

我不知道在MediaBrowserService中我应该在哪里做这件事。

这里有一个方法: onLoadChildren

我找到的示例如下所示:

代码语言:javascript
复制
    @Override
public void onLoadChildren(
        @NonNull final String parentMediaId,
        @NonNull final Result<List<MediaBrowserCompat.MediaItem>> result) {
    result.sendResult(MusicLibrary.getMediaItems());
}

我的问题是,我是否可以在此方法中使用ContentResolver游标来返回MediaItems列表?或者,是否有其他内部方法可用于遍历设备并获取所有音乐文件?我在网上看到的唯一例子是流媒体服务,它们通过HTTP调用来获取歌曲列表,或者只是硬编码假歌来显示以进行测试。我正在尝试允许该服务浏览设备本身上的音乐文件。

EN

回答 1

Stack Overflow用户

发布于 2018-06-25 03:10:52

我也试着在我的应用程序中做完全相同的事情,遇到了和你一样的困难。最后,我想出了如何使用安卓的新Paging library来做到这一点。为了获取设备上的媒体项,您必须在服务端使用带有ContentResolver的游标,但是为了不只是为了在onLoadChildren()方法中返回子对象而迭代所有游标的记录,我使用分页库在客户端/UI端只返回用户感兴趣的块。您可以在我编写的post中了解到这一点,我还用代码示例演示了这一概念。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49576642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档