in common/src/main/java/com/example/android/uamp/media/CastMediaItemConverter.kt [30:72]
override fun toMediaQueueItem(mediaItem: MediaItem): MediaQueueItem {
val castMediaMetadata = MediaMetadata(MediaMetadata.MEDIA_TYPE_MUSIC_TRACK)
mediaItem.mediaMetadata.title?.let {
castMediaMetadata.putString(MediaMetadata.KEY_TITLE, it.toString() )
}
mediaItem.mediaMetadata.subtitle?.let {
castMediaMetadata.putString(MediaMetadata.KEY_SUBTITLE, it.toString())
}
mediaItem.mediaMetadata.artist?.let {
castMediaMetadata.putString(MediaMetadata.KEY_ARTIST, it.toString())
}
mediaItem.mediaMetadata.albumTitle?.let {
castMediaMetadata.putString(MediaMetadata.KEY_ALBUM_TITLE, it.toString())
}
mediaItem.mediaMetadata.albumArtist?.let {
castMediaMetadata.putString(MediaMetadata.KEY_ALBUM_ARTIST, it.toString())
}
mediaItem.mediaMetadata.composer?.let {
castMediaMetadata.putString(MediaMetadata.KEY_COMPOSER, it.toString())
}
mediaItem.mediaMetadata.trackNumber?.let{
castMediaMetadata.putInt(MediaMetadata.KEY_TRACK_NUMBER, it)
}
mediaItem.mediaMetadata.discNumber?.let {
castMediaMetadata.putInt(MediaMetadata.KEY_DISC_NUMBER, it)
}
val mediaInfo = MediaInfo.Builder(mediaItem.localConfiguration!!.uri.toString())
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType(MimeTypes.AUDIO_MPEG)
mediaItem.localConfiguration?.let {
mediaInfo.setContentUrl(it.uri.toString())
}
mediaItem.mediaMetadata.extras?.let { bundle ->
// Use the original artwork URI for Cast.
bundle.getString(JsonSource.ORIGINAL_ARTWORK_URI_KEY)?.let {
castMediaMetadata.addImage(WebImage(Uri.parse(it)))
}
mediaInfo.setStreamDuration(
bundle.getLong(MediaMetadataCompat.METADATA_KEY_DURATION,0))
}
mediaInfo.setMetadata(castMediaMetadata)
return MediaQueueItem.Builder(mediaInfo.build()).build()
}