Как создать мой собственный метод обратного вызова MediaControllerCompat - PullRequest
0 голосов
/ 10 мая 2019

Я разрабатываю простой музыкальный проигрыватель с архитектурой клиент-сервер (в Activity есть объект 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()
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...