我正在开发具有客户端-服务器体系结构的简单音乐播放器(活动中有MediaControllerCompat
个对象,该对象将回调发送到MediaSessionCompat
中的MusicService
)。当用户选择另一个文件夹时,我需要更改当前播放列表。因此,活动中有MediaBrowserCompat.SubscriptionCallback
个对象,当我获得新的歌曲列表时,它具有方法onChildrenLoaded()
。在这种方法中,我需要向媒体会话发送回调,以删除上一个播放列表中的音乐(查看代码)。这是一个问题,MediaControllerCompat
是最后一堂课,我无法创建一个子类,我无法在该子类中添加一些方法来解决我的问题。
override fun onChildrenLoaded(parentId: String, children: List<MediaBrowserCompat.MediaItem>) {
super.onChildrenLoaded(parentId, children)
//TODO: check is there some music in current playlist, if there is some music, clear playlist
//add all media
for (mediaItem in children) {
mediaController.addQueueItem(mediaItem.description)
}
//call prepare now so pressing play
mediaController.transportControls.prepare()
}