Example usage for android.media MediaMetadata METADATA_KEY_DURATION

List of usage examples for android.media MediaMetadata METADATA_KEY_DURATION

Introduction

In this page you can find the example usage for android.media MediaMetadata METADATA_KEY_DURATION.

Prototype

String METADATA_KEY_DURATION

To view the source code for android.media MediaMetadata METADATA_KEY_DURATION.

Click Source Link

Document

The duration of the media in ms.

Usage

From source file:de.kraenksoft.c3tv.ui.PlaybackOverlayFragment.java

private void updateMetadata(final Video video) {
    final MediaMetadata.Builder metadataBuilder = new MediaMetadata.Builder();

    metadataBuilder.putString(MediaMetadata.METADATA_KEY_MEDIA_ID, video.id + "");
    metadataBuilder.putString(MediaMetadata.METADATA_KEY_DISPLAY_TITLE, video.title);
    metadataBuilder.putString(MediaMetadata.METADATA_KEY_DISPLAY_SUBTITLE, video.studio);
    metadataBuilder.putString(MediaMetadata.METADATA_KEY_DISPLAY_DESCRIPTION, video.description);
    metadataBuilder.putString(MediaMetadata.METADATA_KEY_DISPLAY_ICON_URI, video.cardImageUrl);
    metadataBuilder.putLong(MediaMetadata.METADATA_KEY_DURATION, mDuration);

    // And at minimum the title and artist for legacy support
    metadataBuilder.putString(MediaMetadata.METADATA_KEY_TITLE, video.title);
    metadataBuilder.putString(MediaMetadata.METADATA_KEY_ARTIST, video.studio);

    Glide.with(this).load(Uri.parse(video.cardImageUrl)).asBitmap().into(new SimpleTarget<Bitmap>(500, 500) {
        @Override/*from   ww  w. j ava 2 s . c  o m*/
        public void onResourceReady(Bitmap bitmap, GlideAnimation anim) {
            metadataBuilder.putBitmap(MediaMetadata.METADATA_KEY_ART, bitmap);
            mSession.setMetadata(metadataBuilder.build());
        }
    });
}

From source file:org.mythtv.android.presentation.view.fragment.TvPlaybackOverlayFragment.java

private void updateMetadata(final VideoModel videoModel) {

    final MediaMetadata.Builder metadataBuilder = new MediaMetadata.Builder();

    metadataBuilder.putString(MediaMetadata.METADATA_KEY_MEDIA_ID, videoModel.id + "");
    metadataBuilder.putString(MediaMetadata.METADATA_KEY_DISPLAY_TITLE, videoModel.title);
    metadataBuilder.putString(MediaMetadata.METADATA_KEY_DISPLAY_SUBTITLE, videoModel.studio);
    metadataBuilder.putString(MediaMetadata.METADATA_KEY_DISPLAY_DESCRIPTION, videoModel.description);
    metadataBuilder.putString(MediaMetadata.METADATA_KEY_DISPLAY_ICON_URI, videoModel.cardImageUrl);
    metadataBuilder.putLong(MediaMetadata.METADATA_KEY_DURATION, mDuration);

    // And at minimum the title and artist for legacy support
    metadataBuilder.putString(MediaMetadata.METADATA_KEY_TITLE, videoModel.title);
    metadataBuilder.putString(MediaMetadata.METADATA_KEY_ARTIST, videoModel.studio);

    Glide.with(this).load(Uri.parse(videoModel.cardImageUrl)).asBitmap()
            .into(new SimpleTarget<Bitmap>(500, 500) {

                @Override//from  ww  w.j  av  a 2s . c o m
                public void onResourceReady(Bitmap bitmap, GlideAnimation anim) {

                    metadataBuilder.putBitmap(MediaMetadata.METADATA_KEY_ART, bitmap);
                    mSession.setMetadata(metadataBuilder.build());

                }

            });
}

From source file:com.av.remusic.service.MediaService.java

private void updateMediaSession(final String what) {
    int playState = mIsSupposedToBePlaying ? PlaybackState.STATE_PLAYING : PlaybackState.STATE_PAUSED;

    if (what.equals(PLAYSTATE_CHANGED) || what.equals(POSITION_CHANGED)) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            mSession.setPlaybackState(new PlaybackState.Builder().setState(playState, position(), 1.0f)
                    .setActions(PlaybackState.ACTION_PLAY | PlaybackState.ACTION_PAUSE
                            | PlaybackState.ACTION_PLAY_PAUSE | PlaybackState.ACTION_SKIP_TO_NEXT
                            | PlaybackState.ACTION_SKIP_TO_PREVIOUS)
                    .build());//w  w  w .j av  a 2s.c  o m
        }
    } else if (what.equals(META_CHANGED) || what.equals(QUEUE_CHANGED)) {
        //Bitmap albumArt = ImageLoader.getInstance().loadImageSync(CommonUtils.getAlbumArtUri(getAlbumId()).toString());
        Bitmap albumArt = null;
        if (albumArt != null) {

            Bitmap.Config config = albumArt.getConfig();
            if (config == null) {
                config = Bitmap.Config.ARGB_8888;
            }
            albumArt = albumArt.copy(config, false);
        }
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            mSession.setMetadata(
                    new MediaMetadata.Builder().putString(MediaMetadata.METADATA_KEY_ARTIST, getArtistName())
                            .putString(MediaMetadata.METADATA_KEY_ALBUM_ARTIST, getAlbumArtistName())
                            .putString(MediaMetadata.METADATA_KEY_ALBUM, getAlbumName())
                            .putString(MediaMetadata.METADATA_KEY_TITLE, getTrackName())
                            .putLong(MediaMetadata.METADATA_KEY_DURATION, duration())
                            .putLong(MediaMetadata.METADATA_KEY_TRACK_NUMBER, getQueuePosition() + 1)
                            .putLong(MediaMetadata.METADATA_KEY_NUM_TRACKS, getQueue().length)
                            .putString(MediaMetadata.METADATA_KEY_GENRE, getGenreName())
                            .putBitmap(MediaMetadata.METADATA_KEY_ALBUM_ART,
                                    mShowAlbumArtOnLockscreen ? albumArt : null)
                            .build());

            mSession.setPlaybackState(new PlaybackState.Builder().setState(playState, position(), 1.0f)
                    .setActions(PlaybackState.ACTION_PLAY | PlaybackState.ACTION_PAUSE
                            | PlaybackState.ACTION_PLAY_PAUSE | PlaybackState.ACTION_SKIP_TO_NEXT
                            | PlaybackState.ACTION_SKIP_TO_PREVIOUS)
                    .build());
        }
    }
}