Example usage for android.media RemoteControlClient PLAYSTATE_PAUSED

List of usage examples for android.media RemoteControlClient PLAYSTATE_PAUSED

Introduction

In this page you can find the example usage for android.media RemoteControlClient PLAYSTATE_PAUSED.

Prototype

int PLAYSTATE_PAUSED

To view the source code for android.media RemoteControlClient PLAYSTATE_PAUSED.

Click Source Link

Document

Playback state of a RemoteControlClient which is paused.

Usage

From source file:org.moire.ultrasonic.service.DownloadServiceImpl.java

private void updateRemoteControl() {
    if (!Util.isLockScreenEnabled(this)) {
        clearRemoteControl();// www  . j a va  2s .  com
        return;
    }

    if (remoteControlClient != null) {
        audioManager.unregisterRemoteControlClient(remoteControlClient);
        audioManager.registerRemoteControlClient(remoteControlClient);
    } else {
        setUpRemoteControlClient();
    }

    Log.i(TAG, String.format("In updateRemoteControl, playerState: %s [%d]", playerState, getPlayerPosition()));

    switch (playerState) {
    case STARTED:
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2) {
            remoteControlClient.setPlaybackState(RemoteControlClient.PLAYSTATE_PLAYING);
        } else {
            remoteControlClient.setPlaybackState(RemoteControlClient.PLAYSTATE_PLAYING, getPlayerPosition(),
                    1.0f);
        }
        break;
    default:
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2) {
            remoteControlClient.setPlaybackState(RemoteControlClient.PLAYSTATE_PAUSED);
        } else {
            remoteControlClient.setPlaybackState(RemoteControlClient.PLAYSTATE_PAUSED, getPlayerPosition(),
                    1.0f);
        }
        break;
    }

    if (currentPlaying != null) {
        MusicDirectory.Entry currentSong = currentPlaying.getSong();

        Bitmap lockScreenBitmap = FileUtil.getAlbumArtBitmap(this, currentSong, Util.getMinDisplayMetric(this),
                true);

        String artist = currentSong.getArtist();
        String album = currentSong.getAlbum();
        String title = currentSong.getTitle();
        Integer currentSongDuration = currentSong.getDuration();
        Long duration = 0L;

        if (currentSongDuration != null)
            duration = (long) currentSongDuration * 1000;

        remoteControlClient.editMetadata(true).putString(MediaMetadataRetriever.METADATA_KEY_ARTIST, artist)
                .putString(MediaMetadataRetriever.METADATA_KEY_ALBUMARTIST, artist)
                .putString(MediaMetadataRetriever.METADATA_KEY_ALBUM, album)
                .putString(MediaMetadataRetriever.METADATA_KEY_TITLE, title)
                .putLong(MediaMetadataRetriever.METADATA_KEY_DURATION, duration)
                .putBitmap(RemoteControlClient.MetadataEditor.BITMAP_KEY_ARTWORK, lockScreenBitmap).apply();
    }
}

From source file:com.adityarathi.muo.services.AudioPlaybackService.java

/**
 * Updates all remote control clients (including the lockscreen controls).
 *///from   w w  w . j  a v a 2 s  .  c om
public void updateRemoteControlClients(SongHelper songHelper) {
    try {
        //Update the remote controls

        mRemoteControlClientCompat.editMetadata(true)
                .putString(MediaMetadataRetriever.METADATA_KEY_ARTIST, getCurrentSong().getArtist())
                .putString(MediaMetadataRetriever.METADATA_KEY_TITLE, getCurrentSong().getTitle())
                .putString(MediaMetadataRetriever.METADATA_KEY_ALBUM, getCurrentSong().getAlbum())
                .putLong(MediaMetadataRetriever.METADATA_KEY_DURATION, getCurrentMediaPlayer().getDuration())
                .putBitmap(RemoteControlClientCompat.MetadataEditorCompat.METADATA_KEY_ARTWORK,
                        getCurrentSong().getAlbumArt())

                .apply();

        if (mRemoteControlClientCompat != null) {

            if (getCurrentMediaPlayer().isPlaying())
                mRemoteControlClientCompat.setPlaybackState(RemoteControlClient.PLAYSTATE_PLAYING);
            else
                mRemoteControlClientCompat.setPlaybackState(RemoteControlClient.PLAYSTATE_PAUSED);

        }

    } catch (Exception e) {
        e.printStackTrace();
    }

}

