Example usage for android.support.v4.media.session PlaybackStateCompat STATE_PLAYING

List of usage examples for android.support.v4.media.session PlaybackStateCompat STATE_PLAYING

Introduction

In this page you can find the example usage for android.support.v4.media.session PlaybackStateCompat STATE_PLAYING.

Prototype

int STATE_PLAYING

To view the source code for android.support.v4.media.session PlaybackStateCompat STATE_PLAYING.

Click Source Link

Document

State indicating this item is currently playing.

Usage

From source file:rocks.stalin.android.app.ui.FullScreenPlayerActivity.java

private void connectToSession(MediaSessionCompat.Token token) throws RemoteException {
    MediaControllerCompat mediaController = new MediaControllerCompat(FullScreenPlayerActivity.this, token);
    if (mediaController.getMetadata() == null) {
        finish();/*from www . ja va2  s .c o m*/
        return;
    }
    MediaControllerCompat.setMediaController(this, mediaController);
    mediaController.registerCallback(mCallback);
    PlaybackStateCompat state = mediaController.getPlaybackState();
    updatePlaybackState(state);
    MediaMetadataCompat metadata = mediaController.getMetadata();
    if (metadata != null) {
        updateMediaDescription(metadata.getDescription());
        updateDuration(metadata);
    }
    updateProgress();
    if (state != null && (state.getState() == PlaybackStateCompat.STATE_PLAYING
            || state.getState() == PlaybackStateCompat.STATE_BUFFERING)) {
        scheduleSeekbarUpdate();
    }
}

From source file:net.simno.klingar.playback.LocalPlayback.java

@Override
public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
    boolean playerStateChanged = exoPlayerState != playbackState;
    exoPlayerState = playbackState;//  w  w  w.  j a  v a  2  s. com

    Timber.d("onPlayerStateChanged %s playWhenReady %s playerStateChanged %s configWhenReady %s",
            getExoPlayerState(playbackState), playWhenReady, playerStateChanged, configWhenReady);

    switch (playbackState) {
    case ExoPlayer.STATE_READY:
        if (configWhenReady) {
            configWhenReady = false;
            configExoPlayerState();
        } else if (playWhenReady) { // seek complete
            currentPosition = exoPlayer.getCurrentPosition();
            state = PlaybackStateCompat.STATE_PLAYING;
            if (callback != null) {
                callback.onPlaybackStatusChanged();
            }
        }
        break;
    case ExoPlayer.STATE_ENDED:
        if (playerStateChanged) { // only call onCompletion once
            currentPosition = 0;
            callback.onCompletion();
        }
        break;
    default:
        break;
    }
}

From source file:com.achep.acdisplay.ui.components.MediaWidget.java

@Override
public void onPlaybackStateChanged(int state) {

    // Making transformation rule for the warning icon is too
    // much overkill for me.
    if (state == PlaybackStateCompat.STATE_ERROR) {
        mButtonPlayPause.setImageDrawable(mWarningDrawable);
    } else {//w  ww .  j av  a  2 s. c o  m
        mButtonPlayPause.setImageDrawable(mPlayPauseDrawable);
    }

    if (DEBUG)
        Log.d(TAG, "Playback state is " + state);

    final int imageDescId;
    switch (state) {
    case PlaybackStateCompat.STATE_ERROR:
        imageDescId = R.string.media_play_description;
        break;
    case PlaybackStateCompat.STATE_PLAYING:
        mPlayPauseDrawable.transformToPause();
        imageDescId = R.string.media_pause_description;
        break;
    case PlaybackStateCompat.STATE_BUFFERING:
    case PlaybackStateCompat.STATE_STOPPED:
        mPlayPauseDrawable.transformToStop();
        imageDescId = R.string.media_stop_description;
        break;
    case PlaybackStateCompat.STATE_PAUSED:
    default:
        mPlayPauseDrawable.transformToPlay();
        imageDescId = R.string.media_play_description;
        break;
    }

    mButtonPlayPause.setContentDescription(getFragment().getString(imageDescId));
}

From source file:com.classiqo.nativeandroid_32bitz.playback.CastPlayback.java

