Java Code Examples for android.support.v4.media.session.PlaybackStateCompat#ACTION_PAUSE
The following examples show how to use
android.support.v4.media.session.PlaybackStateCompat#ACTION_PAUSE .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TtsService.java From android-app with GNU General Public License v3.0 | 6 votes |
private void setMediaSessionPlaybackState() { if (mediaSession == null) return; long position = PlaybackStateCompat.PLAYBACK_POSITION_UNKNOWN; if (textInterface != null) { position = textInterface.getTime(); } long actions = ALWAYS_AVAILABLE_PLAYBACK_ACTIONS | (state != State.PLAYING ? PlaybackStateCompat.ACTION_PLAY : PlaybackStateCompat.ACTION_PAUSE); PlaybackStateCompat playbackState = playbackStateBuilder .setActions(actions) .setState(state.playbackState, position, state == State.PLAYING ? speed : 0) .build(); mediaSession.setPlaybackState(playbackState); }
Example 2
Source File: RemoteControlClientLP.java From Popeens-DSub with GNU General Public License v3.0 | 6 votes |
protected long getPlaybackActions(boolean isSong, int currentIndex, int size) { long actions = PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_PAUSE | PlaybackStateCompat.ACTION_SEEK_TO | PlaybackStateCompat.ACTION_SKIP_TO_QUEUE_ITEM; if(isSong) { if (currentIndex > 0) { actions |= PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS; } if (currentIndex < size - 1) { actions |= PlaybackStateCompat.ACTION_SKIP_TO_NEXT; } } else { actions |= PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS; actions |= PlaybackStateCompat.ACTION_SKIP_TO_NEXT; } return actions; }
Example 3
Source File: MusicService.java From LyricHere with Apache License 2.0 | 6 votes |
private long getAvailableActions() { long actions = PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID | PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH; if (mPlayingQueue == null || mPlayingQueue.isEmpty()) { return actions; } if (mPlayback.isPlaying()) { actions |= PlaybackStateCompat.ACTION_PAUSE; } if (mCurrentIndexOnQueue > 0) { actions |= PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS; } if (mCurrentIndexOnQueue < mPlayingQueue.size() - 1) { actions |= PlaybackStateCompat.ACTION_SKIP_TO_NEXT; } return actions; }
Example 4
Source File: PlaybackManager.java From Melophile with Apache License 2.0 | 6 votes |
private long getAvailableActions() { long actions = PlaybackStateCompat.ACTION_PLAY_PAUSE | PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID | PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS | PlaybackStateCompat.ACTION_SKIP_TO_NEXT; if (playback.isPlaying()) { actions |= PlaybackStateCompat.ACTION_PAUSE; } else { actions |= PlaybackStateCompat.ACTION_PLAY; } // if (isRepeat) { actions |= PlaybackStateCompat.ACTION_SET_REPEAT_MODE; } // if (isShuffle) { actions |= PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE_ENABLED; } return actions; }
Example 5
Source File: MusicControlNotification.java From react-native-music-control with MIT License | 6 votes |
/** * Code taken from newer version of the support library located in PlaybackStateCompat.toKeyCode * Replace this to PlaybackStateCompat.toKeyCode when React Native updates the support library */ private int toKeyCode(long action) { if (action == PlaybackStateCompat.ACTION_PLAY) { return KeyEvent.KEYCODE_MEDIA_PLAY; } else if (action == PlaybackStateCompat.ACTION_PAUSE) { return KeyEvent.KEYCODE_MEDIA_PAUSE; } else if (action == PlaybackStateCompat.ACTION_SKIP_TO_NEXT) { return KeyEvent.KEYCODE_MEDIA_NEXT; } else if (action == PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS) { return KeyEvent.KEYCODE_MEDIA_PREVIOUS; } else if (action == PlaybackStateCompat.ACTION_STOP) { return KeyEvent.KEYCODE_MEDIA_STOP; } else if (action == PlaybackStateCompat.ACTION_FAST_FORWARD) { return KeyEvent.KEYCODE_MEDIA_FAST_FORWARD; } else if (action == PlaybackStateCompat.ACTION_REWIND) { return KeyEvent.KEYCODE_MEDIA_REWIND; } else if (action == PlaybackStateCompat.ACTION_PLAY_PAUSE) { return KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE; } return KeyEvent.KEYCODE_UNKNOWN; }
Example 6
Source File: MediaPlayerAdapter.java From android-MediaBrowserService with Apache License 2.0 | 5 votes |
/** * Set the current capabilities available on this session. Note: If a capability is not * listed in the bitmask of capabilities then the MediaSession will not handle it. For * example, if you don't want ACTION_STOP to be handled by the MediaSession, then don't * included it in the bitmask that's returned. */ @PlaybackStateCompat.Actions private long getAvailableActions() { long actions = PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID | PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH | PlaybackStateCompat.ACTION_SKIP_TO_NEXT | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS; switch (mState) { case PlaybackStateCompat.STATE_STOPPED: actions |= PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_PAUSE; break; case PlaybackStateCompat.STATE_PLAYING: actions |= PlaybackStateCompat.ACTION_STOP | PlaybackStateCompat.ACTION_PAUSE | PlaybackStateCompat.ACTION_SEEK_TO; break; case PlaybackStateCompat.STATE_PAUSED: actions |= PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_STOP; break; default: actions |= PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_PLAY_PAUSE | PlaybackStateCompat.ACTION_STOP | PlaybackStateCompat.ACTION_PAUSE; } return actions; }
Example 7
Source File: MediaController.java From 365browser with Apache License 2.0 | 5 votes |
/** * Disable pause or seek buttons if the stream cannot be paused or seeked. * This requires the control interface to be a MediaPlayerControlExt */ void updateButtons() { if (mDelegate == null) return; long flags = mDelegate.getActionFlags(); boolean enabled = isEnabled(); if (mPauseButton != null) { boolean needPlayPauseButton = (flags & PlaybackStateCompat.ACTION_PLAY) != 0 || (flags & PlaybackStateCompat.ACTION_PAUSE) != 0; mPauseButton.setEnabled(enabled && needPlayPauseButton); } if (mRewButton != null) { mRewButton.setEnabled(enabled && (flags & PlaybackStateCompat.ACTION_REWIND) != 0); } if (mFfwdButton != null) { mFfwdButton.setEnabled( enabled && (flags & PlaybackStateCompat.ACTION_FAST_FORWARD) != 0); } if (mPrevButton != null) { mShowPrev = (flags & PlaybackStateCompat.ACTION_SKIP_TO_NEXT) != 0 || mPrevListener != null; mPrevButton.setEnabled(enabled && mShowPrev); } if (mNextButton != null) { mShowNext = (flags & PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS) != 0 || mNextListener != null; mNextButton.setEnabled(enabled && mShowNext); } }
Example 8
Source File: ExpandedControllerActivity.java From 365browser with Apache License 2.0 | 5 votes |
@Override public long getActionFlags() { long flags = PlaybackStateCompat.ACTION_REWIND | PlaybackStateCompat.ACTION_FAST_FORWARD; if (mMediaRouteController != null && mMediaRouteController.isPlaying()) { flags |= PlaybackStateCompat.ACTION_PAUSE; } else { flags |= PlaybackStateCompat.ACTION_PLAY; } return flags; }
Example 9
Source File: PlaybackManager.java From klingar with Apache License 2.0 | 5 votes |
private long getAvailableActions() { long actions = PlaybackStateCompat.ACTION_PLAY_PAUSE | PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID | PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS | PlaybackStateCompat.ACTION_SKIP_TO_NEXT; if (playback.isPlaying()) { actions |= PlaybackStateCompat.ACTION_PAUSE; } else { actions |= PlaybackStateCompat.ACTION_PLAY; } return actions; }
Example 10
Source File: AudioPlayerService.java From react-native-streaming-audio-player with MIT License | 5 votes |
/** * Update the current media player state, optionally showing an error message. */ public void updatePlaybackState() { long position = PlaybackStateCompat.PLAYBACK_POSITION_UNKNOWN; if (mPlayback != null ) { position = mPlayback.getCurrentPosition(); } long actions = PlaybackStateCompat.ACTION_PLAY_PAUSE | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS | PlaybackStateCompat.ACTION_SKIP_TO_NEXT; if (mPlayback != null && mPlayback.isPlaying()) { actions |= PlaybackStateCompat.ACTION_PAUSE; } else { actions |= PlaybackStateCompat.ACTION_PLAY; } int state = mPlayback.getState(); //noinspection ResourceType PlaybackStateCompat.Builder stateBuilder = new PlaybackStateCompat.Builder() .setActions(actions) .setState(state, position, 1.0f, SystemClock.elapsedRealtime()); mMediaSession.setPlaybackState(stateBuilder.build()); Intent intent = new Intent("change-playback-state-event"); intent.putExtra("state", state); LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(intent); }
Example 11
Source File: VideoFragment.java From leanback-homescreen-channels with Apache License 2.0 | 5 votes |
@PlaybackStateCompat.Actions private long getAvailableActions() { long actions = PlaybackStateCompat.ACTION_PLAY_PAUSE | PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID | PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH; if (mMediaPlayerGlue.isPlaying()) { actions |= PlaybackStateCompat.ACTION_PAUSE; } else { actions |= PlaybackStateCompat.ACTION_PLAY; } return actions; }
Example 12
Source File: AudioPlayerService.java From react-native-audio-streaming-player with MIT License | 5 votes |
/** * Update the current media player state, optionally showing an error message. */ public void updatePlaybackState() { long position = PlaybackStateCompat.PLAYBACK_POSITION_UNKNOWN; if (mPlayback != null ) { position = mPlayback.getCurrentPosition(); } long actions = PlaybackStateCompat.ACTION_PLAY_PAUSE | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS | PlaybackStateCompat.ACTION_SKIP_TO_NEXT; if (mPlayback != null && mPlayback.isPlaying()) { actions |= PlaybackStateCompat.ACTION_PAUSE; } else { actions |= PlaybackStateCompat.ACTION_PLAY; } int state = mPlayback.getState(); //noinspection ResourceType PlaybackStateCompat.Builder stateBuilder = new PlaybackStateCompat.Builder() .setActions(actions) .setState(state, position, 1.0f, SystemClock.elapsedRealtime()); mMediaSession.setPlaybackState(stateBuilder.build()); Intent intent = new Intent("change-playback-state-event"); intent.putExtra("state", state); LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(intent); }
Example 13
Source File: MediaSessionManager.java From react-native-jw-media-player with MIT License | 5 votes |
public @PlaybackStateCompat.Actions long getCapabilities(PlayerState playerState) { long capabilities = 0; switch (playerState) { case PLAYING: capabilities |= PlaybackStateCompat.ACTION_PAUSE | PlaybackStateCompat.ACTION_STOP | PlaybackStateCompat.ACTION_SEEK_TO; break; case PAUSED: capabilities |= PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_STOP | PlaybackStateCompat.ACTION_SEEK_TO; break; case BUFFERING: capabilities |= PlaybackStateCompat.ACTION_PAUSE | PlaybackStateCompat.ACTION_STOP | PlaybackStateCompat.ACTION_SEEK_TO; break; case IDLE: if (!mReceivedError && mPlaylist != null && mPlaylist.size() >= 1) { capabilities |= PlaybackStateCompat.ACTION_PLAY; } break; } if (mPlaylist != null && mPlaylist.size() - mPlaylistIndex > 1) { capabilities |= PlaybackStateCompat.ACTION_SKIP_TO_NEXT; } if (mPlaylistIndex > 0 && mPlaylist != null && mPlaylist.size() > 1) { capabilities |= PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS; } return capabilities; }
Example 14
Source File: MusicControlModule.java From react-native-music-control with MIT License | 4 votes |
@ReactMethod synchronized public void enableControl(String control, boolean enable, ReadableMap options) { init(); Map<String, Integer> skipOptions = new HashMap<String, Integer>(); long controlValue; switch(control) { case "skipForward": if (options.hasKey("interval")) skipOptions.put("skipForward", options.getInt("interval")); controlValue = PlaybackStateCompat.ACTION_FAST_FORWARD; break; case "skipBackward": if (options.hasKey("interval")) skipOptions.put("skipBackward", options.getInt("interval")); controlValue = PlaybackStateCompat.ACTION_REWIND; break; case "nextTrack": controlValue = PlaybackStateCompat.ACTION_SKIP_TO_NEXT; break; case "previousTrack": controlValue = PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS; break; case "play": controlValue = PlaybackStateCompat.ACTION_PLAY; break; case "pause": controlValue = PlaybackStateCompat.ACTION_PAUSE; break; case "togglePlayPause": controlValue = PlaybackStateCompat.ACTION_PLAY_PAUSE; break; case "stop": controlValue = PlaybackStateCompat.ACTION_STOP; break; case "seek": controlValue = PlaybackStateCompat.ACTION_SEEK_TO; break; case "setRating": controlValue = PlaybackStateCompat.ACTION_SET_RATING; break; case "volume": volume = volume.create(enable, null, null); if(remoteVolume) session.setPlaybackToRemote(volume); return; case "remoteVolume": remoteVolume = enable; if(enable) { session.setPlaybackToRemote(volume); } else { session.setPlaybackToLocal(AudioManager.STREAM_MUSIC); } return; case "closeNotification": if(enable) { if (options.hasKey("when")) { if ("always".equals(options.getString("when"))) { this.notificationClose = notificationClose.ALWAYS; }else if ("paused".equals(options.getString("when"))) { this.notificationClose = notificationClose.PAUSED; }else { this.notificationClose = notificationClose.NEVER; } } return; } default: // Unknown control type, let's just ignore it return; } if(enable) { controls |= controlValue; } else { controls &= ~controlValue; } notification.updateActions(controls, skipOptions); pb.setActions(controls); state = pb.build(); session.setPlaybackState(state); updateNotificationMediaStyle(); if(session.isActive()) { notification.show(nb, isPlaying); } }
Example 15
Source File: PlayerMediaPlayer.java From blade-player with GNU General Public License v3.0 | 4 votes |
public PlaybackStateCompat getPlaybackState() { long actions = PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID | PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH | PlaybackStateCompat.ACTION_SKIP_TO_NEXT | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS | PlaybackStateCompat.ACTION_SET_REPEAT_MODE | PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE; int playbackState = 0; switch(currentState) { case PLAYER_STATE_PAUSED: actions |= PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_STOP | PlaybackStateCompat.ACTION_SEEK_TO; playbackState = PlaybackStateCompat.STATE_PAUSED; break; case PLAYER_STATE_PLAYING: actions |= PlaybackStateCompat.ACTION_PAUSE | PlaybackStateCompat.ACTION_STOP | PlaybackStateCompat.ACTION_SEEK_TO; playbackState = PlaybackStateCompat.STATE_PLAYING; break; case PLAYER_STATE_STOPPED: actions |= PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_PAUSE; playbackState = PlaybackStateCompat.STATE_STOPPED; break; case PLAYER_STATE_NONE: actions |= PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_PAUSE; playbackState = PlaybackStateCompat.STATE_STOPPED; break; case PLAYER_STATE_DO_NOTHING: actions |= PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_PAUSE; playbackState = PlaybackStateCompat.STATE_STOPPED; } final PlaybackStateCompat.Builder stateBuilder = new PlaybackStateCompat.Builder(); stateBuilder.setActions(actions); stateBuilder.setState(playbackState, getCurrentPosition(), 1.0f, SystemClock.elapsedRealtime()); return stateBuilder.build(); }
Example 16
Source File: NotificationWrapper.java From react-native-jw-media-player with MIT License | 4 votes |
public Notification createNotification(Context context, MediaSessionCompat mediaSession, long capabilities ) { int appIcon = context.getResources().getIdentifier("ic_app_icon", "drawable", context.getPackageName()); // Media metadata MediaControllerCompat controller = mediaSession.getController(); MediaMetadataCompat mediaMetadata = controller.getMetadata(); MediaDescriptionCompat description = mediaMetadata.getDescription(); // Notification NotificationCompat.Builder builder = new NotificationCompat.Builder(context, NOTIFICATION_CHANNEL_ID); builder.setContentTitle(description.getTitle()) .setContentText(description.getSubtitle()) .setSubText(description.getDescription()) .setLargeIcon(description.getIconBitmap()) .setOnlyAlertOnce(true) .setStyle(new MediaStyle() .setMediaSession(mediaSession.getSessionToken()) .setShowActionsInCompactView(0)) .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) .setSmallIcon(appIcon > 0 ? appIcon : R.drawable.ic_jw_developer) .setDeleteIntent(getActionIntent(context, KeyEvent.KEYCODE_MEDIA_STOP)); // Attach actions to the notification. if ((capabilities & PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS) != 0) { builder.addAction(R.drawable.ic_previous, "Previous", getActionIntent(context, KeyEvent.KEYCODE_MEDIA_PREVIOUS)); } if ((capabilities & PlaybackStateCompat.ACTION_PAUSE) != 0) { builder.addAction(R.drawable.ic_pause, "Pause", getActionIntent(context, KeyEvent.KEYCODE_MEDIA_PAUSE)); } if ((capabilities & PlaybackStateCompat.ACTION_PLAY) != 0) { builder.addAction(R.drawable.ic_play, "Play", getActionIntent(context, KeyEvent.KEYCODE_MEDIA_PLAY) ); } if ((capabilities & PlaybackStateCompat.ACTION_SKIP_TO_NEXT) != 0) { builder.addAction(R.drawable.ic_next, "Next", getActionIntent(context, KeyEvent.KEYCODE_MEDIA_NEXT)); } // We want to resume the existing VideoActivity, over creating a new one. Intent intent = new Intent(context, context.getClass()); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); builder.setContentIntent(pendingIntent); Notification notification = builder.build(); mNotificationManager.notify(NOTIFICATION_ID, notification); return notification; }
Example 17
Source File: MusicPlaybackService.java From leanback-showcase with Apache License 2.0 | 2 votes |
/** * @return The available set of actions for the media session. These actions should be provided * for the MediaSession PlaybackState in order for * {@link MediaSessionCompat.Callback#onMediaButtonEvent} to call relevant methods of onPause() or * onPlay(). */ private long getPlaybackStateActions() { return PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_PAUSE | PlaybackStateCompat.ACTION_SKIP_TO_NEXT | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS; }
Example 18
Source File: MusicPlaybackService.java From tv-samples with Apache License 2.0 | 2 votes |
/** * @return The available set of actions for the media session. These actions should be provided * for the MediaSession PlaybackState in order for * {@link MediaSessionCompat.Callback#onMediaButtonEvent} to call relevant methods of onPause() or * onPlay(). */ private long getPlaybackStateActions() { return PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_PAUSE | PlaybackStateCompat.ACTION_SKIP_TO_NEXT | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS; }