MediaBrowserServiceCompat.onLoadChildren()背后的概念

时间:2018-04-02 01:19:18

标签: android mobile android-mediaplayer mediabrowserservicecompat

我正在尝试创建一个简单的音频应用,并引用Google的MediaBrowserService示例。我的问题是抓住 MediaBrowserServiceCompat.onLoadChildren() MediaSessionCompat.Callback 方法 onAddQueueItem onRemoveQueueItem <背后的概念/ p>

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

    Log.d(TAG, "onLoadChildren(): ------------------->");

    result.sendResult(MusicLibrary.getMediaItems());
}
@Override
public void onAddQueueItem(MediaDescriptionCompat description) {
    mPlaylist.add(new MediaSessionCompat.QueueItem(description, description.hashCode()));
    mQueueIndex = (mQueueIndex == -1) ? 0 : mQueueIndex;
    mSession.setQueue(mPlaylist);
}

@Override
public void onRemoveQueueItem(MediaDescriptionCompat description) {
    mPlaylist.remove(new MediaSessionCompat.QueueItem(description, description.hashCode()));
    mQueueIndex = (mPlaylist.isEmpty()) ? -1 : mQueueIndex;
    mSession.setQueue(mPlaylist);
}

当我尝试使用 onLoadChildren 协调 onAddQueueItem onRemoveQueueItem 方法时,会出现大量混淆。 onAddQueueItem()是否自动生成通过 onLoadChildren()方法中的 result.sendResult()发送/提供的 MediaBrowserCompat.MediaItems ?或者我是否因为试图将两者联系起来而使自己更加困惑?如果有人有博客/文章/ youtube视频,这将有助于扩大我的理解,这是非常有必要的。

0 个答案:

没有答案