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

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

Introduction

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

Prototype

String METADATA_KEY_ALBUM_ART

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

Click Source Link

Document

The artwork for the album of the media's original source as a Bitmap .

Usage

From source file:com.rks.musicx.services.MediaSession.java

public static void lockscreenMedia(MediaSessionCompat mediaSessionCompat, MusicXService musicXService,
        String what) {//from   www .j a v  a  2s . c o  m
    if (musicXService == null) {
        return;
    }
    MediaMetadataCompat.Builder builder = new MediaMetadataCompat.Builder();
    if (what.equals(PLAYSTATE_CHANGED) || what.equals(META_CHANGED)) {
        int state = MediaPlayerSingleton.getInstance().getMediaPlayer().isPlaying()
                ? PlaybackStateCompat.STATE_PAUSED
                : PlaybackStateCompat.STATE_PLAYING;
        mediaSessionCompat.setPlaybackState(new PlaybackStateCompat.Builder()
                .setState(state, musicXService.getPlayerPos(), 1.0f)
                .setActions(PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_PAUSE
                        | PlaybackStateCompat.ACTION_PLAY_PAUSE | PlaybackStateCompat.ACTION_SKIP_TO_NEXT
                        | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS)
                .build());

        builder.putString(MediaMetadataCompat.METADATA_KEY_TITLE, musicXService.getsongTitle());
        builder.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, musicXService.getDuration());
        builder.putString(MediaMetadataCompat.METADATA_KEY_ARTIST, musicXService.getsongArtistName());
        builder.putString(MediaMetadataCompat.METADATA_KEY_ALBUM, musicXService.getsongAlbumName());
        handler.post(new Runnable() {
            @Override
            public void run() {
                ArtworkUtils.ArtworkLoader(musicXService, 300, 300, musicXService.getsongAlbumName(),
                        musicXService.getsongAlbumID(), new palette() {
                            @Override
                            public void palettework(Palette palette) {

                            }
                        }, new bitmap() {
                            @Override
                            public void bitmapwork(Bitmap bitmap) {
                                builder.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, bitmap);
                                mediaSessionCompat.setMetadata(builder.build());
                            }

                            @Override
                            public void bitmapfailed(Bitmap bitmap) {
                                builder.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, bitmap);
                                mediaSessionCompat.setMetadata(builder.build());
                            }
                        });
            }
        });
    }
}

From source file:com.scooter1556.sms.lib.android.utils.MediaUtils.java

public static MediaMetadataCompat getMediaMetadata(MediaElement mediaElement, Bitmap artwork) {
    if (mediaElement == null) {
        return null;
    }/*from   ww w. j av  a  2  s  .c  om*/

    // 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:nuclei.media.MediaMetadata.java

public void setAlbumArt(Bitmap albumArt) {
    mMetadata = new MediaMetadataCompat.Builder(mMetadata)
            .putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, albumArt).build();
    onMetadataChanged();/*from ww w  . java2 s  .c om*/
}

From source file:com.doctoror.fuckoffmusicplayer.data.reporter.MediaSessionPlaybackReporter.java

@Override
public void reportTrackChanged(@NonNull final Media media) {
    final Uri data = media.getData();
    final MediaMetadataCompat.Builder b = new MediaMetadataCompat.Builder()
            .putText(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, Long.toString(media.getId()))
            .putText(MediaMetadataCompat.METADATA_KEY_MEDIA_URI, data != null ? data.toString() : null)
            .putText(MediaMetadataCompat.METADATA_KEY_TITLE, media.getTitle())
            .putLong(MediaMetadataCompat.METADATA_KEY_DURATION, media.getDuration())
            .putText(MediaMetadataCompat.METADATA_KEY_ARTIST, media.getArtist())
            .putText(MediaMetadataCompat.METADATA_KEY_ALBUM, media.getAlbum())
            .putLong(MediaMetadataCompat.METADATA_KEY_TRACK_NUMBER, media.getTrack());

    final String art = media.getAlbumArt();
    Bitmap artBitmapSmall = null;/*from www.  j a  va 2 s .com*/
    if (!TextUtils.isEmpty(art)) {
        Bitmap artBitmapLarge = null;
        // Load bitmap because of https://code.google.com/p/android/issues/detail?id=194874
        try {
            //noinspection SuspiciousNameCombination
            artBitmapLarge = mGlide.asBitmap().apply(requestOptions).load(art)
                    // Optimized for lock screen
                    .submit(mDisplayMetrics.widthPixels, mDisplayMetrics.heightPixels).get();
        } catch (ExecutionException | InterruptedException e) {
            Log.w(TAG, "Failed loading art image", e);
        }
        // Small bitmap for app widget, if any
        final int dp84 = (int) (84f * mDisplayMetrics.density);

        try {
            artBitmapSmall = mGlide.asBitmap().apply(requestOptions).load(art)
                    // Optimized for medium appwidget
                    .submit(dp84, dp84).get();
        } catch (ExecutionException | InterruptedException e) {
            Log.w(TAG, "Failed loading art image", e);
        }
        if (artBitmapLarge != null) {
            b.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, artBitmapLarge);
        }
        b.putText(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI,
                new File(media.getAlbumArt()).toURI().toString());
    }

    mAlbumThumbHolder.setAlbumThumb(artBitmapSmall);
    mMediaSession.setMetadata(b.build());
}

