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

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

Introduction

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

Prototype

int STATE_PAUSED

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

Click Source Link

Document

State indicating this item is currently paused.

Usage

From source file:com.scooter1556.sms.android.activity.FullScreenPlayerActivity.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_full_screen_player);
    initialiseToolbar();/*www  . j a  va2 s . co  m*/
    if (getSupportActionBar() != null) {
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setTitle("");
    }

    backgroundImage = (ImageView) findViewById(R.id.background_image);
    pauseDrawable = ContextCompat.getDrawable(this, R.drawable.ic_pause_white_48dp);
    playDrawable = ContextCompat.getDrawable(this, R.drawable.ic_play_arrow_white_48dp);
    playPause = (ImageView) findViewById(R.id.play_pause);
    skipNext = (ImageView) findViewById(R.id.next);
    skipPrev = (ImageView) findViewById(R.id.prev);
    shuffle = (ImageView) findViewById(R.id.shuffle);
    repeat = (ImageView) findViewById(R.id.repeat);
    start = (TextView) findViewById(R.id.startText);
    end = (TextView) findViewById(R.id.endText);
    seekbar = (SeekBar) findViewById(R.id.seekBar);
    title = (TextView) findViewById(R.id.title);
    subtitle = (TextView) findViewById(R.id.subtitle);
    extra = (TextView) findViewById(R.id.extra);
    loading = (ProgressBar) findViewById(R.id.progressBar);
    controllers = findViewById(R.id.controllers);

    skipNext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            MediaControllerCompat.TransportControls controls = mediaController.getTransportControls();
            controls.skipToNext();
        }
    });

    skipPrev.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            MediaControllerCompat.TransportControls controls = mediaController.getTransportControls();
            controls.skipToPrevious();
        }
    });

    playPause.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            PlaybackStateCompat state = mediaController.getPlaybackState();
            if (state != null) {
                MediaControllerCompat.TransportControls controls = mediaController.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;
                }
            }
        }
    });

    shuffle.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            PlaybackStateCompat state = mediaController.getPlaybackState();
            MediaControllerCompat.TransportControls controls = mediaController.getTransportControls();

            if (state == null) {
                return;
            }

            for (PlaybackStateCompat.CustomAction action : state.getCustomActions()) {
                switch (action.getAction()) {
                case MediaService.STATE_SHUFFLE_ON:
                    controls.sendCustomAction(MediaService.STATE_SHUFFLE_ON, null);
                    break;

                case MediaService.STATE_SHUFFLE_OFF:
                    controls.sendCustomAction(MediaService.STATE_SHUFFLE_OFF, null);
                    break;
                }
            }

            updatePlaybackState(state);
        }
    });

    repeat.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            PlaybackStateCompat state = mediaController.getPlaybackState();
            MediaControllerCompat.TransportControls controls = mediaController.getTransportControls();

            if (state == null) {
                return;
            }

            for (PlaybackStateCompat.CustomAction action : state.getCustomActions()) {
                switch (action.getAction()) {
                case MediaService.STATE_REPEAT_NONE:
                case MediaService.STATE_REPEAT_ALL:
                case MediaService.STATE_REPEAT_ONE:
                    controls.sendCustomAction(action.getAction(), null);
                    break;
                }
            }

            updatePlaybackState(state);
        }
    });

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

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

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

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

    mediaBrowser = new MediaBrowserCompat(this, new ComponentName(this, MediaService.class), connectionCallback,
            null);
}

From source file:org.runbuddy.tomahawk.views.PlaybackPanel.java

