Example usage for android.media.session PlaybackState ACTION_STOP

List of usage examples for android.media.session PlaybackState ACTION_STOP

Introduction

In this page you can find the example usage for android.media.session PlaybackState ACTION_STOP.

Prototype

long ACTION_STOP

To view the source code for android.media.session PlaybackState ACTION_STOP.

Click Source Link

Document

Indicates this session supports the stop command.

Usage

From source file:com.koma.music.service.MusicService.java

private void updateMediaSession(final String what) {
    LogUtils.i(TAG, "updateMediaSession what : " + what);
    int playState = mIsSupposedToBePlaying ? PlaybackState.STATE_PLAYING : PlaybackState.STATE_PAUSED;

    long playBackStateActions = PlaybackState.ACTION_PLAY | PlaybackState.ACTION_PLAY_PAUSE
            | PlaybackState.ACTION_PLAY_FROM_MEDIA_ID | PlaybackState.ACTION_PAUSE
            | PlaybackState.ACTION_SKIP_TO_NEXT | PlaybackState.ACTION_SKIP_TO_PREVIOUS
            | PlaybackState.ACTION_STOP;

    if (what.equals(MusicServiceConstants.PLAYSTATE_CHANGED)
            || what.equals(MusicServiceConstants.POSITION_CHANGED)) {
        mSession.setPlaybackState(new PlaybackState.Builder().setActions(playBackStateActions)
                .setActiveQueueItemId(getAudioId()).setState(playState, position(), 1.0f).build());
    } else if (what.equals(META_CHANGED) || what.equals(MusicServiceConstants.QUEUE_CHANGED)) {
        LogUtils.i(TAG, "sadsadsadsad thread id : " + Thread.currentThread().getId() + "name : "
                + Thread.currentThread().getName());
        /*if (albumArt != null) {
        // RemoteControlClient wants to recycle the bitmaps thrown at it, so we need
        // to make sure not to hand out our cache copy
        Bitmap.Config config = albumArt.getConfig();
        if (config == null) {//from w  w  w.j  av  a 2s. c  o  m
            config = Bitmap.Config.ARGB_8888;
        }
        albumArt = albumArt.copy(config, false);
        }*/

        /*mSession.setMetadata(new MediaMetadataCompat.Builder()
            .putString(MediaMetadataCompat.METADATA_KEY_ARTIST, getArtistName())
            .putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ARTIST, getAlbumArtistName())
            .putString(MediaMetadataCompat.METADATA_KEY_ALBUM, getAlbumName())
            .putString(MediaMetadataCompat.METADATA_KEY_TITLE, getTrackName())
            .putLong(MediaMetadataCompat.METADATA_KEY_DURATION, duration())
            .putLong(MediaMetadataCompat.METADATA_KEY_TRACK_NUMBER, getQueuePosition() + 1)
            .putLong(MediaMetadataCompat.METADATA_KEY_NUM_TRACKS, getQueue().length)
            .putString(MediaMetadataCompat.METADATA_KEY_GENRE, getGenreName())
            .putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART,
                    mShowAlbumArtOnLockscreen ? albumArt : null)
            .build());*/

        if (what.equals(MusicServiceConstants.QUEUE_CHANGED)) {
            updateMediaSessionQueue();
        }

        mSession.setPlaybackState(new PlaybackState.Builder().setActions(playBackStateActions)
                .setActiveQueueItemId(getAudioId()).setState(playState, position(), 1.0f).build());
    }
    LogUtils.i(TAG, "updateMediaSession finished");
}