public MediaControllerCompat.TransportControls getTransportControls() { if (mMediaController == null) { Log.d(TAG, "getTransportControls: MediaController is null!"); throw new IllegalStateException("MediaController is null!"); } return mMediaController.getTransportControls(); }
@Override public void stop() { // stop the stream (method required by AudioFocusAwarePlayer) mController.getTransportControls().pause(); }
@Override public void onPageSelected(int position) { if (mMediaController != null) { if (position == mLastItem - 1) { Log.d(TAG, "Selected page is now " + position + ", was " + mLastItem + ". Skipping to previous track."); mMediaController.getTransportControls().skipToPrevious(); } else if (position == mLastItem + 1) { Log.d(TAG, "Selected page is now " + position + ", was " + mLastItem + ". Skipping to next track."); mMediaController.getTransportControls().skipToNext(); } } else { Log.e(TAG, "Couldn't skip to next/previous track. mMediaController is null"); } }
@Override public void onReceive(Context context, Intent intent) { if (AudioManager.ACTION_AUDIO_BECOMING_NOISY.equals(intent.getAction())) { // AudioManager tells us that the sound will be played through the speaker Log.d(TAG, "Action audio becoming noisy, pausing ..."); // So we stop playback, if needed mMediaSession.getController().getTransportControls().pause(); } } }
@Override public void onReceive(Context context, Intent intent) { if (mStation.getPlaybackState() != PLAYBACK_STATE_STOPPED && AudioManager.ACTION_AUDIO_BECOMING_NOISY.equals(intent.getAction())) { LogHelper.v(LOG_TAG, "Headphones unplugged. Stopping playback."); // stop playback mController.getTransportControls().pause(); // notify user Toast.makeText(context, context.getString(R.string.toastalert_headphones_unplugged), Toast.LENGTH_LONG).show(); } } }
@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); } } } });
@Override public void onClick(View v) { Bundle extras = new Bundle(); extras.putString(TomahawkFragment.PLAYLISTENTRY, entry.getCacheKey()); mActivity.getSupportMediaController().getTransportControls() .sendCustomAction( PlaybackService.ACTION_DELETE_ENTRY_IN_QUEUE, extras); } };
@Override public void onStopTrackingTouch(SeekBar seekBar) { mMediaController.getTransportControls().seekTo(getProgress()); mIsTracking = false; } };
/** * Override to handle requests to begin playback from a search query. An * empty query indicates that the app may play any music. The * implementation should attempt to make a smart choice about what to * play. */ public void onPlayFromSearch(String query, Bundle extras) { Log.d(TAG, "onPlayFromSearch: " + query + ", " + extras); MediaPlayIntentHandler intentHandler = new MediaPlayIntentHandler( mMediaSession.getController().getTransportControls(), mPlaybackManager); intentHandler.mediaPlayFromSearch(extras); }
@Override public int onStartCommand(Intent intent, int flags, int startId) { if (intent != null && ACTION_STOP_NOTIFICATION.equals(intent.getAction())) { mMediaSession.getController().getTransportControls().pause(); mNotification.stopNotification(); } else { MediaButtonReceiver.handleIntent(mMediaSession, intent); } return START_STICKY; }
@Override protected void onChildrenLoaded(@NonNull String parentId, @NonNull List<MediaBrowserCompat.MediaItem> children) { super.onChildrenLoaded(parentId, children); final MediaControllerCompat mediaController = getMediaController(); // Queue up all media items for this simple sample. for (final MediaBrowserCompat.MediaItem mediaItem : children) { mediaController.addQueueItem(mediaItem.getDescription()); } // Call prepare now so pressing play just works. mediaController.getTransportControls().prepare(); } }
/** * Called when the shuffle button is clicked. */ public void onShuffleClicked() { if (getMediaController() == null) { Log.e(TAG, "onShuffleClicked failed because getMediaController() is null"); return; } Bundle playbackStateExtras = getMediaController().getPlaybackState().getExtras(); if (playbackStateExtras != null) { int shuffleMode = playbackStateExtras.getInt(PlaybackService.EXTRAS_KEY_SHUFFLE_MODE); int newShuffleMode = shuffleMode == PlaybackManager.SHUFFLED ? PlaybackManager.NOT_SHUFFLED : PlaybackManager.SHUFFLED; Bundle extras = new Bundle(); extras.putInt(PlaybackService.EXTRAS_KEY_SHUFFLE_MODE, newShuffleMode); getMediaController().getTransportControls() .sendCustomAction(PlaybackService.ACTION_SET_SHUFFLE_MODE, extras); } }
@Override public void onDone(Playlist topHits) { getPlaybackManager().setPlaylist(topHits, entry); getMediaController().getTransportControls().play(); } });
@Override public void onDone(Playlist topHits) { getPlaybackManager().setPlaylist(topHits, entry); getMediaController().getTransportControls().play(); } });
public PrimaryPlaybackControlsGlue( Context context, T adapter, MediaControllerCompat mediaController) { super(context, adapter); mMediaSessionTransportControls = mediaController.getTransportControls(); mSkipPreviousAction = new PlaybackControlsRow.SkipPreviousAction(context); mSkipNextAction = new PlaybackControlsRow.SkipNextAction(context); mFastForwardAction = new PlaybackControlsRow.FastForwardAction(context); mRewindAction = new PlaybackControlsRow.RewindAction(context); }
@Override public void onClick(View v) { if (getMediaController() != null) { List<Pair<Artist, String>> artists = new ArrayList<>(); artists.add(new Pair<>((Artist) item, "")); StationPlaylist stationPlaylist = StationPlaylist.get(artists, null, null); if (stationPlaylist != getPlaybackManager().getPlaylist()) { getPlaybackManager().setPlaylist(stationPlaylist); getMediaController().getTransportControls().play(); } } } });
@Override public void onClick(View v) { if (getMediaController() != null) { List<Pair<Artist, String>> artists = new ArrayList<>(); artists.add(new Pair<>(((Album) item).getArtist(), "")); StationPlaylist stationPlaylist = StationPlaylist.get(artists, null, null); if (stationPlaylist != getPlaybackManager().getPlaylist()) { getPlaybackManager().setPlaylist(stationPlaylist); getMediaController().getTransportControls().play(); } } } });
private void updateSessionToken() throws RemoteException { MediaSessionCompat.Token freshToken = mService.getSessionToken(); if (mSessionToken == null && freshToken != null || mSessionToken != null && !mSessionToken.equals(freshToken)) { if (mController != null) { mController.unregisterCallback(mCb); } mSessionToken = freshToken; if (mSessionToken != null) { mController = new MediaControllerCompat(mService, mSessionToken); mTransportControls = mController.getTransportControls(); if (mStarted) { mController.registerCallback(mCb); } } } }
private void updateSessionToken() throws RemoteException { MediaSessionCompat.Token freshToken = mService.getSessionToken(); if (mSessionToken == null && freshToken != null || mSessionToken != null && !mSessionToken.equals(freshToken)) { if (mController != null) { mController.unregisterCallback(mCb); } mSessionToken = freshToken; if (mSessionToken != null) { mController = new MediaControllerCompat(mService, mSessionToken); mTransportControls = mController.getTransportControls(); if (mStarted) { mController.registerCallback(mCb); } } } }
@Override public void onClick(View v) { if (getMediaController() != null) { StationPlaylist stationPlaylist = StationPlaylist.get((Playlist) item); if (stationPlaylist != getPlaybackManager().getPlaylist()) { getPlaybackManager().setPlaylist(stationPlaylist); getMediaController().getTransportControls().play(); } } } });