public void setup(final boolean isPanelExpanded) {
    mInitialized = true;/* w  ww.ja  va 2  s.c  o m*/

    mPlayPauseButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if (mMediaController != null) {
                int playState = mMediaController.getPlaybackState().getState();
                if (playState == PlaybackStateCompat.STATE_PAUSED
                        || playState == PlaybackStateCompat.STATE_NONE) {
                    mMediaController.getTransportControls().play();
                } else if (playState == PlaybackStateCompat.STATE_PLAYING) {
                    mMediaController.getTransportControls().pause();
                    mMediaController.getTransportControls()
                            .sendCustomAction(PlaybackService.ACTION_STOP_NOTIFICATION, null);
                }
            }
        }
    });

    mPlayPauseButton.setOnLongClickListener(new OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            PreferenceUtils.edit().putBoolean(PreferenceUtils.COACHMARK_SEEK_DISABLED, true).apply();
            View coachMark = ViewUtils.ensureInflation(PlaybackPanel.this,
                    R.id.playbackpanel_seek_coachmark_stub, R.id.playbackpanel_seek_coachmark);
            coachMark.setVisibility(GONE);
            if (!isPanelExpanded || getResources().getBoolean(R.bool.is_landscape)) {
                AnimationUtils.fade(mTextViewContainer, AnimationUtils.DURATION_PLAYBACKSEEKMODE, false, true);
            }
            AnimationUtils.fade(mPlayPauseButtonContainer, AnimationUtils.DURATION_PLAYBACKSEEKMODE, false,
                    true);
            AnimationUtils.fade(mResolverImageView, AnimationUtils.DURATION_PLAYBACKSEEKMODE, false, true);
            AnimationUtils.fade(mCompletionTimeTextView, AnimationUtils.DURATION_PLAYBACKSEEKMODE, false, true);
            AnimationUtils.fade(mProgressBarThumb, AnimationUtils.DURATION_PLAYBACKSEEKMODE, true, true);
            AnimationUtils.fade(mCurrentTimeTextView, AnimationUtils.DURATION_PLAYBACKSEEKMODE, true, true);
            AnimationUtils.fade(mSeekTimeTextView, AnimationUtils.DURATION_PLAYBACKSEEKMODE, true, true);
            AnimationUtils.fade(mProgressBar, AnimationUtils.DURATION_PLAYBACKSEEKMODE, true, true);

            mPlayPauseButton.setOnTouchListener(new OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    if (event.getAction() == MotionEvent.ACTION_UP) {
                        if (!isPanelExpanded || getResources().getBoolean(R.bool.is_landscape)) {
                            AnimationUtils.fade(mTextViewContainer, AnimationUtils.DURATION_PLAYBACKSEEKMODE,
                                    true, true);
                        }
                        AnimationUtils.fade(mPlayPauseButtonContainer, AnimationUtils.DURATION_PLAYBACKSEEKMODE,
                                true, true);
                        AnimationUtils.fade(mResolverImageView, AnimationUtils.DURATION_PLAYBACKSEEKMODE, true,
                                true);
                        AnimationUtils.fade(mCompletionTimeTextView, AnimationUtils.DURATION_PLAYBACKSEEKMODE,
                                true, true);
                        AnimationUtils.fade(mProgressBarThumb, AnimationUtils.DURATION_PLAYBACKSEEKMODE, false,
                                true);
                        AnimationUtils.fade(mCurrentTimeTextView, AnimationUtils.DURATION_PLAYBACKSEEKMODE,
                                false, true);
                        AnimationUtils.fade(mSeekTimeTextView, AnimationUtils.DURATION_PLAYBACKSEEKMODE, false,
                                true);
                        AnimationUtils.fade(mProgressBar, AnimationUtils.DURATION_PLAYBACKSEEKMODE, false,
                                true);
                        mPlayPauseButton.setOnTouchListener(null);
                        if (!mAbortSeeking) {
                            int seekTime = (int) ((mLastThumbPosition - mProgressBar.getX())
                                    / mProgressBar.getWidth() * mCurrentDuration);
                            mMediaController.getTransportControls().seekTo(seekTime);
                        }
                    } else if (event.getAction() == MotionEvent.ACTION_MOVE) {
                        float eventX = event.getX();
                        float progressBarX = mProgressBar.getX();
                        float finalX;
                        if (eventX > mProgressBar.getWidth() + progressBarX) {
                            // Only fade out thumb if eventX is above the threshold
                            int threshold = getResources()
                                    .getDimensionPixelSize(R.dimen.playback_panel_seekbar_threshold_end);
                            mAbortSeeking = eventX > mProgressBar.getWidth() + progressBarX + threshold;
                            finalX = mProgressBar.getWidth() + progressBarX;
                        } else if (eventX < progressBarX) {
                            // Only fade out thumb if eventX is below the threshold
                            int threshold = getResources()
                                    .getDimensionPixelSize(R.dimen.playback_panel_seekbar_threshold_start);
                            mAbortSeeking = eventX < progressBarX - threshold;
                            finalX = progressBarX;
                        } else {
                            mAbortSeeking = false;
                            finalX = eventX;
                        }
                        if (mAbortSeeking) {
                            AnimationUtils.fade(mProgressBarThumb,
                                    AnimationUtils.DURATION_PLAYBACKSEEKMODE_ABORT, false, true);
                        } else {
                            AnimationUtils.fade(mProgressBarThumb,
                                    AnimationUtils.DURATION_PLAYBACKSEEKMODE_ABORT, true, true);
                        }
                        mLastThumbPosition = finalX;
                        mProgressBarThumb.setX(finalX);
                        int seekTime = (int) ((finalX - mProgressBar.getX()) / mProgressBar.getWidth()
                                * mCurrentDuration);
                        mSeekTimeTextView.setText(ViewUtils.durationToString(seekTime));
                    }
                    return false;
                }
            });
            return true;
        }
    });

    setupAnimations();
}

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

