Methods Summary |
---|
public void | attachToMediaController(android.support.v4.media.session.MediaControllerCompat mediaController)Attaches to the given media controller.
if (mediaController != mMediaController) {
if (DEBUG) Log.v(TAG, "New media controller " + mediaController);
detach();
mMediaController = mediaController;
if (mMediaController != null) {
mMediaController.registerCallback(mCallback);
}
onMetadataChanged();
onStateChanged();
}
|
public void | detach()Detaches from the media controller. Must be called when the object is no longer
needed.
if (mMediaController != null) {
mMediaController.unregisterCallback(mCallback);
}
mMediaController = null;
|
public int | getCurrentPosition()
return (int) mMediaController.getPlaybackState().getPosition();
|
public int | getCurrentSpeedId()
int speed = (int) mMediaController.getPlaybackState().getPlaybackSpeed();
if (speed == 0) {
return PLAYBACK_SPEED_PAUSED;
} else if (speed == 1) {
return PLAYBACK_SPEED_NORMAL;
} else if (speed > 0) {
int[] seekSpeeds = getFastForwardSpeeds();
for (int index = 0; index < seekSpeeds.length; index++) {
if (speed == seekSpeeds[index]) {
return PLAYBACK_SPEED_FAST_L0 + index;
}
}
} else {
int[] seekSpeeds = getRewindSpeeds();
for (int index = 0; index < seekSpeeds.length; index++) {
if (-speed == seekSpeeds[index]) {
return -PLAYBACK_SPEED_FAST_L0 - index;
}
}
}
Log.w(TAG, "Couldn't find index for speed " + speed);
return PLAYBACK_SPEED_INVALID;
|
public android.graphics.drawable.Drawable | getMediaArt()
Bitmap bitmap = mMediaController.getMetadata().getDescription().getIconBitmap();
return bitmap == null ? null : new BitmapDrawable(getContext().getResources(), bitmap);
|
public final android.support.v4.media.session.MediaControllerCompat | getMediaController()Returns the media controller currently attached.
return mMediaController;
|
public int | getMediaDuration()
return (int) mMediaController.getMetadata().getLong(
MediaMetadataCompat.METADATA_KEY_DURATION);
|
public java.lang.CharSequence | getMediaSubtitle()
return mMediaController.getMetadata().getDescription().getSubtitle();
|
public java.lang.CharSequence | getMediaTitle()
return mMediaController.getMetadata().getDescription().getTitle();
|
public long | getSupportedActions()
long result = 0;
long actions = mMediaController.getPlaybackState().getActions();
if ((actions & PlaybackStateCompat.ACTION_PLAY_PAUSE) != 0) {
result |= ACTION_PLAY_PAUSE;
}
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;
|
public boolean | hasValidMedia()
return mMediaController != null && mMediaController.getMetadata() != null;
|
public boolean | isMediaPlaying()
return mMediaController.getPlaybackState().getState() == PlaybackStateCompat.STATE_PLAYING;
|
protected void | pausePlayback()
if (DEBUG) Log.v(TAG, "pausePlayback");
mMediaController.getTransportControls().pause();
|
protected void | skipToNext()
if (DEBUG) Log.v(TAG, "skipToNext");
mMediaController.getTransportControls().skipToNext();
|
protected void | skipToPrevious()
if (DEBUG) Log.v(TAG, "skipToPrevious");
mMediaController.getTransportControls().skipToPrevious();
|
protected void | startPlayback(int speed)
if (DEBUG) Log.v(TAG, "startPlayback speed " + speed);
if (speed == PLAYBACK_SPEED_NORMAL) {
mMediaController.getTransportControls().play();
} else if (speed > 0) {
mMediaController.getTransportControls().fastForward();
} else {
mMediaController.getTransportControls().rewind();
}
|