private void updatePlaybackState() {
    int status = mRemoteMediaClient.getPlayerState();
    int idleReason = mRemoteMediaClient.getIdleReason();

    LogHelper.d(TAG, "onRemoteMediaPlayerStatusUpdated ", status);

    switch (status) {
    case MediaStatus.PLAYER_STATE_IDLE:
        if (idleReason == MediaStatus.IDLE_REASON_FINISHED) {
            if (mCallback != null) {
                mCallback.onCompletion();
            }/*from   ww w  .  java  2  s  .  co m*/
        }
        break;
    case MediaStatus.PLAYER_STATE_BUFFERING:
        mState = PlaybackStateCompat.STATE_BUFFERING;
        if (mCallback != null) {
            mCallback.onPlaybackStatusChanged(mState);
        }
        break;
    case MediaStatus.PLAYER_STATE_PLAYING:
        mState = PlaybackStateCompat.STATE_PLAYING;
        setMetadataFromRemote();
        if (mCallback != null) {
            mCallback.onPlaybackStatusChanged(mState);
        }
        break;
    case MediaStatus.PLAYER_STATE_PAUSED:
        setMetadataFromRemote();
        if (mCallback != null) {
            mCallback.onPlaybackStatusChanged(mState);
        }
        break;
    default:
        LogHelper.d(TAG, "State default: ", status);
        break;
    }
}

From source file:com.bayapps.android.robophish.ui.FullScreenPlayerActivity.java

private void connectToSession(MediaSessionCompat.Token token) throws RemoteException {
    MediaControllerCompat mediaController = new MediaControllerCompat(FullScreenPlayerActivity.this, token);
    if (mediaController.getMetadata() == null) {
        finish();//from  w w  w  .j  a v  a  2 s  .c om
        return;
    }
    setSupportMediaController(mediaController);
    mediaController.registerCallback(mCallback);
    PlaybackStateCompat state = mediaController.getPlaybackState();
    updatePlaybackState(state);
    MediaMetadataCompat metadata = mediaController.getMetadata();
    if (metadata != null) {
        String venue = metadata.getString(MediaMetadataCompat.METADATA_KEY_ALBUM);
        Log.d(TAG, "venue: " + venue);
        String location = metadata.getString(MediaMetadataCompat.METADATA_KEY_AUTHOR);
        Log.d(TAG, "location: " + location);

        updateMediaDescription(metadata.getDescription(), venue, location);
        updateDuration(metadata);
    }
    updateProgress();
    if (state != null && (state.getState() == PlaybackStateCompat.STATE_PLAYING
            || state.getState() == PlaybackStateCompat.STATE_BUFFERING)) {
        scheduleSeekbarUpdate();
    }
}

From source file:com.allthatseries.RNAudioPlayer.Playback.java

/**
 * Reconfigures MediaPlayer according to audio focus settings and
 * starts/restarts it. This method starts/restarts the MediaPlayer
 * respecting the current audio focus state. So if we have focus, it will
 * play normally; if we don't have focus, it will either leave the
 * MediaPlayer paused or set it to a low volume, depending on what is
 * allowed by the current focus settings. This method assumes mPlayer !=
 * null, so if you are calling it, you have to do so from a context where
 * you are sure this is the case.//from  ww w .j  a v a 2  s . c  o m
 */
private void configMediaPlayerState() {
    if (mAudioFocus == AUDIO_NO_FOCUS_NO_DUCK) {
        // If we don't have audio focus and can't duck, we have to pause,
        if (mState == PlaybackStateCompat.STATE_PLAYING) {
            pause();
        }
    } else { // we have audio focus:
        registerAudioNoisyReceiver();
        if (mAudioFocus == AUDIO_NO_FOCUS_CAN_DUCK) {
            mMediaPlayer.setVolume(VOLUME_DUCK, VOLUME_DUCK); // we'll be relatively quiet
        } else {
            if (mMediaPlayer != null) {
                mMediaPlayer.setVolume(VOLUME_NORMAL, VOLUME_NORMAL); // we can be loud again
            } // else do something for remote client.
        }
        // If we were playing when we lost focus, we need to resume playing.
        if (mPlayOnFocusGain) {
            if (mMediaPlayer != null && !mMediaPlayer.isPlaying()) {
                if (mCurrentPosition == mMediaPlayer.getCurrentPosition()) {
                    mMediaPlayer.start();
                    mState = PlaybackStateCompat.STATE_PLAYING;
                } else {
                    mMediaPlayer.seekTo(mCurrentPosition);
                    mState = PlaybackStateCompat.STATE_BUFFERING;
                }
            }
            mPlayOnFocusGain = false;
        }
    }
    if (mCallback != null) {
        mCallback.onPlaybackStateChanged(mState);
    }
}

