List of usage examples for android.support.v4.media.session PlaybackStateCompat STATE_PLAYING
int STATE_PLAYING
To view the source code for android.support.v4.media.session PlaybackStateCompat STATE_PLAYING.
Click Source Link
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; }