@Override
public void pause() {
    Timber.d("pause");
    if (state == PlaybackStateCompat.STATE_PLAYING) {
        // Pause ExoPlayer and cancel the 'foreground service' state.
        if (exoPlayer != null && exoPlayer.getPlayWhenReady()) {
            exoPlayer.setPlayWhenReady(false);
            currentPosition = exoPlayer.getCurrentPosition();
        }/*from  w  ww  . j  a  v a  2s.  c  o m*/
        // while paused, retain ExoPlayer but give up audio focus
        relaxResources(false);
    }
    state = PlaybackStateCompat.STATE_PAUSED;
    if (callback != null) {
        callback.onPlaybackStatusChanged();
    }
    unregisterAudioNoisyReceiver();
}

From source file:com.pi.android.brainbeats.ui.PlaybackControlsFragment.java

private void onPlaybackStateChanged(PlaybackStateCompat state) {
    LogHelper.d(TAG, "onPlaybackStateChanged ", state);
    if (getActivity() == null) {
        LogHelper.w(TAG, "onPlaybackStateChanged called when getActivity null,"
                + "this should not happen if the callback was properly unregistered. Ignoring.");
        return;//from   w  ww .  j  av a  2 s.  c  o m
    }
    if (state == null) {
        return;
    }
    boolean enablePlay = false;
    switch (state.getState()) {
    case PlaybackStateCompat.STATE_PAUSED:
    case PlaybackStateCompat.STATE_STOPPED:
        enablePlay = true;
        break;
    case PlaybackStateCompat.STATE_ERROR:
        LogHelper.e(TAG, "error playbackstate: ", state.getErrorMessage());
        Toast.makeText(getActivity(), state.getErrorMessage(), Toast.LENGTH_LONG).show();
        break;
    }

    if (enablePlay) {
        mPlayPause.setImageDrawable(
                ContextCompat.getDrawable(getActivity(), R.drawable.ic_play_arrow_black_36dp));
    } else {
        mPlayPause.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.ic_pause_black_36dp));
    }

    MediaControllerCompat controller = ((FragmentActivity) getActivity()).getSupportMediaController();
    String extraInfo = null;
    if (controller != null && controller.getExtras() != null) {
        String castName = controller.getExtras().getString(MusicService.EXTRA_CONNECTED_CAST);
        if (castName != null) {
            extraInfo = getResources().getString(R.string.casting_to_device, castName);
        }
    }
    final MediaMetadataCompat metadata = controller.getMetadata();
    if (metadata != null) {
        updateTags(metadata);
    }
    setExtraInfo(extraInfo);
}