From source file:com.bayapps.android.robophish.playback.LocalPlayback.java

@Override
public void pause() {
    if (mState == PlaybackStateCompat.STATE_PLAYING) {
        // Pause media player and cancel the 'foreground service' state.
        if (mMediaPlayer != null && mMediaPlayer.isPlaying()) {
            mMediaPlayer.pause();/*from  w ww .j a  va2 s. co m*/
            mCurrentPosition = mMediaPlayer.getCurrentPosition();
        }
        // while paused, retain the MediaPlayer but give up audio focus
        relaxResources(false);
        giveUpAudioFocus();
    }
    mState = PlaybackStateCompat.STATE_PAUSED;
    if (mCallback != null) {
        mCallback.onPlaybackStatusChanged(mState);
    }
    unregisterAudioNoisyReceiver();
}

From source file:net.simno.klingar.MediaNotificationManager.java

private void addPlayPauseAction(NotificationCompat.Builder builder) {
    if (state == PlaybackStateCompat.STATE_PLAYING) {
        builder.addAction(new NotificationCompat.Action(R.drawable.ic_notification_pause,
                service.getString(R.string.label_pause), pauseIntent));
    } else {// ww  w.j ava 2  s  .  co  m
        builder.addAction(new NotificationCompat.Action(R.drawable.ic_notification_play,
                service.getString(R.string.label_play), playIntent));
    }
}

From source file:nuclei.media.MediaInterface.java

void onPlaybackStateChanged(PlaybackStateCompat state) {
    if (mCallbacks != null) {
        if (state.getState() != PlaybackStateCompat.STATE_BUFFERING) {
            mCallbacks.onLoaded(mPlayerControls);
        } else if (state.getState() == PlaybackStateCompat.STATE_BUFFERING) {
            mCallbacks.onLoading(mPlayerControls);
        }/*from w ww.  j  av  a  2 s  . c o m*/
        mCallbacks.onStateChanged(this, state);
    }
    if (mPlayerControls != null) {
        if (MediaPlayerController.isPlaying(mMediaControls, state, mPlayerControls.getMediaId())) {
            if (mCallbacks != null)
                mCallbacks.onPlaying(mPlayerControls);
            if (mHandler != null)
                mHandler.start();
        } else {
            if (mCallbacks != null) {
                if (state.getState() == PlaybackStateCompat.STATE_STOPPED)
                    mCallbacks.onStopped(mPlayerControls);
                else
                    mCallbacks.onPaused(mPlayerControls);
            }
            if (mHandler != null)
                mHandler.stop();
        }
    } else if (mHandler != null) {
        mHandler.stop();
    }
    if (state.getState() == PlaybackStateCompat.STATE_PLAYING && mCallbacks != null) {
        if (mPlayerControls != null && (!mPlayerControls.isMediaControlsSet()
                || !MediaPlayerController.isEquals(mMediaControls, mPlayerControls.getMediaId()))) {
            mPlayerControls.setMediaControls(mCallbacks, mMediaControls);
        }
    }
}

From source file:com.murati.oszk.audiobook.ui.FullScreenPlayerActivity.java

private void connectToSession(MediaSessionCompat.Token token) throws RemoteException {
    MediaControllerCompat mediaController = new MediaControllerCompat(FullScreenPlayerActivity.this, token);
    if (mediaController.getMetadata() == null) {
        finish();/* ww  w . java2s  . c  o  m*/
        return;
    }
    MediaControllerCompat.setMediaController(FullScreenPlayerActivity.this, mediaController);
    mediaController.registerCallback(mCallback);
    PlaybackStateCompat state = mediaController.getPlaybackState();
    updatePlaybackState(state);
    MediaMetadataCompat metadata = mediaController.getMetadata();
    if (metadata != null) {
        updateMediaDescription(metadata.getDescription());
        updateDuration(metadata);
    }
    updateProgress();
    if (state != null && (state.getState() == PlaybackStateCompat.STATE_PLAYING
            || state.getState() == PlaybackStateCompat.STATE_BUFFERING)) {
        scheduleSeekbarUpdate();
    }
}