From source file:com.Duo.music.player.Services.AudioPlaybackService.java

/**
 * Updates all remote control clients (including the lockscreen controls).
 *//*  w  ww. j  ava  2  s  .c  o  m*/
public void updateRemoteControlClients(SongHelper songHelper) {
    try {
        //Update the remote controls
        mRemoteControlClientCompat.editMetadata(true)
                .putString(MediaMetadataRetriever.METADATA_KEY_ARTIST, getCurrentSong().getArtist())
                .putString(MediaMetadataRetriever.METADATA_KEY_TITLE, getCurrentSong().getTitle())
                .putString(MediaMetadataRetriever.METADATA_KEY_ALBUM, getCurrentSong().getAlbum())
                .putLong(MediaMetadataRetriever.METADATA_KEY_DURATION, getCurrentMediaPlayer().getDuration())
                .putBitmap(RemoteControlClientCompat.MetadataEditorCompat.METADATA_KEY_ARTWORK,
                        getCurrentSong().getAlbumArt())
                .apply();

        if (mRemoteControlClientCompat != null) {

            if (getCurrentMediaPlayer().isPlaying())
                mRemoteControlClientCompat.setPlaybackState(RemoteControlClient.PLAYSTATE_PLAYING);
            else
                mRemoteControlClientCompat.setPlaybackState(RemoteControlClient.PLAYSTATE_PAUSED);

        }

    } catch (Exception e) {
        e.printStackTrace();
    }

}

From source file:com.andrew.apollo.MusicPlaybackService.java

/**
 * Updates the lock screen controls.//from   w w w. j  av  a  2  s  .  co m
 *
 * @param what The broadcast
 */
private void updateRemoteControlClient(final String what) {
    if (mRemoteControlClient == null) {
        LOG.info("mRemoteControlClient is null, review your logic");
        return;
    }

    int playState;
    if (isPlaying()) {
        playState = RemoteControlClient.PLAYSTATE_PLAYING;
    } else {
        playState = RemoteControlClient.PLAYSTATE_PAUSED;
        if (what.equals(PLAYSTATE_STOPPED)) {
            playState = RemoteControlClient.PLAYSTATE_STOPPED;
        }
    }

    if (what == null) {
        return;
    }

    if (PLAYSTATE_STOPPED.equals(what) && mNotificationHelper != null) {
        mNotificationHelper.killNotification();
    }

    switch (what) {
    case PLAYSTATE_CHANGED:
    case POSITION_CHANGED:
    case PLAYSTATE_STOPPED:
        async(mRemoteControlClient, MusicPlaybackService::remoteControlClientSetPlaybackStateTask, playState);
        break;
    case META_CHANGED:
    case QUEUE_CHANGED:
        // Asynchronously gets bitmap and then updates the Remote Control Client with that bitmap
        async(this, MusicPlaybackService::changeRemoteControlClientTask, playState, position());
        break;
    }
}

From source file:com.firefly.sample.castcompanionlibrary.cast.VideoCastManager.java

