Добавление медиа-элемента в MediaBrowserService

Я создаю музыкальный проигрыватель для Android, используя эти два примера ( Android MediaBrowserService Sample и Universal Music Player) в качестве примеров. Я заметил, что при загрузке загружаю медиа-информацию и добавляю ее в медиабраузер. Оба имеют полный список средств массовой информации, доступных при запуске.

Но что, если я хочу динамически добавлять медиа в очередь проигрывателя?

Например, я использую веб-API Spotify для получения списка треков на основе запроса пользователя. Помимо прочего, он возвращает ссылку на 30-тилетний превью трека. Насколько я понял, мне нужно создать объект MediaMetadata, содержащий эту дорожку.

Но тогда как мне добавить эту информацию в MediaBrowserService? Желаемое поведение заключается в том, что когда пользователь нажимает кнопку воспроизведения для одной из дорожек в списке (RecyclerView), воспроизводится только эта дорожка. Кроме того, я не использую компоненты просмотра для представления иерархии контента.

Как я могу реализовать это поведение? Какие ссылки я должен прочитать?

Заранее спасибо.

1 ответ

Я думаю, что если вы используете MediaControllerCompat, то вы можете легко позвонить MediaControllerCompat.getMediaController(Activity).getTransportControls().playFromUrl(Url) или же playFromMediaId(String) в зависимости от того, что вы настроили. Вы должны настроить медиа-сессию и MediaSessionCompat.Callback для этого.

Другие вопросы по тегам