Example usage for android.support.v4.media MediaMetadataCompat METADATA_KEY_DISPLAY_DESCRIPTION

List of usage examples for android.support.v4.media MediaMetadataCompat METADATA_KEY_DISPLAY_DESCRIPTION

Introduction

In this page you can find the example usage for android.support.v4.media MediaMetadataCompat METADATA_KEY_DISPLAY_DESCRIPTION.

Prototype

String METADATA_KEY_DISPLAY_DESCRIPTION

To view the source code for android.support.v4.media MediaMetadataCompat METADATA_KEY_DISPLAY_DESCRIPTION.

Click Source Link

Document

A description that is suitable for display to the user.

Usage

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());
                }
            });
}