Добавление медиа-элемента в 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 для этого.