List of usage examples for android.support.v4.media.session PlaybackStateCompat ACTION_REWIND
long ACTION_REWIND
To view the source code for android.support.v4.media.session PlaybackStateCompat ACTION_REWIND.
Click Source Link
From source file:com.wojtechnology.sunami.MediaSessionCompatHelper.java
private static void ensureTransportControls(MediaSessionCompat session, PlaybackStateCompat playbackState) { long actions = playbackState.getActions(); Object remoteObj = session.getRemoteControlClient(); if (actions != 0 && remoteObj != null) { int transportControls = 0; if ((actions & PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS) != 0) { transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS; }/*from ww w. j a v a 2s . c om*/ if ((actions & PlaybackStateCompat.ACTION_REWIND) != 0) { transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_REWIND; } if ((actions & PlaybackStateCompat.ACTION_PLAY) != 0) { transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_PLAY; } if ((actions & PlaybackStateCompat.ACTION_PLAY_PAUSE) != 0) { transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE; } if ((actions & PlaybackStateCompat.ACTION_PAUSE) != 0) { transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_PAUSE; } if ((actions & PlaybackStateCompat.ACTION_STOP) != 0) { transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_STOP; } if ((actions & PlaybackStateCompat.ACTION_FAST_FORWARD) != 0) { transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_FAST_FORWARD; } if ((actions & PlaybackStateCompat.ACTION_SKIP_TO_NEXT) != 0) { transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_NEXT; } if ((actions & PlaybackStateCompat.ACTION_SEEK_TO) != 0) { transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_POSITION_UPDATE; } if ((actions & PlaybackStateCompat.ACTION_SET_RATING) != 0) { transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_RATING; } ((RemoteControlClient) remoteObj).setTransportControlFlags(transportControls); } }
From source file:com.google.android.exoplayer2.ext.mediasession.DefaultPlaybackController.java
@Override public long getSupportedPlaybackActions(Player player) { if (player == null || player.getCurrentTimeline().isEmpty()) { return 0; }/*from w ww. j a v a 2 s .c om*/ long actions = BASE_ACTIONS; if (player.isCurrentWindowSeekable()) { actions |= PlaybackStateCompat.ACTION_SEEK_TO; } if (fastForwardIncrementMs > 0) { actions |= PlaybackStateCompat.ACTION_FAST_FORWARD; } if (rewindIncrementMs > 0) { actions |= PlaybackStateCompat.ACTION_REWIND; } return actions; }
From source file:android.support.v17.leanback.media.MediaControllerGlue.java
@Override public long getSupportedActions() { long result = 0; long actions = mMediaController.getPlaybackState().getActions(); if ((actions & PlaybackStateCompat.ACTION_PLAY_PAUSE) != 0) { result |= ACTION_PLAY_PAUSE;/* w w w .j av a2 s . c om*/ } if ((actions & PlaybackStateCompat.ACTION_SKIP_TO_NEXT) != 0) { result |= ACTION_SKIP_TO_NEXT; } if ((actions & PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS) != 0) { result |= ACTION_SKIP_TO_PREVIOUS; } if ((actions & PlaybackStateCompat.ACTION_FAST_FORWARD) != 0) { result |= ACTION_FAST_FORWARD; } if ((actions & PlaybackStateCompat.ACTION_REWIND) != 0) { result |= ACTION_REWIND; } return result; }
From source file:nuclei.media.playback.PlaybackManager.java
private long getAvailableActions() { long actions = PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID | PlaybackStateCompat.ACTION_PLAY_FROM_URI | PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH | PlaybackStateCompat.ACTION_PREPARE | PlaybackStateCompat.ACTION_PREPARE_FROM_MEDIA_ID | PlaybackStateCompat.ACTION_PREPARE_FROM_URI | PlaybackStateCompat.ACTION_REWIND | PlaybackStateCompat.ACTION_FAST_FORWARD; if (mPlayback.isPlaying()) { actions |= PlaybackStateCompat.ACTION_PAUSE; }/*from w w w . j av a2 s . c o m*/ if (mQueue != null) { if (mQueue.hasNext() || mQueue.getNextQueue() != null) actions |= PlaybackStateCompat.ACTION_SKIP_TO_NEXT; if (mQueue.hasPrevious() || mQueue.getPreviousQueue() != null) actions |= PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS; actions |= PlaybackStateCompat.ACTION_SKIP_TO_QUEUE_ITEM; } return actions; }
From source file:android.support.v17.leanback.media.MediaControllerAdapter.java
@Override public long getSupportedActions() { long supportedActions = 0; if (mController.getPlaybackState() == null) { return supportedActions; }//from w w w.j a v a2s .co m long actionsFromController = mController.getPlaybackState().getActions(); // Translation. if ((actionsFromController & PlaybackStateCompat.ACTION_PLAY_PAUSE) != 0) { supportedActions |= ACTION_PLAY_PAUSE; } if ((actionsFromController & PlaybackStateCompat.ACTION_SKIP_TO_NEXT) != 0) { supportedActions |= ACTION_SKIP_TO_NEXT; } if ((actionsFromController & PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS) != 0) { supportedActions |= ACTION_SKIP_TO_PREVIOUS; } if ((actionsFromController & PlaybackStateCompat.ACTION_FAST_FORWARD) != 0) { supportedActions |= ACTION_FAST_FORWARD; } if ((actionsFromController & PlaybackStateCompat.ACTION_REWIND) != 0) { supportedActions |= ACTION_REWIND; } if ((actionsFromController & PlaybackStateCompat.ACTION_SET_REPEAT_MODE) != 0) { supportedActions |= ACTION_REPEAT; } if ((actionsFromController & PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE) != 0) { supportedActions |= ACTION_SHUFFLE; } return supportedActions; }
From source file:com.example.android.leanback.PlaybackTransportControlGlueSample.java
/** * Get supported actions from player adapter then translate it into playback state compat * related actions/* w w w. java 2 s .c o m*/ */ private long getPlaybackStateActions() { long supportedActions = 0L; long actionsFromPlayerAdapter = getPlayerAdapter().getSupportedActions(); if ((actionsFromPlayerAdapter & PlaybackBaseControlGlue.ACTION_SKIP_TO_PREVIOUS) != 0) { supportedActions |= PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS; } else if ((actionsFromPlayerAdapter & PlaybackBaseControlGlue.ACTION_SKIP_TO_NEXT) != 0) { supportedActions |= PlaybackStateCompat.ACTION_SKIP_TO_NEXT; } else if ((actionsFromPlayerAdapter & PlaybackBaseControlGlue.ACTION_REWIND) != 0) { supportedActions |= PlaybackStateCompat.ACTION_REWIND; } else if ((actionsFromPlayerAdapter & PlaybackBaseControlGlue.ACTION_FAST_FORWARD) != 0) { supportedActions |= PlaybackStateCompat.ACTION_FAST_FORWARD; } else if ((actionsFromPlayerAdapter & PlaybackBaseControlGlue.ACTION_PLAY_PAUSE) != 0) { supportedActions |= PlaybackStateCompat.ACTION_PLAY_PAUSE; } else if ((actionsFromPlayerAdapter & PlaybackBaseControlGlue.ACTION_REPEAT) != 0) { supportedActions |= PlaybackStateCompat.ACTION_SET_REPEAT_MODE; } else if ((actionsFromPlayerAdapter & PlaybackBaseControlGlue.ACTION_SHUFFLE) != 0) { supportedActions |= PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE; } return supportedActions; }
From source file:com.example.android.leanback.MediaSessionService.java
/** * Return supported actions related to current playback state. * Currently the return value from this function is a constant. * For demonstration purpose, the customized fast forward action and customized rewind action * are supported in our case.//from w ww .java2 s .com * * @return playback state actions. */ private long getPlaybackStateActions() { long res = PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_PAUSE | PlaybackStateCompat.ACTION_PLAY_PAUSE | PlaybackStateCompat.ACTION_SKIP_TO_NEXT | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS | PlaybackStateCompat.ACTION_FAST_FORWARD | PlaybackStateCompat.ACTION_REWIND | PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE | PlaybackStateCompat.ACTION_SET_REPEAT_MODE; return res; }
From source file:androidx.media.widget.MediaControlView2.java
private boolean canSeekBackward() { if (mPlaybackState != null) { return (mPlaybackState.getActions() & PlaybackStateCompat.ACTION_REWIND) != 0; }/*from w w w.j ava 2 s . com*/ return true; }
From source file:androidx.media.MediaSession2ImplBase.java
@Override PlaybackStateCompat getPlaybackStateCompat() { synchronized (mLock) { int state = MediaUtils2.createPlaybackStateCompatState(getPlayerState(), getBufferingState()); // TODO: Consider following missing stuff // - setCustomAction(): Fill custom layout // - setErrorMessage(): Fill error message when notifyError() is called. // - setActiveQueueItemId(): Fill here with the current media item... // - setExtra(): No idea at this moment. // TODO: generate actions from the allowed commands. long allActions = PlaybackStateCompat.ACTION_STOP | PlaybackStateCompat.ACTION_PAUSE | PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_REWIND | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS | PlaybackStateCompat.ACTION_SKIP_TO_NEXT | PlaybackStateCompat.ACTION_FAST_FORWARD | PlaybackStateCompat.ACTION_SET_RATING | PlaybackStateCompat.ACTION_SEEK_TO | PlaybackStateCompat.ACTION_PLAY_PAUSE | PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID | PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH | PlaybackStateCompat.ACTION_SKIP_TO_QUEUE_ITEM | PlaybackStateCompat.ACTION_PLAY_FROM_URI | PlaybackStateCompat.ACTION_PREPARE | PlaybackStateCompat.ACTION_PREPARE_FROM_MEDIA_ID | PlaybackStateCompat.ACTION_PREPARE_FROM_SEARCH | PlaybackStateCompat.ACTION_PREPARE_FROM_URI | PlaybackStateCompat.ACTION_SET_REPEAT_MODE | PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE | PlaybackStateCompat.ACTION_SET_CAPTIONING_ENABLED; return new PlaybackStateCompat.Builder().setState(state, getCurrentPosition(), getPlaybackSpeed()) .setActions(allActions).setBufferedPosition(getBufferedPosition()).build(); }/*from www.j a va2s . c om*/ }
From source file:androidx.media.widget.VideoView2.java
private void updatePlaybackState() { if (mStateBuilder == null) { /*/* w w w.jav a 2 s .co m*/ // Get the capabilities of the player for this stream mMetadata = mMediaPlayer.getMetadata(MediaPlayer.METADATA_ALL, MediaPlayer.BYPASS_METADATA_FILTER); // Add Play action as default long playbackActions = PlaybackStateCompat.ACTION_PLAY; if (mMetadata != null) { if (!mMetadata.has(Metadata.PAUSE_AVAILABLE) || mMetadata.getBoolean(Metadata.PAUSE_AVAILABLE)) { playbackActions |= PlaybackStateCompat.ACTION_PAUSE; } if (!mMetadata.has(Metadata.SEEK_BACKWARD_AVAILABLE) || mMetadata.getBoolean(Metadata.SEEK_BACKWARD_AVAILABLE)) { playbackActions |= PlaybackStateCompat.ACTION_REWIND; } if (!mMetadata.has(Metadata.SEEK_FORWARD_AVAILABLE) || mMetadata.getBoolean(Metadata.SEEK_FORWARD_AVAILABLE)) { playbackActions |= PlaybackStateCompat.ACTION_FAST_FORWARD; } if (!mMetadata.has(Metadata.SEEK_AVAILABLE) || mMetadata.getBoolean(Metadata.SEEK_AVAILABLE)) { playbackActions |= PlaybackStateCompat.ACTION_SEEK_TO; } } else { playbackActions |= (PlaybackStateCompat.ACTION_PAUSE | PlaybackStateCompat.ACTION_REWIND | PlaybackStateCompat.ACTION_FAST_FORWARD | PlaybackStateCompat.ACTION_SEEK_TO); } */ // TODO determine the actionable list based the metadata info. long playbackActions = PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_PAUSE | PlaybackStateCompat.ACTION_REWIND | PlaybackStateCompat.ACTION_FAST_FORWARD | PlaybackStateCompat.ACTION_SEEK_TO; mStateBuilder = new PlaybackStateCompat.Builder(); mStateBuilder.setActions(playbackActions); if (mCustomActionList != null) { for (PlaybackStateCompat.CustomAction action : mCustomActionList) { mStateBuilder.addCustomAction(action); } } } mStateBuilder.setState(getCorrespondingPlaybackState(), mMediaPlayer.getCurrentPosition(), mSpeed); if (mCurrentState != STATE_ERROR && mCurrentState != STATE_IDLE && mCurrentState != STATE_PREPARING) { // TODO: this should be replaced with MediaPlayer2.getBufferedPosition() once it is // implemented. if (mCurrentBufferPercentage == -1) { mStateBuilder.setBufferedPosition(-1); } else { mStateBuilder.setBufferedPosition( (long) (mCurrentBufferPercentage / 100.0 * mMediaPlayer.getDuration())); } } // Set PlaybackState for MediaSession if (mMediaSession != null) { PlaybackStateCompat state = mStateBuilder.build(); mMediaSession.setPlaybackState(state); } }