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:com.pi.android.brainbeats.ui.FullScreenPlayerActivity.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_full_player);
    initializeToolbar();// www  .j a  va2  s.c  om
    if (getSupportActionBar() != null) {
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setTitle("");
    }

    mBackgroundImage = (ImageView) findViewById(R.id.background_image);
    mPauseDrawable = ContextCompat.getDrawable(this, R.drawable.uamp_ic_pause_white_48dp);
    mPlayDrawable = ContextCompat.getDrawable(this, R.drawable.uamp_ic_play_arrow_white_48dp);
    mPlayPause = (ImageView) findViewById(R.id.play_pause);
    mBBOn = ContextCompat.getDrawable(this, R.drawable.uamp_ic_pause_white_48dp);
    mBBOff = ContextCompat.getDrawable(this, R.drawable.ic_bb_on_36dp);
    mBB = (ImageView) findViewById(R.id.BB);
    mSkipNext = (ImageView) findViewById(R.id.next);
    mSkipPrev = (ImageView) findViewById(R.id.prev);
    mStart = (TextView) findViewById(R.id.startText);
    mEnd = (TextView) findViewById(R.id.endText);
    mSeekbar = (SeekBar) findViewById(R.id.seekBar1);
    mLine1 = (TextView) findViewById(R.id.line1);
    mLine2 = (TextView) findViewById(R.id.line2);
    mLine3 = (TextView) findViewById(R.id.line3);
    mLoading = (ProgressBar) findViewById(R.id.progressBar1);
    mControllers = findViewById(R.id.controllers);

    mSkipNext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (brainMode) {
                MediaControllerCompat.TransportControls controls = getSupportMediaController()
                        .getTransportControls();
                controls.skipToPrevious();
            } else {

                MediaControllerCompat.TransportControls controls = getSupportMediaController()
                        .getTransportControls();
                controls.skipToNext();
            }
        }
    });

    mSkipPrev.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (!brainMode) {
                MediaControllerCompat.TransportControls controls = getSupportMediaController()
                        .getTransportControls();
                controls.skipToPrevious();
            } else {

                MediaControllerCompat.TransportControls controls = getSupportMediaController()
                        .getTransportControls();
                controls.skipToNext();
            }
        }
    });

    mBB.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (brainMode) {
                brainMode = false;
                Log.e("BRAINBEATS MODE", "OFF");
                mBB.setImageResource(R.drawable.ic_bb_on_36dp);
            } else {
                brainMode = true;
                Log.e("BRAINBEATS MODE", "ON");
                mBB.setImageResource(R.drawable.ic_bb_off_36dp);
            }

        }
    });

    mPlayPause.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            PlaybackStateCompat state = getSupportMediaController().getPlaybackState();
            if (state != null) {
                MediaControllerCompat.TransportControls controls = getSupportMediaController()
                        .getTransportControls();
                switch (state.getState()) {
                case PlaybackStateCompat.STATE_PLAYING: // fall through
                case PlaybackStateCompat.STATE_BUFFERING:
                    controls.pause();
                    stopSeekbarUpdate();
                    break;
                case PlaybackStateCompat.STATE_PAUSED:
                case PlaybackStateCompat.STATE_STOPPED:
                    controls.play();
                    scheduleSeekbarUpdate();
                    break;
                default:
                    LogHelper.d(TAG, "onClick with state ", state.getState());
                }
            }
        }
    });

    mSeekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            mStart.setText(DateUtils.formatElapsedTime(progress / 1000));
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            stopSeekbarUpdate();
        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            getSupportMediaController().getTransportControls().seekTo(seekBar.getProgress());
            scheduleSeekbarUpdate();
        }
    });

    // Only update from the intent if we are not recreating from a config change:
    if (savedInstanceState == null) {
        updateFromParams(getIntent());
    }

    mMediaBrowser = new MediaBrowserCompat(this, new ComponentName(this, MusicService.class),
            mConnectionCallback, null);
}

From source file:com.torrenttunes.android.ui.FullScreenPlayerActivity.java