From source file:com.example.android.mediabrowserservice.Playback.java

public void pause() {
    if (mState == PlaybackStateCompat.STATE_PLAYING) {
        // Pause media player and cancel the 'foreground service' state.
        if (mMediaPlayer != null && mMediaPlayer.isPlaying()) {
            mMediaPlayer.pause();//w ww.j a  va  2s .  c om
            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:com.murati.oszk.audiobook.ui.FullScreenPlayerActivity.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_full_player);
    initializeToolbar();//  ww  w .  j  av a 2s .  c  o  m
    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);
    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) {
            MediaControllerCompat.TransportControls controls = MediaControllerCompat
                    .getMediaController(FullScreenPlayerActivity.this).getTransportControls();
            controls.skipToNext();
        }
    });

    mSkipPrev.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            MediaControllerCompat.TransportControls controls = MediaControllerCompat
                    .getMediaController(FullScreenPlayerActivity.this).getTransportControls();
            controls.skipToPrevious();
        }
    });

    mPlayPause.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            PlaybackStateCompat state = MediaControllerCompat.getMediaController(FullScreenPlayerActivity.this)
                    .getPlaybackState();
            if (state != null) {
                MediaControllerCompat.TransportControls controls = MediaControllerCompat
                        .getMediaController(FullScreenPlayerActivity.this).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) {
            MediaControllerCompat.getMediaController(FullScreenPlayerActivity.this).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.bayapps.android.robophish.playback.LocalPlayback.java

@Override
public void play(QueueItem item) {

    //we never call this if we're auto-queued due to gapless
    if (mMediaPlayersSwapping) {
        mMediaPlayersSwapping = false;//  w  w w  .  j  ava2s. c o  m
    }

    mPlayOnFocusGain = true;
    tryToGetAudioFocus();
    registerAudioNoisyReceiver();
    String mediaId = item.getDescription().getMediaId();
    boolean mediaHasChanged = !TextUtils.equals(mediaId, mCurrentMediaId);
    if (mediaHasChanged) {
        mCurrentPosition = 0;
        mCurrentMediaId = mediaId;
    }

    if (mState == PlaybackStateCompat.STATE_PAUSED && !mediaHasChanged && mMediaPlayer != null) {
        configMediaPlayerState();
    } else {
        mState = PlaybackStateCompat.STATE_STOPPED;
        relaxResources(false); // release everything except MediaPlayer
        MediaMetadataCompat track = mMusicProvider
                .getMusic(MediaIDHelper.extractMusicIDFromMediaID(item.getDescription().getMediaId()));

        //noinspection ResourceType
        String source = track.getString(MusicProviderSource.CUSTOM_METADATA_TRACK_SOURCE);

        try {
            createMediaPlayerIfNeeded();

            mState = PlaybackStateCompat.STATE_BUFFERING;

            mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
            mMediaPlayer.setDataSource(source);

            // Starts preparing the media player in the background. When
            // it's done, it will call our OnPreparedListener (that is,
            // the onPrepared() method on this class, since we set the
            // listener to 'this'). Until the media player is prepared,
            // we *cannot* call start() on it!
            mMediaPlayer.prepareAsync();

            // If we are streaming from the internet, we want to hold a
            // Wifi lock, which prevents the Wifi radio from going to
            // sleep while the song is playing.
            mWifiLock.acquire();

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

        } catch (IOException ex) {
            LogHelper.e(TAG, ex, "Exception playing song");
            if (mCallback != null) {
                mCallback.onError(ex.getMessage());
            }
        }
    }
}

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();// w ww  .j  a v a 2s.  co  m
    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.example.android.uamp.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();//  w w  w.j a v  a2 s  . co  m
            mCurrentPosition = mMediaPlayer.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: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 ww  .  ja v  a 2  s  .  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);
    }
}