@SuppressLint("InlinedApi")
private void setUpRemoteControl(final MediaInfo info) {
    if (!isFeatureEnabled(BaseCastManager.FEATURE_LOCKSCREEN)) {
        return;/*from  w  w  w  . j  a v  a 2s  . c  om*/
    }
    LOGD(TAG, "setupRemoteControl() was called");
    mAudioManager.requestAudioFocus(null, AudioManager.STREAM_MUSIC,
            AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK);

    ComponentName eventReceiver = new ComponentName(mContext, VideoIntentReceiver.class.getName());
    mAudioManager.registerMediaButtonEventReceiver(eventReceiver);

    if (mRemoteControlClientCompat == null) {
        Intent intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
        intent.setComponent(mMediaButtonReceiverComponent);
        mRemoteControlClientCompat = new RemoteControlClientCompat(
                PendingIntent.getBroadcast(mContext, 0, intent, 0));
        RemoteControlHelper.registerRemoteControlClient(mAudioManager, mRemoteControlClientCompat);
    }
    mRemoteControlClientCompat.addToMediaRouter(mMediaRouter);
    mRemoteControlClientCompat.setTransportControlFlags(RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE);
    if (null == info) {
        mRemoteControlClientCompat.setPlaybackState(RemoteControlClient.PLAYSTATE_PAUSED);
        return;
    } else {
        mRemoteControlClientCompat.setPlaybackState(RemoteControlClient.PLAYSTATE_PLAYING);
    }

    // Update the remote control's image
    updateLockScreenImage(info);

    // update the remote control's metadata
    updateLockScreenMetadata();
}

From source file:air.com.snagfilms.cast.chromecast.VideoChromeCastManager.java

@SuppressLint("InlinedApi")
private void setUpRemoteControl(final MediaInfo info) {
    if (!isFeatureEnabled(BaseChromeCastManager.FEATURE_LOCKSCREEN)) {
        return;/*  w  w w  .ja  va  2 s. c  o m*/
    }
    Log.d(TAG, "setupRemoteControl() was called");
    mAudioManager.requestAudioFocus(null, AudioManager.STREAM_MUSIC,
            AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK);

    ComponentName eventReceiver = new ComponentName(mContext, VideoIntentReceiver.class.getName());
    mAudioManager.registerMediaButtonEventReceiver(eventReceiver);

    if (mRemoteControlClientCompat == null) {
        Intent intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
        intent.setComponent(mMediaButtonReceiverComponent);
        mRemoteControlClientCompat = new RemoteControlClientCompat(
                PendingIntent.getBroadcast(mContext, 0, intent, 0));
        RemoteControlHelper.registerRemoteControlClient(mAudioManager, mRemoteControlClientCompat);
    }
    mRemoteControlClientCompat.addToMediaRouter(mMediaRouter);
    mRemoteControlClientCompat.setTransportControlFlags(RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE);
    if (null == info) {
        mRemoteControlClientCompat.setPlaybackState(RemoteControlClient.PLAYSTATE_PAUSED);
        return;
    } else {
        mRemoteControlClientCompat.setPlaybackState(RemoteControlClient.PLAYSTATE_PLAYING);
    }

    // Update the remote control's image
    updateLockScreenImage(info);

    // update the remote control's metadata
    updateLockScreenMetadata();
}

From source file:com.firefly.sample.castcompanionlibrary.cast.VideoCastManager.java

@SuppressLint("InlinedApi")
private void updateRemoteControl(boolean playing) {
    if (!isFeatureEnabled(FEATURE_LOCKSCREEN)) {
        return;/*from   w  w w .j  a v a2s . c  o  m*/
    }
    if (!isConnected()) {
        removeRemoteControlClient();
        return;
    }
    try {
        if (null == mRemoteControlClientCompat && playing) {
            setUpRemoteControl(getRemoteMediaInformation());
        }
        if (mRemoteControlClientCompat != null) {
            int playState = isRemoteStreamLive() ? RemoteControlClient.PLAYSTATE_BUFFERING
                    : RemoteControlClient.PLAYSTATE_PLAYING;
            mRemoteControlClientCompat
                    .setPlaybackState(playing ? playState : RemoteControlClient.PLAYSTATE_PAUSED);
        }
    } catch (TransientNetworkDisconnectionException e) {
        LOGE(TAG, "Failed to setup RCC due to network issues", e);
    } catch (NoConnectionException e) {
        LOGE(TAG, "Failed to setup RCC due to network issues", e);
    }
}

From source file:air.com.snagfilms.cast.chromecast.VideoChromeCastManager.java

