public class

StubPlayer

extends BasePlayer

 java.lang.Object

androidx.media3.common.BasePlayer

↳androidx.media3.test.utils.StubPlayer

Subclasses:

StubExoPlayer

Gradle dependencies

compile group: 'androidx.media3', name: 'media3-test-utils', version: '1.5.0-alpha01'

  • groupId: androidx.media3
  • artifactId: media3-test-utils
  • version: 1.5.0-alpha01

Artifact androidx.media3:media3-test-utils:1.5.0-alpha01 it located at Google repository (https://maven.google.com/)

Overview

An abstract Player implementation that throws java.lang.UnsupportedOperationException from every method.

Summary

Fields
from BasePlayerwindow
Constructors
publicStubPlayer()

Methods
public voidaddListener(Player.Listener listener)

public voidaddMediaItems(int index, java.util.List<MediaItem> mediaItems)

public voidclearVideoSurface()

public voidclearVideoSurface(Surface surface)

public voidclearVideoSurfaceHolder(SurfaceHolder surfaceHolder)

public voidclearVideoSurfaceView(SurfaceView surfaceView)

public voidclearVideoTextureView(TextureView textureView)

public voiddecreaseDeviceVolume()

public voiddecreaseDeviceVolume(int flags)

public LoopergetApplicationLooper()

public AudioAttributesgetAudioAttributes()

public Player.CommandsgetAvailableCommands()

public longgetBufferedPosition()

public longgetContentBufferedPosition()

public longgetContentPosition()

public intgetCurrentAdGroupIndex()

public intgetCurrentAdIndexInAdGroup()

public CueGroupgetCurrentCues()

public intgetCurrentMediaItemIndex()

public intgetCurrentPeriodIndex()

public longgetCurrentPosition()

public TimelinegetCurrentTimeline()

public TracksgetCurrentTracks()

public DeviceInfogetDeviceInfo()

public intgetDeviceVolume()

public longgetDuration()

public longgetMaxSeekToPreviousPosition()

public MediaMetadatagetMediaMetadata()

public PlaybackParametersgetPlaybackParameters()

public intgetPlaybackState()

public intgetPlaybackSuppressionReason()

public PlaybackExceptiongetPlayerError()

public MediaMetadatagetPlaylistMetadata()

public booleangetPlayWhenReady()

public intgetRepeatMode()

public longgetSeekBackIncrement()

public longgetSeekForwardIncrement()

public booleangetShuffleModeEnabled()

public SizegetSurfaceSize()

public longgetTotalBufferedDuration()

public TrackSelectionParametersgetTrackSelectionParameters()

public VideoSizegetVideoSize()

public floatgetVolume()

public voidincreaseDeviceVolume()

public voidincreaseDeviceVolume(int flags)

public booleanisDeviceMuted()

public booleanisLoading()

public booleanisPlayingAd()

public voidmoveMediaItems(int fromIndex, int toIndex, int newIndex)

public voidprepare()

public voidrelease()

public voidremoveListener(Player.Listener listener)

public voidremoveMediaItems(int fromIndex, int toIndex)

public voidreplaceMediaItems(int fromIndex, int toIndex, java.util.List<MediaItem> mediaItems)

public abstract voidseekTo(int mediaItemIndex, long positionMs, int seekCommand, boolean isRepeatingCurrentItem)

Seeks to a position in the specified MediaItem.

public voidsetAudioAttributes(AudioAttributes audioAttributes, boolean handleAudioFocus)

public voidsetDeviceMuted(boolean muted)

public voidsetDeviceMuted(boolean muted, int flags)

public voidsetDeviceVolume(int volume)

public voidsetDeviceVolume(int volume, int flags)

public voidsetMediaItems(java.util.List<MediaItem> mediaItems, boolean resetPosition)

public voidsetMediaItems(java.util.List<MediaItem> mediaItems, int startIndex, long startPositionMs)

public voidsetPlaybackParameters(PlaybackParameters playbackParameters)

public voidsetPlaylistMetadata(MediaMetadata mediaMetadata)

public voidsetPlayWhenReady(boolean playWhenReady)

public voidsetRepeatMode(int repeatMode)

public voidsetShuffleModeEnabled(boolean shuffleModeEnabled)

public voidsetTrackSelectionParameters(TrackSelectionParameters parameters)

public voidsetVideoSurface(Surface surface)

public voidsetVideoSurfaceHolder(SurfaceHolder surfaceHolder)

public voidsetVideoSurfaceView(SurfaceView surfaceView)

public voidsetVideoTextureView(TextureView textureView)

public voidsetVolume(float volume)

public voidstop()

from BasePlayeraddMediaItem, addMediaItem, addMediaItems, canAdvertiseSession, clearMediaItems, getBufferedPercentage, getContentDuration, getCurrentLiveOffset, getCurrentManifest, getCurrentMediaItem, getCurrentWindowIndex, getMediaItemAt, getMediaItemCount, getNextMediaItemIndex, getNextWindowIndex, getPreviousMediaItemIndex, getPreviousWindowIndex, hasNext, hasNextMediaItem, hasNextWindow, hasPreviousMediaItem, isCommandAvailable, isCurrentMediaItemDynamic, isCurrentMediaItemLive, isCurrentMediaItemSeekable, isCurrentWindowDynamic, isCurrentWindowLive, isCurrentWindowSeekable, isPlaying, moveMediaItem, next, pause, play, removeMediaItem, replaceMediaItem, seekBack, seekForward, seekTo, seekTo, seekToDefaultPosition, seekToDefaultPosition, seekToNext, seekToNextMediaItem, seekToNextWindow, seekToPrevious, seekToPreviousMediaItem, seekToPreviousWindow, setMediaItem, setMediaItem, setMediaItem, setMediaItems, setPlaybackSpeed
from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public StubPlayer()

Methods

public Looper getApplicationLooper()

public void addListener(Player.Listener listener)

public void removeListener(Player.Listener listener)

public int getPlaybackState()

public int getPlaybackSuppressionReason()

public PlaybackException getPlayerError()

public void prepare()

public void setMediaItems(java.util.List<MediaItem> mediaItems, boolean resetPosition)

public void setMediaItems(java.util.List<MediaItem> mediaItems, int startIndex, long startPositionMs)

public void addMediaItems(int index, java.util.List<MediaItem> mediaItems)

public void moveMediaItems(int fromIndex, int toIndex, int newIndex)

public void replaceMediaItems(int fromIndex, int toIndex, java.util.List<MediaItem> mediaItems)

public void removeMediaItems(int fromIndex, int toIndex)

public Player.Commands getAvailableCommands()

public void setPlayWhenReady(boolean playWhenReady)

public boolean getPlayWhenReady()

public void setRepeatMode(int repeatMode)

public int getRepeatMode()

public void setShuffleModeEnabled(boolean shuffleModeEnabled)

public boolean getShuffleModeEnabled()

public boolean isLoading()

public abstract void seekTo(int mediaItemIndex, long positionMs, int seekCommand, boolean isRepeatingCurrentItem)

Seeks to a position in the specified MediaItem.

Parameters:

mediaItemIndex: The index of the MediaItem. If the original seek operation did not directly specify an index, this is the most likely implied index based on the available player state. If the implied action is to do nothing, this will be C.INDEX_UNSET.
positionMs: The seek position in the specified MediaItem in milliseconds, or C.TIME_UNSET to seek to the media item's default position. If the original seek operation did not directly specify a position, this is the most likely implied position based on the available player state.
seekCommand: The Player.Command used to trigger the seek.
isRepeatingCurrentItem: Whether this seeks repeats the current item.

public long getSeekBackIncrement()

public long getSeekForwardIncrement()

public long getMaxSeekToPreviousPosition()

public void setPlaybackParameters(PlaybackParameters playbackParameters)

public PlaybackParameters getPlaybackParameters()

public void stop()

public void release()

public Tracks getCurrentTracks()

public TrackSelectionParameters getTrackSelectionParameters()

public void setTrackSelectionParameters(TrackSelectionParameters parameters)

public MediaMetadata getMediaMetadata()

public MediaMetadata getPlaylistMetadata()

public void setPlaylistMetadata(MediaMetadata mediaMetadata)

public Timeline getCurrentTimeline()

public int getCurrentPeriodIndex()

public int getCurrentMediaItemIndex()

public long getDuration()

public long getCurrentPosition()

public long getBufferedPosition()

public long getTotalBufferedDuration()

public boolean isPlayingAd()

public int getCurrentAdGroupIndex()

public int getCurrentAdIndexInAdGroup()

public long getContentPosition()

public long getContentBufferedPosition()

public AudioAttributes getAudioAttributes()

public void setVolume(float volume)

public float getVolume()

public void clearVideoSurface()

public void clearVideoSurface(Surface surface)

public void setVideoSurface(Surface surface)

public void setVideoSurfaceHolder(SurfaceHolder surfaceHolder)

public void clearVideoSurfaceHolder(SurfaceHolder surfaceHolder)

public void setVideoSurfaceView(SurfaceView surfaceView)

public void clearVideoSurfaceView(SurfaceView surfaceView)

public void setVideoTextureView(TextureView textureView)

public void clearVideoTextureView(TextureView textureView)

public VideoSize getVideoSize()

public Size getSurfaceSize()

public CueGroup getCurrentCues()

public DeviceInfo getDeviceInfo()

public int getDeviceVolume()

public boolean isDeviceMuted()

public void setDeviceVolume(int volume)

Deprecated: Use StubPlayer.setDeviceVolume(int, int) instead.

public void setDeviceVolume(int volume, int flags)

public void increaseDeviceVolume()

Deprecated: Use StubPlayer.increaseDeviceVolume(int) instead.

public void increaseDeviceVolume(int flags)

public void decreaseDeviceVolume()

Deprecated: Use StubPlayer.decreaseDeviceVolume(int) instead.

public void decreaseDeviceVolume(int flags)

public void setDeviceMuted(boolean muted)

Deprecated: Use StubPlayer.setDeviceMuted(boolean, int) instead.

public void setDeviceMuted(boolean muted, int flags)

public void setAudioAttributes(AudioAttributes audioAttributes, boolean handleAudioFocus)

Source

/*
 * Copyright (C) 2017 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package androidx.media3.test.utils;

import android.os.Looper;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.TextureView;
import androidx.annotation.Nullable;
import androidx.media3.common.AudioAttributes;
import androidx.media3.common.BasePlayer;
import androidx.media3.common.C;
import androidx.media3.common.DeviceInfo;
import androidx.media3.common.MediaItem;
import androidx.media3.common.MediaMetadata;
import androidx.media3.common.PlaybackException;
import androidx.media3.common.PlaybackParameters;
import androidx.media3.common.Player;
import androidx.media3.common.Timeline;
import androidx.media3.common.TrackSelectionParameters;
import androidx.media3.common.Tracks;
import androidx.media3.common.VideoSize;
import androidx.media3.common.text.CueGroup;
import androidx.media3.common.util.Size;
import androidx.media3.common.util.UnstableApi;
import java.util.List;

/**
 * An abstract {@link Player} implementation that throws {@link UnsupportedOperationException} from
 * every method.
 */
@UnstableApi
public class StubPlayer extends BasePlayer {

  @Override
  public Looper getApplicationLooper() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void addListener(Listener listener) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void removeListener(Listener listener) {
    throw new UnsupportedOperationException();
  }

  @Override
  public @State int getPlaybackState() {
    throw new UnsupportedOperationException();
  }

  @Override
  public @PlaybackSuppressionReason int getPlaybackSuppressionReason() {
    throw new UnsupportedOperationException();
  }

  @Override
  @Nullable
  public PlaybackException getPlayerError() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void prepare() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setMediaItems(List<MediaItem> mediaItems, boolean resetPosition) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setMediaItems(List<MediaItem> mediaItems, int startIndex, long startPositionMs) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void addMediaItems(int index, List<MediaItem> mediaItems) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void moveMediaItems(int fromIndex, int toIndex, int newIndex) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void replaceMediaItems(int fromIndex, int toIndex, List<MediaItem> mediaItems) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void removeMediaItems(int fromIndex, int toIndex) {
    throw new UnsupportedOperationException();
  }

  @Override
  public Commands getAvailableCommands() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setPlayWhenReady(boolean playWhenReady) {
    throw new UnsupportedOperationException();
  }

  @Override
  public boolean getPlayWhenReady() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setRepeatMode(@RepeatMode int repeatMode) {
    throw new UnsupportedOperationException();
  }

  @Override
  public int getRepeatMode() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setShuffleModeEnabled(boolean shuffleModeEnabled) {
    throw new UnsupportedOperationException();
  }

  @Override
  public boolean getShuffleModeEnabled() {
    throw new UnsupportedOperationException();
  }

  @Override
  public boolean isLoading() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void seekTo(
      int mediaItemIndex,
      long positionMs,
      @Player.Command int seekCommand,
      boolean isRepeatingCurrentItem) {
    throw new UnsupportedOperationException();
  }

  @Override
  public long getSeekBackIncrement() {
    throw new UnsupportedOperationException();
  }

  @Override
  public long getSeekForwardIncrement() {
    throw new UnsupportedOperationException();
  }

  @Override
  public long getMaxSeekToPreviousPosition() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setPlaybackParameters(PlaybackParameters playbackParameters) {
    throw new UnsupportedOperationException();
  }

  @Override
  public PlaybackParameters getPlaybackParameters() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void stop() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void release() {
    throw new UnsupportedOperationException();
  }

  @Override
  public Tracks getCurrentTracks() {
    throw new UnsupportedOperationException();
  }

  @Override
  public TrackSelectionParameters getTrackSelectionParameters() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setTrackSelectionParameters(TrackSelectionParameters parameters) {
    throw new UnsupportedOperationException();
  }

  @Override
  public MediaMetadata getMediaMetadata() {
    throw new UnsupportedOperationException();
  }

  @Override
  public MediaMetadata getPlaylistMetadata() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setPlaylistMetadata(MediaMetadata mediaMetadata) {
    throw new UnsupportedOperationException();
  }

  @Override
  public Timeline getCurrentTimeline() {
    throw new UnsupportedOperationException();
  }

  @Override
  public int getCurrentPeriodIndex() {
    throw new UnsupportedOperationException();
  }

  @Override
  public int getCurrentMediaItemIndex() {
    throw new UnsupportedOperationException();
  }

  @Override
  public long getDuration() {
    throw new UnsupportedOperationException();
  }

  @Override
  public long getCurrentPosition() {
    throw new UnsupportedOperationException();
  }

  @Override
  public long getBufferedPosition() {
    throw new UnsupportedOperationException();
  }

  @Override
  public long getTotalBufferedDuration() {
    throw new UnsupportedOperationException();
  }

  @Override
  public boolean isPlayingAd() {
    throw new UnsupportedOperationException();
  }

  @Override
  public int getCurrentAdGroupIndex() {
    throw new UnsupportedOperationException();
  }

  @Override
  public int getCurrentAdIndexInAdGroup() {
    throw new UnsupportedOperationException();
  }

  @Override
  public long getContentPosition() {
    throw new UnsupportedOperationException();
  }

  @Override
  public long getContentBufferedPosition() {
    throw new UnsupportedOperationException();
  }

  @Override
  public AudioAttributes getAudioAttributes() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setVolume(float volume) {
    throw new UnsupportedOperationException();
  }

  @Override
  public float getVolume() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void clearVideoSurface() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void clearVideoSurface(@Nullable Surface surface) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setVideoSurface(@Nullable Surface surface) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setVideoSurfaceHolder(@Nullable SurfaceHolder surfaceHolder) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void clearVideoSurfaceHolder(@Nullable SurfaceHolder surfaceHolder) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setVideoSurfaceView(@Nullable SurfaceView surfaceView) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void clearVideoSurfaceView(@Nullable SurfaceView surfaceView) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setVideoTextureView(@Nullable TextureView textureView) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void clearVideoTextureView(@Nullable TextureView textureView) {
    throw new UnsupportedOperationException();
  }

  @Override
  public VideoSize getVideoSize() {
    throw new UnsupportedOperationException();
  }

  @Override
  public Size getSurfaceSize() {
    throw new UnsupportedOperationException();
  }

  @Override
  public CueGroup getCurrentCues() {
    throw new UnsupportedOperationException();
  }

  @Override
  public DeviceInfo getDeviceInfo() {
    throw new UnsupportedOperationException();
  }

  @Override
  public int getDeviceVolume() {
    throw new UnsupportedOperationException();
  }

  @Override
  public boolean isDeviceMuted() {
    throw new UnsupportedOperationException();
  }

  /**
   * @deprecated Use {@link #setDeviceVolume(int, int)} instead.
   */
  @Deprecated
  @Override
  public void setDeviceVolume(int volume) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setDeviceVolume(int volume, @C.VolumeFlags int flags) {
    throw new UnsupportedOperationException();
  }

  /**
   * @deprecated Use {@link #increaseDeviceVolume(int)} instead.
   */
  @Deprecated
  @Override
  public void increaseDeviceVolume() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void increaseDeviceVolume(@C.VolumeFlags int flags) {
    throw new UnsupportedOperationException();
  }

  /**
   * @deprecated Use {@link #decreaseDeviceVolume(int)} instead.
   */
  @Deprecated
  @Override
  public void decreaseDeviceVolume() {
    throw new UnsupportedOperationException();
  }

  @Override
  public void decreaseDeviceVolume(@C.VolumeFlags int flags) {
    throw new UnsupportedOperationException();
  }

  /**
   * @deprecated Use {@link #setDeviceMuted(boolean, int)} instead.
   */
  @Deprecated
  @Override
  public void setDeviceMuted(boolean muted) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setDeviceMuted(boolean muted, @C.VolumeFlags int flags) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setAudioAttributes(AudioAttributes audioAttributes, boolean handleAudioFocus) {
    throw new UnsupportedOperationException();
  }
}