private void connectToSession(MediaSessionCompat.Token token) {

    try {/*  ww w.ja v  a  2  s .  c  o  m*/

        mMediaController = new MediaControllerCompat(FullScreenPlayerActivity.this, token);

        if (mMediaController.getMetadata() == null) {
            finish();
            return;
        }

        mMediaController.registerCallback(mCallback);
        PlaybackStateCompat state = mMediaController.getPlaybackState();
        updatePlaybackState(state);
        MediaMetadataCompat metadata = mMediaController.getMetadata();
        if (metadata != null) {
            updateMediaDescription(metadata.getDescription());
            updateDuration(metadata);
        }
        updateProgress();
        if (state != null && (state.getState() == PlaybackStateCompat.STATE_PLAYING
                || state.getState() == PlaybackStateCompat.STATE_BUFFERING)) {
            scheduleSeekbarUpdate();
        }

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

From source file:com.appdevper.mediaplayer.app.PlaybackManager.java

/**
 * Switch to a different Playback instance, maintaining all playback state, if possible.
 *
 * @param playback switch to this playback
 *//*  w  w  w  .j a  va 2s  . c o m*/
public void switchToPlayback(Playback playback, boolean resumePlaying) {
    if (playback == null) {
        throw new IllegalArgumentException("Playback cannot be null");
    }
    // suspend the current one.
    int oldState = mPlayback.getState();
    int pos = mPlayback.getCurrentStreamPosition();
    String currentMediaId = mPlayback.getCurrentMediaId();
    mPlayback.stop(false);
    playback.setCallback(this);
    playback.setCurrentStreamPosition(pos < 0 ? 0 : pos);
    playback.setCurrentMediaId(currentMediaId);
    playback.start();
    // finally swap the instance
    mPlayback = playback;
    switch (oldState) {
    case PlaybackStateCompat.STATE_BUFFERING:
    case PlaybackStateCompat.STATE_CONNECTING:
    case PlaybackStateCompat.STATE_PAUSED:
        mPlayback.pause();
        break;
    case PlaybackStateCompat.STATE_PLAYING:
        MediaSessionCompat.QueueItem currentMusic = mQueueManager.getCurrentMusic();
        if (resumePlaying && currentMusic != null) {
            mPlayback.play(currentMusic);
        } else if (!resumePlaying) {
            mPlayback.pause();
        } else {
            mPlayback.stop(true);
        }
        break;
    case PlaybackStateCompat.STATE_NONE:
        break;
    default:
        LogHelper.d(TAG, "Default called. Old state is ", oldState);
    }
}

From source file:rocks.stalin.android.app.playback.RemotePlayback.java

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

From source file:cat.terrones.devops.radiofx.ui.FullScreenPlayerActivity.java

private void connectToSession(MediaSessionCompat.Token token) throws RemoteException {
    MediaControllerCompat mediaController = new MediaControllerCompat(FullScreenPlayerActivity.this, token);
    if (mediaController.getMetadata() == null) {
        finish();//from   ww w .ja  va 2s.co  m
        return;
    }
    setSupportMediaController(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:com.scooter1556.sms.android.fragment.tv.TvAudioPlayerFragment.java

private void connectToSession(MediaSessionCompat.Token token) throws RemoteException {
    Log.d(TAG, "connectToSession()");

    mediaController = new MediaControllerCompat(getActivity(), token);

    MediaControllerCompat.setMediaController(getActivity(), mediaController);
    mediaController.registerCallback(callback);
    PlaybackStateCompat state = mediaController.getPlaybackState();
    updatePlaybackState(state);/*w ww .  j a va 2s.  co  m*/
    MediaMetadataCompat metadata = mediaController.getMetadata();

    if (metadata != null) {
        updateMediaDescription(metadata.getDescription());
        updateDuration(metadata);
    }

    updateProgress();
    updatePlayListRow();

    if (state != null && (state.getState() == PlaybackStateCompat.STATE_PLAYING
            || state.getState() == PlaybackStateCompat.STATE_BUFFERING)) {
        scheduleSeekbarUpdate();
    }
}

From source file:com.murati.oszk.audiobook.playback.PlaybackManager.java

/**
 * Switch to a different Playback instance, maintaining all playback state, if possible.
 *
 * @param playback switch to this playback
 *//*www  .  j a va 2 s .c o m*/
public void switchToPlayback(Playback playback, boolean resumePlaying) {
    if (playback == null) {
        throw new IllegalArgumentException("Playback cannot be null");
    }
    // Suspends current state.
    int oldState = mPlayback.getState();
    long pos = mPlayback.getCurrentStreamPosition();
    String currentMediaId = mPlayback.getCurrentMediaId();
    mPlayback.stop(false);
    playback.setCallback(this);
    playback.setCurrentMediaId(currentMediaId);
    playback.seekTo(pos < 0 ? 0 : pos);
    playback.start();
    // Swaps instance.
    mPlayback = playback;
    switch (oldState) {
    case PlaybackStateCompat.STATE_BUFFERING:
    case PlaybackStateCompat.STATE_CONNECTING:
    case PlaybackStateCompat.STATE_PAUSED:
        mPlayback.pause();
        break;
    case PlaybackStateCompat.STATE_PLAYING:
        MediaSessionCompat.QueueItem currentMusic = mQueueManager.getCurrentTrack();
        if (resumePlaying && currentMusic != null) {
            mPlayback.play(currentMusic);
        } else if (!resumePlaying) {
            mPlayback.pause();
        } else {
            mPlayback.stop(true);
        }
        break;
    case PlaybackStateCompat.STATE_NONE:
        break;
    default:
        LogHelper.d(TAG, "Default called. Old state is ", oldState);
    }
}

From source file:nuclei.media.playback.PlaybackManager.java

/**
 * Update the current media player state, optionally showing an error message.
 *
 * @param error if not null, error message to present to the user.
 *///  ww w .j a va  2 s. c o m
public void updatePlaybackState(Exception error, boolean canPause) {
    long position = PlaybackStateCompat.PLAYBACK_POSITION_UNKNOWN;
    if (mPlayback != null && mPlayback.isConnected()) {
        position = mPlayback.getCurrentStreamPosition();
    }

    //noinspection ResourceType
    final PlaybackStateCompat.Builder stateBuilder = new PlaybackStateCompat.Builder()
            .setActions(getAvailableActions());

    int state = mPlayback == null ? PlaybackStateCompat.STATE_NONE : mPlayback.getState();

    // If there is an error message, send it to the playback state:
    if (error != null) {
        mHandler.removeMessages(TIMER_COUNTDOWN);
        mHandler.removeMessages(TIMER_TIMING);
        int errorCode = ResourceProvider.getInstance().getExceptionCode(error);
        String message = ResourceProvider.getInstance().getExceptionMessage(error);
        if (message == null)
            message = error.getMessage();
        // Error states are really only supposed to be used for errors that cause playback to
        // stop unexpectedly and persist until the user takes action to fix it.
        stateBuilder.setErrorMessage(errorCode, message);
        state = PlaybackStateCompat.STATE_ERROR;
        if (mPlayback != null) {
            int lastState = state;
            mPlayback.setState(state);
            if (mPlayback.isPlaying()) {
                mPlayback.setState(lastState);
                state = lastState;
            } else if (canPause) {
                mPlayback.pause();
            }
        }
        MediaProvider.getInstance().onError(error);
    }

    float audioSpeed;
    if (mPlayback instanceof CastPlayback)
        audioSpeed = 1;
    else
        audioSpeed = mServiceCallback.getAudioSpeed();

    //noinspection ResourceType
    stateBuilder.setState(state, position, audioSpeed, SystemClock.elapsedRealtime());

    mServiceCallback.onPlaybackStateUpdated(stateBuilder.build());

    if (state == PlaybackStateCompat.STATE_PLAYING) {
        if (mTimer > -1 && !mHandler.hasMessages(TIMER_COUNTDOWN))
            mHandler.sendEmptyMessageDelayed(TIMER_COUNTDOWN, ONE_SECOND);
        if (mPlayback.getTiming() != null && !mHandler.hasMessages(TIMER_TIMING))
            mHandler.sendEmptyMessageDelayed(TIMER_TIMING, ONE_SECOND);
    }

    if (state == PlaybackStateCompat.STATE_PLAYING) {
        mServiceCallback.onNotificationRequired();
    }
}

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

private void configMediaPlayerState() {
    LogHelper.d(TAG, "configMediaPlayerState. mAudioFocus = ", mAudioFocus);

    if (mAudioFocus == AUDIO_NO_FOCUS_NO_DUCK) {
        if (mState == PlaybackStateCompat.STATE_PLAYING) {
            pause();/*from  w w w . j  a  v a  2 s . c om*/
            ;
        }
    } else {
        registerAudioNoisyReceiver();

        if (mAudioFocus == AUDIO_NO_FOCUS_CAN_DUCK) {
            mMediaPlayer.setVolume(VOLUME_DUCK, VOLUME_DUCK);
        } else {
            if (mMediaPlayer != null) {
                mMediaPlayer.setVolume(VOLUME_NORMAL, VOLUME_NORMAL);
            }
        }

        if (mPlayOnFocusGain) {
            if (mMediaPlayer != null && !mMediaPlayer.isPlaying()) {
                LogHelper.d(TAG, "configMediaPlayerState startMediaPlayer. seeking to ", mCurrentPosition);

                if (mCurrentPosition == mMediaPlayer.getCurrentPosition()) {
                    mMediaPlayer.start();
                    mState = PlaybackStateCompat.STATE_PLAYING;
                } else {
                    mMediaPlayer.seekTo(mCurrentPosition);
                    mState = PlaybackStateCompat.STATE_BUFFERING;
                }
            }
            mPlayOnFocusGain = false;
        }
    }

    if (mCallback != null) {
        mCallback.onPlaybackStatusChanged(mState);
    }
}

From source file:nuclei.media.MediaPlayerController.java

public static boolean isPlaying(MediaControllerCompat mediaControllerCompat,
        PlaybackStateCompat playbackStateCompat, MediaId mediaId) {
    if (isEquals(mediaControllerCompat, mediaId)) {
        if (playbackStateCompat == null)
            playbackStateCompat = mediaControllerCompat.getPlaybackState();
        int state = -1;
        if (playbackStateCompat != null)
            state = playbackStateCompat.getState();
        return state == PlaybackStateCompat.STATE_BUFFERING || state == PlaybackStateCompat.STATE_PLAYING;
    }//from w w  w  .ja  v a 2  s. co m
    return false;
}