微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将图像添加到 MediaBrowserCompat.MediaItem

如何解决将图像添加到 MediaBrowserCompat.MediaItem

我正在实现音频应用,并且想在 Android Auto Player显示音频,因此我实现了 MediabrowserServiceCompat 来处理连接。

所以我创建了每个剪辑的 MediabrowserCompat.MediaItem 并使用 onLoadChildren

override fun onLoadChildren(packageName: String,result: Result<List<MediaItem>>) {
    result.sendResult(items)
}

这就是我构建每个 MediaItem 的方式

val Metadata = MediaDescriptionCompat.Builder()
    .setMediaId(id)
    .setTitle(title)
    .setSubtitle(subtitle)
    .setDescription(description)
    .setMediaUri(Uri.parse(mediaUrl))
    .setIconUri(Uri.parse(imageUrl))
    .setExtras(
        Bundle().also {
            it.putLong(MediaMetadataCompat.MetaDATA_KEY_DURATION,duration)
        }
    ).build()

MediaItem(Metadata,MediaItem.FLAG_PLAYABLE)

自动播放器不显示任何图像

我曾尝试使用 Bitmap 而不是 URI,但也不起作用。

我曾尝试使用 MediaMetadataCompat 来构建项目

val Metadata = MediaMetadataCompat.Builder()
    .putString(MediaMetadataCompat.MetaDATA_KEY_MEDIA_ID,id)
    .putString(MediaMetadataCompat.MetaDATA_KEY_MEDIA_URI,mediaUri)
    .putString(MediaMetadataCompat.MetaDATA_KEY_TITLE,title)
    .putString(MediaMetadataCompat.MetaDATA_KEY_ARTIST,subtitle)
    .putString(MediaMetadataCompat.MetaDATA_KEY_ALBUM,description)
    .putString(MediaMetadataCompat.MetaDATA_KEY_disPLAY_TITLE,title)
    .putString(MediaMetadataCompat.MetaDATA_KEY_disPLAY_SUBTITLE,subtitle)
    .putString(MediaMetadataCompat.MetaDATA_KEY_disPLAY_DESCRIPTION,description)
    .putString(MediaMetadataCompat.MetaDATA_KEY_ART_URI,imageUrl)
    .putString(MediaMetadataCompat.MetaDATA_KEY_ALBUM_ART_URI,imageUrl)
    .putString(MediaMetadataCompat.MetaDATA_KEY_disPLAY_ICON_URI,imageUrl)
    .putLong(MediaMetadataCompat.MetaDATA_KEY_DURATION,duration)
    .build()

MediaItem(Metadata.description,MediaItem.FLAG_PLAYABLE)

但也无法正常工作,其他Metadata(例如标题、副标题、说明、艺术家和专辑)无法完美显示,有时有效,有时无效。

我试过 Bitmap 但它也不起作用。

如果我遗漏了什么,如何将图片添加到 MediaItem?或者如何创建 MediaItem 本身?

请提一下。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。