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



我正在尝试制作MediaBrowserService。过去,当我想在设备上显示所有音乐文件时,我会使用ContentResolver并从MediaStore加载光标。

我无法弄清楚我应该在MediaBrowserService中做到这一点。

有一种方法:OnloadChildren

我发现的示例如下:

    @Override
public void onLoadChildren(
        @NonNull final String parentMediaId,
        @NonNull final Result<List<MediaBrowserCompat.MediaItem>> result) {
    result.sendResult(MusicLibrary.getMediaItems());
}

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

我还尝试在我的应用程序中做完全相同的事情,与您撞到同一墙。最后,我使用Android的新要求库弄清楚了如何做到这一点。您必须在服务方面使用一个带有contentresolver的光标,以便在设备上获取媒体项目,但是为了不迭代所有光标记录,请在OnloadChildren((方法中返回孩子,我使用编写库仅返回用户在客户端/UI方面感兴趣的块。您可以在我写的一篇文章中阅读有关它的信息,我还可以用代码样本演示该概念。

最新更新