From source file:com.radiofarda.istgah.model.MusicProvider.java

public synchronized void updateMusicArt(String musicId, Bitmap albumArt, Bitmap icon) {
    MediaMetadataCompat metadata = getMusic(musicId);
    metadata = new MediaMetadataCompat.Builder(metadata)

            // set high resolution bitmap in METADATA_KEY_ALBUM_ART. This is used, for
            // radiofarda, on the lockscreen background when the media session is active.
            .putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, albumArt)

            // set small version of the album art in the DISPLAY_ICON. This is used on
            // the MediaDescription and thus it should be small to be serialized if
            // necessary
            .putBitmap(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON, icon)

            .build();/*  w  w w .  j  a v  a2  s .  co  m*/

    MutableMediaMetadata mutableMetadata = mMusicListById.get(musicId);
    if (mutableMetadata == null) {
        throw new IllegalStateException("Unexpected error: Inconsistent data structures in " + "MusicProvider");
    }

    mutableMetadata.metadata = metadata;
}

From source file:com.phearom.um.model.MusicProvider.java

public void updateMusicArt(String musicId, Bitmap albumArt, Bitmap icon) {
    MediaMetadataCompat metadata = getMusic(musicId);
    metadata = new MediaMetadataCompat.Builder(metadata)
            .putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, albumArt)
            .putBitmap(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON, icon).build();

    MutableMediaMetadata mutableMetadata = mMusicListById.get(musicId);
    if (mutableMetadata == null) {
        throw new IllegalStateException("Unexpected error: Inconsistent data structures in " + "MusicProvider");
    }//  www .  j a v a2 s. com

    mutableMetadata.metadata = metadata;
}

From source file:com.classiqo.nativeandroid_32bitz.model.MusicProvider.java

public synchronized void updateMusicArt(String musicId, Bitmap albumArt, Bitmap icon) {
    MediaMetadataCompat metadata = getMusic(musicId);
    metadata = new MediaMetadataCompat.Builder(metadata)
            .putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, albumArt)
            .putBitmap(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON, icon).build();

    MutableMediaMetadata mutableMetadata = mMusicListById.get(musicId);

    if (mutableMetadata == null) {
        throw new IllegalStateException("Unexpected error: Inconsistent data structures in " + "MusicProvider");
    }//from w ww .  ja v  a 2  s  .  c om

    mutableMetadata.metadata = metadata;
}

From source file:com.devbrackets.android.exomedia.EMLockScreen.java

/**
 * Sets the volatile information for the lock screen controls.  This information is expected to
 * change frequently.//  w ww.j  ava 2 s  .  co m
 *
 * @param title The title to display for the notification (e.g. A song name)
 * @param album The name of the album the media is found in
 * @param artist The name of the artist for the media item
 * @param notificationMediaState The current media state for the expanded (big) notification
 */