@SuppressLint("InlinedApi")
private void updateRemoteControl(boolean playing) {
    if (!isFeatureEnabled(FEATURE_LOCKSCREEN)) {
        return;/*ww  w  .j a  v  a  2 s.  com*/
    }
    if (!isConnected()) {
        removeRemoteControlClient();
        return;
    }
    try {
        if (null == mRemoteControlClientCompat && playing) {
            setUpRemoteControl(getRemoteMediaInformation());
        }
        if (mRemoteControlClientCompat != null) {
            int playState = isRemoteStreamLive() ? RemoteControlClient.PLAYSTATE_BUFFERING
                    : RemoteControlClient.PLAYSTATE_PLAYING;
            mRemoteControlClientCompat
                    .setPlaybackState(playing ? playState : RemoteControlClient.PLAYSTATE_PAUSED);
        }
    } catch (TransientNetworkDisconnectionException e) {
        Log.e(TAG, "Failed to setup RCC due to network issues", e);
    } catch (NoConnectionException e) {
        Log.e(TAG, "Failed to setup RCC due to network issues", e);
    }
}

From source file:com.google.sample.castcompanionlibrary.cast.VideoCastManager.java

@SuppressLint("InlinedApi")
private void updateRemoteControl(boolean playing) {
    LOGD(TAG, "updateRemoteControl()");
    if (!isFeatureEnabled(FEATURE_LOCKSCREEN)) {
        return;//  w  ww.  ja  va2  s  . co m
    }
    if (!isConnected()) {
        return;
    }
    try {
        if (null == mRemoteControlClientCompat && playing) {
            setUpRemoteControl(getRemoteMediaInformation());
        }
        if (mRemoteControlClientCompat != null) {
            int playState = isRemoteStreamLive() ? RemoteControlClient.PLAYSTATE_BUFFERING
                    : RemoteControlClient.PLAYSTATE_PLAYING;
            mRemoteControlClientCompat
                    .setPlaybackState(playing ? playState : RemoteControlClient.PLAYSTATE_PAUSED);
        }
    } catch (TransientNetworkDisconnectionException e) {
        LOGE(TAG, "Failed to setup RCC due to network issues", e);
    } catch (NoConnectionException e) {
        LOGE(TAG, "Failed to setup RCC due to network issues", e);
    }
}

From source file:com.google.android.libraries.cast.companionlibrary.cast.VideoCastManager.java

@SuppressLint("InlinedApi")
private void setUpRemoteControl(final MediaInfo info) {
    if (!isFeatureEnabled(BaseCastManager.FEATURE_LOCKSCREEN)) {
        return;/*from  w  w  w  .j  a v  a 2 s  .c o  m*/
    }
    LOGD(TAG, "setUpRemoteControl() was called");
    mAudioManager.requestAudioFocus(null, AudioManager.STREAM_MUSIC,
            AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK);

    mMediaEventReceiver = new ComponentName(mContext, VideoIntentReceiver.class.getName());
    mAudioManager.registerMediaButtonEventReceiver(mMediaEventReceiver);

    if (mRemoteControlClientCompat == null) {
        Intent intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
        intent.setComponent(mMediaButtonReceiverComponent);
        mRemoteControlClientCompat = new RemoteControlClientCompat(
                PendingIntent.getBroadcast(mContext, 0, intent, 0));
        RemoteControlHelper.registerRemoteControlClient(mAudioManager, mRemoteControlClientCompat);
    }
    mRemoteControlClientCompat.addToMediaRouter(mMediaRouter);
    mRemoteControlClientCompat.setTransportControlFlags(RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE);
    if (info == null) {
        mRemoteControlClientCompat.setPlaybackState(RemoteControlClient.PLAYSTATE_PAUSED);
        return;
    } else {
        mRemoteControlClientCompat.setPlaybackState(RemoteControlClient.PLAYSTATE_PLAYING);
    }

    // Update the remote control's image
    updateLockScreenImage(info);

    // update the remote control's metadata
    updateLockScreenMetadata();
}