extractedSubtitle property
String?
get
extractedSubtitle
Extracts the subtitle from the metadata based on the metadata type.
Implementation
String? get extractedSubtitle {
final type = metadataType;
String? subtitle;
final metadata = this;
switch (type) {
case GoogleCastMediaMetadataType.tvShowMediaMetadata:
metadata as GoogleCastTvShowMediaMetadata;
// For TV shows, create subtitle from season and episode info
if (metadata.season != null && metadata.episode != null) {
subtitle = 'S${metadata.season}E${metadata.episode}';
} else if (metadata.season != null) {
subtitle = 'Season ${metadata.season}';
} else if (metadata.episode != null) {
subtitle = 'Episode ${metadata.episode}';
}
break;
case GoogleCastMediaMetadataType.genericMediaMetadata:
metadata as GoogleCastGenericMediaMetadata;
subtitle = metadata.subtitle;
break;
case GoogleCastMediaMetadataType.movieMediaMetadata:
metadata as GoogleCastMovieMediaMetadata;
subtitle = metadata.subtitle;
break;
case GoogleCastMediaMetadataType.musicTrackMediaMetadata:
metadata as GoogleCastMusicMediaMetadata;
// For music, use album name or artist as subtitle
subtitle = metadata.albumName ?? metadata.artist;
break;
case GoogleCastMediaMetadataType.photoMediaMetadata:
metadata as GoogleCastPhotoMediaMetadata;
subtitle = metadata.artist;
break;
default:
}
//replace line breaks with spaces
if (subtitle != null) {
subtitle = subtitle.replaceAll('\n', ' ').replaceAll('\r', ' ');
}
return subtitle;
}