如何解决将图像添加到 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 举报,一经查实,本站将立刻删除。