List of usage examples for android.support.v4.media MediaMetadataCompat METADATA_KEY_DISPLAY_DESCRIPTION
String METADATA_KEY_DISPLAY_DESCRIPTION
To view the source code for android.support.v4.media MediaMetadataCompat METADATA_KEY_DISPLAY_DESCRIPTION.
Click Source Link
From source file:com.scooter1556.sms.lib.android.utils.MediaUtils.java
public static MediaMetadataCompat getMediaMetadata(MediaElement mediaElement, Bitmap artwork) { if (mediaElement == null) { return null; }/* w w w . j a v a2 s .c o m*/ // Update session metadata MediaMetadataCompat.Builder metadata = new MediaMetadataCompat.Builder(); metadata.putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, mediaElement.getID().toString()); if (mediaElement.getArtist() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_ARTIST, mediaElement.getArtist()); metadata.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, mediaElement.getArtist()); } if (mediaElement.getAlbum() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_ALBUM, mediaElement.getAlbum()); metadata.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_DESCRIPTION, mediaElement.getAlbum()); } if (mediaElement.getTitle() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_TITLE, mediaElement.getTitle()); metadata.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, mediaElement.getTitle()); } if (mediaElement.getDuration() != null) { metadata.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, mediaElement.getDuration() * 1000); } if (mediaElement.getYear() != null) { metadata.putLong(MediaMetadataCompat.METADATA_KEY_YEAR, mediaElement.getYear()); } if (mediaElement.getGenre() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_GENRE, mediaElement.getGenre()); } if (mediaElement.getTrackNumber() != null) { metadata.putLong(MediaMetadataCompat.METADATA_KEY_TRACK_NUMBER, mediaElement.getTrackNumber()); } if (mediaElement.getDiscNumber() != null) { metadata.putLong(MediaMetadataCompat.METADATA_KEY_DISC_NUMBER, mediaElement.getDiscNumber()); } if (mediaElement.getAlbumArtist() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ARTIST, mediaElement.getAlbumArtist()); } if (artwork != null) { metadata.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, artwork); metadata.putBitmap(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON, artwork); metadata.putBitmap(MediaMetadataCompat.METADATA_KEY_ART, artwork); } return metadata.build(); }
From source file:com.example.android.supportv7.media.Player.java
protected void updateMetadata() { if (mMediaSession == null) { return;//w ww . j a va 2 s. c om } MediaMetadataCompat.Builder bob = new MediaMetadataCompat.Builder(); bob.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, getDescription()); bob.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, "Subtitle of the thing"); bob.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_DESCRIPTION, "Description of the thing"); bob.putBitmap(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON, getSnapshot()); mMediaSession.setMetadata(bob.build()); }
From source file:com.scooter1556.sms.android.utils.MediaUtils.java
public static MediaMetadataCompat getMediaMetadataCompatFromMediaElement(MediaElement mediaElement) { if (mediaElement == null) { return null; }// w w w . j av a 2 s . c o m // Update session metadata MediaMetadataCompat.Builder metadata = new MediaMetadataCompat.Builder(); metadata.putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, mediaElement.getID().toString()); if (mediaElement.getArtist() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_ARTIST, mediaElement.getArtist()); metadata.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, mediaElement.getArtist()); } if (mediaElement.getAlbum() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_ALBUM, mediaElement.getAlbum()); metadata.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_DESCRIPTION, mediaElement.getAlbum()); } if (mediaElement.getTitle() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_TITLE, mediaElement.getTitle()); metadata.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, mediaElement.getTitle()); } if (mediaElement.getDuration() != null) { metadata.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, Double.valueOf(mediaElement.getDuration() * 1000.0).longValue()); } if (mediaElement.getYear() != null) { metadata.putLong(MediaMetadataCompat.METADATA_KEY_YEAR, mediaElement.getYear()); } if (mediaElement.getGenre() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_GENRE, mediaElement.getGenre()); } if (mediaElement.getTrackNumber() != null) { metadata.putLong(MediaMetadataCompat.METADATA_KEY_TRACK_NUMBER, mediaElement.getTrackNumber()); } if (mediaElement.getDiscNumber() != null) { metadata.putLong(MediaMetadataCompat.METADATA_KEY_DISC_NUMBER, mediaElement.getDiscNumber()); } if (mediaElement.getAlbumArtist() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ARTIST, mediaElement.getAlbumArtist()); } if (RESTService.getInstance().getAddress() != null) { metadata.putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI, RESTService.getInstance().getAddress() + "/image/" + mediaElement.getID() + "/cover"); metadata.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON_URI, RESTService.getInstance().getAddress() + "/image/" + mediaElement.getID() + "/cover"); metadata.putString(MediaMetadataCompat.METADATA_KEY_ART_URI, RESTService.getInstance().getAddress() + "/image/" + mediaElement.getID() + "/fanart"); } return metadata.build(); }
From source file:com.example.android.AudioArchive.model.RemoteJSONSource.java
private MediaMetadataCompat buildFromRSS(RSSItem rssItem, String genre) { String title = rssItem.getTitle(); String album = rssItem.categories.get(0).toString(); String artist = ""; if (rssItem.getDescription().contains("by")) { StringBuffer stringBuffer = new StringBuffer(rssItem.getDescription()); artist = stringBuffer.substring(stringBuffer.indexOf("by")); } else {/*ww w. j av a 2s . c o m*/ artist = "Unknown"; } String source = rssItem.getEnclosures().get(0).getLink(); String iconUrl = "https://archive.org/services/get-item-image.php?identifier=afewmoreverses_1606_librivox&mediatype=audio&collection=librivoxaudio"; String html = rssItem.getDescription(); String imgRegex = "<[iI][mM][gG][^>]+[sS][rR][cC]\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>"; Pattern p = Pattern.compile(imgRegex); Matcher m = p.matcher(html); if (m.find()) { iconUrl = m.group(1); } // Since we don't have a unique ID in the server, we fake one using the hashcode of // the music source. In a real world app, this could come from the server. String id = String.valueOf(source.hashCode()); // Adding the music source to the MediaMetadata (and consequently using it in the // mediaSession.setMetadata) is not a good idea for a real world music app, because // the session metadata can be accessed by notification listeners. This is done in this // sample for convenience only. //noinspection ResourceType return new MediaMetadataCompat.Builder().putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, id) .putString(MusicProviderSource.CUSTOM_METADATA_TRACK_SOURCE, source) .putString(MediaMetadataCompat.METADATA_KEY_ALBUM, album) .putString(MediaMetadataCompat.METADATA_KEY_ARTIST, artist) // .putLong(MediaMetadataCompat.METADATA_KEY_DURATION, duration) .putString(MediaMetadataCompat.METADATA_KEY_GENRE, genre) .putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI, iconUrl) .putString(MediaMetadataCompat.METADATA_KEY_TITLE, title) .putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, title) .putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_DESCRIPTION, title) // .putString(MediaMetadataCompat.METADATA_KEY_GENRE, genre) .build(); }
From source file:com.example.android.sampletvinput.PlaybackOverlayFragment.java
private void updateMetadata(final Video video) { final MediaMetadataCompat.Builder metadataBuilder = new MediaMetadataCompat.Builder(); metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, video.id + ""); metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, video.title); metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, video.studio); metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_DESCRIPTION, video.description); /*//from w ww . j a v a 2 s .c o m long duration = Utils.getDuration(video.videoUrl); metadataBuilder.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, duration); */ long duration = getDuration(); metadataBuilder.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, duration); // And at minimum the title and artist for legacy support metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_TITLE, video.title); metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_ARTIST, video.studio); Resources res = getResources(); int cardWidth = res.getDimensionPixelSize(R.dimen.playback_overlay_width); int cardHeight = res.getDimensionPixelSize(R.dimen.playback_overlay_height); Glide.with(this).load(Uri.parse(video.cardImageUrl)).asBitmap().centerCrop() .into(new SimpleTarget<Bitmap>(cardWidth, cardHeight) { @Override public void onResourceReady(Bitmap bitmap, GlideAnimation anim) { metadataBuilder.putBitmap(MediaMetadataCompat.METADATA_KEY_ART, bitmap); mSession.setMetadata(metadataBuilder.build()); } }); }
From source file:com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.java
private void updateMediaSessionMetadata() { if (doMaintainMetadata) { MediaMetadataCompat.Builder builder = new MediaMetadataCompat.Builder(); if (player != null && player.isPlayingAd()) { builder.putLong(MediaMetadataCompat.METADATA_KEY_ADVERTISEMENT, 1); }/*w w w . jav a 2 s . co m*/ builder.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, player == null ? 0 : player.getDuration() == C.TIME_UNSET ? -1 : player.getDuration()); if (queueNavigator != null) { long activeQueueItemId = queueNavigator.getActiveQueueItemId(player); List<MediaSessionCompat.QueueItem> queue = mediaController.getQueue(); for (int i = 0; queue != null && i < queue.size(); i++) { MediaSessionCompat.QueueItem queueItem = queue.get(i); if (queueItem.getQueueId() == activeQueueItemId) { MediaDescriptionCompat description = queueItem.getDescription(); if (description.getTitle() != null) { builder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, String.valueOf(description.getTitle())); } if (description.getSubtitle() != null) { builder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, String.valueOf(description.getSubtitle())); } if (description.getDescription() != null) { builder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_DESCRIPTION, String.valueOf(description.getDescription())); } if (description.getIconBitmap() != null) { builder.putBitmap(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON, description.getIconBitmap()); } if (description.getIconUri() != null) { builder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON_URI, String.valueOf(description.getIconUri())); } if (description.getMediaId() != null) { builder.putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, String.valueOf(description.getMediaId())); } if (description.getMediaUri() != null) { builder.putString(MediaMetadataCompat.METADATA_KEY_MEDIA_URI, String.valueOf(description.getMediaUri())); } break; } } } mediaSession.setMetadata(builder.build()); } }
From source file:com.aengbee.android.leanback.ui.PlaybackOverlayCustomFragment.java
private void updateMetadata(final Video video) { final MediaMetadataCompat.Builder metadataBuilder = new MediaMetadataCompat.Builder(); metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, video.id + ""); metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, video.title); metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, video.studio); metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_DESCRIPTION, video.description); long duration = Utils.getDuration(video.videoUrl); metadataBuilder.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, duration); // And at minimum the title and artist for legacy support metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_TITLE, video.title); metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_ARTIST, video.studio); Resources res = getResources(); int cardWidth = res.getDimensionPixelSize(R.dimen.playback_overlay_width); int cardHeight = res.getDimensionPixelSize(R.dimen.playback_overlay_height); Glide.with(this).load(Uri.parse(video.cardImageUrl)).asBitmap().centerCrop() .into(new SimpleTarget<Bitmap>(cardWidth, cardHeight) { @Override// ww w .j a v a 2 s. co m public void onResourceReady(Bitmap bitmap, GlideAnimation anim) { metadataBuilder.putBitmap(MediaMetadataCompat.METADATA_KEY_ART, bitmap); mSession.setMetadata(metadataBuilder.build()); } }); }