@SuppressWarnings("ResourceType") //getPlaybackOptions() and getPlaybackState() return the correctly annotated items
public void updateLockScreenInformation(String title, String album, String artist, Bitmap mediaArtwork,
        EMNotification.NotificationMediaState notificationMediaState) {
    //Updates the current media MetaData
    MediaMetadataCompat.Builder metaDataBuilder = new MediaMetadataCompat.Builder();
    metaDataBuilder.putBitmap(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON, appIconBitmap);
    metaDataBuilder.putString(MediaMetadataCompat.METADATA_KEY_TITLE, title);
    metaDataBuilder.putString(MediaMetadataCompat.METADATA_KEY_ALBUM, album);
    metaDataBuilder.putString(MediaMetadataCompat.METADATA_KEY_ARTIST, artist);

    if (mediaArtwork != null) {
        metaDataBuilder.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, mediaArtwork);
    }

    mediaSession.setMetadata(metaDataBuilder.build());

    //Updates the available playback controls
    PlaybackStateCompat.Builder playbackStateBuilder = new PlaybackStateCompat.Builder();
    playbackStateBuilder.setActions(getPlaybackOptions(notificationMediaState));
    playbackStateBuilder.setState(getPlaybackState(notificationMediaState.isPlaying()),
            PlaybackStateCompat.PLAYBACK_POSITION_UNKNOWN, 1.0f);

    mediaSession.setPlaybackState(playbackStateBuilder.build());
    Log.d(TAG, "update, controller is null ? " + (mediaSession.getController() == null ? "true" : "false"));

    if (showLockScreen && !mediaSession.isActive()) {
        mediaSession.setActive(true);
    }
}

From source file:com.devbrackets.android.playlistcore.helper.MediaControlsHelper.java

/**
 * Sets the volatile information for the remote views and controls.  This information is expected to
 * change frequently./*w ww  . j  av  a  2s .c  om*/
 *
 * @param title The title to display for the notification (e.g. A song name)
 * @param album The name of the album the media is found in
 * @param artist The name of the artist for the media item
 * @param notificationMediaState The current media state for the expanded (big) notification
 */
@SuppressWarnings("ResourceType") //getPlaybackOptions() and getPlaybackState() return the correctly annotated items
public void update(@Nullable String title, @Nullable String album, @Nullable String artist,
        @Nullable Bitmap mediaArtwork,
        @NonNull NotificationHelper.NotificationMediaState notificationMediaState) {
    //Updates the current media MetaData
    MediaMetadataCompat.Builder metaDataBuilder = new MediaMetadataCompat.Builder();
    metaDataBuilder.putString(MediaMetadataCompat.METADATA_KEY_TITLE, title);
    metaDataBuilder.putString(MediaMetadataCompat.METADATA_KEY_ALBUM, album);
    metaDataBuilder.putString(MediaMetadataCompat.METADATA_KEY_ARTIST, artist);

    if (appIconBitmap != null) {
        metaDataBuilder.putBitmap(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON, appIconBitmap);
    }

    if (mediaArtwork != null) {
        metaDataBuilder.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, mediaArtwork);
    }

    if (mediaSession != null) {
        mediaSession.setMetadata(metaDataBuilder.build());
    }

    //Updates the available playback controls
    PlaybackStateCompat.Builder playbackStateBuilder = new PlaybackStateCompat.Builder();
    playbackStateBuilder.setActions(getPlaybackOptions(notificationMediaState));
    playbackStateBuilder.setState(getPlaybackState(notificationMediaState.isPlaying()),
            PlaybackStateCompat.PLAYBACK_POSITION_UNKNOWN, 1.0f);

    mediaSession.setPlaybackState(playbackStateBuilder.build());
    Log.d(TAG, "update, controller is null ? " + (mediaSession.getController() == null ? "true" : "false"));

    if (enabled && !mediaSession.isActive()) {
        mediaSession.setActive(true);
    }
}

From source file:com.mts2792.music.uamp.model.MusicProvider.java

public synchronized void updateMusicArt(String musicId, Bitmap albumArt, Bitmap icon) {
    MediaMetadataCompat metadata = getMusic(musicId);
    metadata = new MediaMetadataCompat.Builder(metadata)

            // set high resolution bitmap in METADATA_KEY_ALBUM_ART. This is used, for
            // mts2792, on the lockscreen background when the media session is active.
            .putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, albumArt)

            // set small version of the album art in the DISPLAY_ICON. This is used on
            // the MediaDescription and thus it should be small to be serialized if
            // necessary
            .putBitmap(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON, icon)

            .build();/*from  w w  w  .j a v a  2 s  . c  o  m*/

    MutableMediaMetadata mutableMetadata = mMusicListById.get(musicId);
    if (mutableMetadata == null) {
        throw new IllegalStateException("Unexpected error: Inconsistent data structures in " + "MusicProvider");
    }

    mutableMetadata.metadata = metadata;
}