Android Автомобильная ОС не отображает воспроизводимые объекты MediaItem - PullRequest
0 голосов
/ 14 июля 2020

У меня работает общий c Android эмулятор автомобильной ОС. Я создал образец автомобильного приложения, которое должно отображать 6 песен в основном просматриваемом root. Фрагмент кода в моем MediaBrowserService:

    override fun onLoadChildren(parentId: String, result: Result<MutableList<MediaItem>>) {
        val mediaList = ArrayList<MediaItem>()

        if (parentId == "root") {
            AUTO_SOURCES.forEach { mediaList.add(buildMediaItem(it.sourceId, it.sourceName)) }
        }

        result.sendResult(mediaList)
    }

    private fun buildMediaItem(mediaId: String, title: String): MediaItem {
        val desc = MediaDescriptionCompat.Builder()
            .setMediaId(mediaId)
            .setTitle(title)
            .setIconUri(mediaId.asAlbumArtContentUri())
            .build()

        return MediaItem(desc, MediaItem.FLAG_PLAYABLE)
    }

Я вижу, что вызывается onLoadChildren и соответствующий sendResult, однако воспроизводимые медиа-элементы никогда не отображаются. Если я изменю их на MediaItem.FLAG_BROWSABLE, они будут отображаться правильно. Есть идеи, что я делаю не так?

1 Ответ

0 голосов
/ 04 сентября 2020

Ваш строитель должен позвонить в setMediaURI

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...