List of usage examples for android.support.v4.media.session PlaybackStateCompat STATE_STOPPED
int STATE_STOPPED
To view the source code for android.support.v4.media.session PlaybackStateCompat STATE_STOPPED.
Click Source Link
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;//from ww w. j a v a 2 s . c om } 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();//from ww w . jav 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:net.simno.klingar.ui.BrowserController.java
private void observePlayback() { disposables.add(musicController.state().compose(bindUntilEvent(DETACH)).compose(rx.flowableSchedulers()) .subscribe(state -> {// w ww. j a va 2s. c om switch (state) { case PlaybackStateCompat.STATE_ERROR: case PlaybackStateCompat.STATE_NONE: case PlaybackStateCompat.STATE_STOPPED: for (Router router : getChildRouters()) { removeChildRouter(router); } break; default: Router miniplayerRouter = getChildRouter(miniplayerContainer); if (!miniplayerRouter.hasRootController()) { miniplayerRouter.setRoot(RouterTransaction.with(new MiniPlayerController(null))); } } }, Rx::onError)); }
From source file:nuclei.media.playback.ExoPlayerPlayback.java
@Override protected void internalPlay(MediaMetadata metadataCompat, Timing timing, boolean seek) { mPlayOnFocusGain = true;/*w w w .j a va 2 s . c o m*/ tryToGetAudioFocus(); registerAudioNoisyReceiver(); boolean mediaHasChanged = mCurrentMediaId == null || !TextUtils.equals(metadataCompat.getDescription().getMediaId(), mCurrentMediaId.toString()); if (mediaHasChanged || mRestart) { mRestart = false; mCurrentPosition = getStartStreamPosition(); mMediaMetadata = metadataCompat; mMediaMetadata.setCallback(mCallback); mCurrentMediaId = MediaProvider.getInstance().getMediaId(metadataCompat.getDescription().getMediaId()); } mPlayWhenReady = true; if (mState == PlaybackStateCompat.STATE_PAUSED && !mediaHasChanged && mMediaPlayer != null) { if (!mWakeLock.isHeld()) mWakeLock.acquire(); if (!mWifiLock.isHeld()) mWifiLock.acquire(); configMediaPlayerState(false, true); } else { mState = mMediaPlayer != null ? mState == PlaybackStateCompat.STATE_STOPPED ? PlaybackStateCompat.STATE_STOPPED : PlaybackStateCompat.STATE_PAUSED : PlaybackStateCompat.STATE_STOPPED; relaxResources(false); // release everything except MediaPlayer setTrack(metadataCompat); } if (timing != null && seek) internalSeekTo(timing.start); }
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 w w. java 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.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 w w . 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.example.android.AudioArchive.ui.FullScreenPlayerActivity.java
private void updatePlaybackState(PlaybackStateCompat state) { if (state == null) { return;//from w w w. j ava 2s . com } if (getSupportMediaController() != null && getSupportMediaController().getExtras() != null) { String castName = getSupportMediaController().getExtras().getString(MusicService.EXTRA_CONNECTED_CAST); String line3Text = castName == null ? "" : getResources().getString(R.string.casting_to_device, castName); mLine3.setText(line3Text); } switch (state.getState()) { case PlaybackStateCompat.STATE_PLAYING: mLoading.setVisibility(INVISIBLE); mPlayPause.setVisibility(VISIBLE); mPlayPause.setImageDrawable(mPauseDrawable); mControllers.setVisibility(VISIBLE); break; case PlaybackStateCompat.STATE_PAUSED: mControllers.setVisibility(VISIBLE); mLoading.setVisibility(INVISIBLE); mPlayPause.setVisibility(VISIBLE); mPlayPause.setImageDrawable(mPlayDrawable); break; case PlaybackStateCompat.STATE_NONE: case PlaybackStateCompat.STATE_STOPPED: mLoading.setVisibility(INVISIBLE); mPlayPause.setVisibility(VISIBLE); mPlayPause.setImageDrawable(mPlayDrawable); break; case PlaybackStateCompat.STATE_BUFFERING: mPlayPause.setVisibility(INVISIBLE); mLoading.setVisibility(VISIBLE); mLine3.setText(R.string.loading); break; default: LogHelper.d(TAG, "Unhandled state ", state.getState()); } mSkipNext.setVisibility( (state.getActions() & PlaybackStateCompat.ACTION_SKIP_TO_NEXT) == 0 ? INVISIBLE : VISIBLE); mSkipPrev.setVisibility( (state.getActions() & PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS) == 0 ? INVISIBLE : VISIBLE); }
From source file:com.mylovemhz.simplay.MusicService.java
public void stop() { Log.d(TAG_MUSIC_SERVICE, "stop()"); if (currentState == State.STARTED || currentState == State.PAUSED || currentState == State.PREPARED || currentState == State.COMPLETED) { mediaPlayer.stop();// ww w .j a va 2 s.c om currentState = State.STOPPED; updateSessionState(PlaybackStateCompat.STATE_STOPPED); currentTrackIndex = 0; trackQueue = new ArrayList<>(); removeNotification(); if (wifiLock.isHeld()) { wifiLock.release(); } if (callbacks != null) callbacks.onPlaybackStopped(); } }
From source file:info.tongrenlu.FullScreenPlayerActivity.java
private void updatePlaybackState(PlaybackStateCompat state) { if (state == null) { return;// w w w . j av a2 s.co m } Log.d(TAG, "updatePlaybackState, playback state=" + state.getState()); mLastPlaybackState = state; mLine3.setText(""); switch (state.getState()) { case PlaybackStateCompat.STATE_PLAYING: mLoading.setVisibility(View.INVISIBLE); mPlayPause.setVisibility(View.VISIBLE); // mPlayPause.setImageDrawable(mPauseDrawable); Glide.with(this).load(R.drawable.ic_pause_white_48dp).into(mPlayPause); mControllers.setVisibility(View.VISIBLE); scheduleProgressUpdate(); break; case PlaybackStateCompat.STATE_PAUSED: mControllers.setVisibility(View.VISIBLE); mLoading.setVisibility(View.INVISIBLE); mPlayPause.setVisibility(View.VISIBLE); // mPlayPause.setImageDrawable(mPlayDrawable); Glide.with(this).load(R.drawable.ic_play_arrow_white_48dp).into(mPlayPause); stopProgressUpdate(); break; case PlaybackStateCompat.STATE_NONE: case PlaybackStateCompat.STATE_STOPPED: mLoading.setVisibility(View.INVISIBLE); mPlayPause.setVisibility(View.VISIBLE); Glide.with(this).load(R.drawable.ic_play_arrow_white_48dp).into(mPlayPause); stopProgressUpdate(); break; case PlaybackStateCompat.STATE_BUFFERING: mPlayPause.setVisibility(View.INVISIBLE); mLoading.setVisibility(View.VISIBLE); mLine3.setText(R.string.loading); stopProgressUpdate(); break; default: Log.d(TAG, "Unhandled state " + state.getState()); } mSkipNext.setVisibility((state.getActions() & PlaybackStateCompat.ACTION_SKIP_TO_NEXT) == 0 ? View.INVISIBLE : View.VISIBLE); mSkipPrev.setVisibility( (state.getActions() & PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS) == 0 ? View.INVISIBLE : View.VISIBLE); }
From source file:com.mylovemhz.simplay.MusicService.java
public void next() { if (hasNext()) { if (currentState == State.STARTED || currentState == State.PAUSED) { mediaPlayer.stop();//from w ww. j a v a 2s . c o m currentState = State.STOPPED; updateSessionState(PlaybackStateCompat.STATE_STOPPED); } if (currentState == State.STOPPED || currentState == State.COMPLETED) { mediaPlayer.reset(); currentState = State.IDLE; updateSessionState(PlaybackStateCompat.STATE_STOPPED); showNotification(); } if (currentState == State.IDLE) { try { updateSessionState(PlaybackStateCompat.STATE_SKIPPING_TO_NEXT); currentTrackIndex++; cueTrack(); } catch (Exception e) { stop(); } } } }