public interface

MediaClock

 androidx.media3.exoplayer.MediaClock

Subclasses:

StandaloneMediaClock, MediaCodecAudioRenderer, DecoderAudioRenderer<T>, FakeMediaClockRenderer, MidiRenderer

Gradle dependencies

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

  • groupId: androidx.media3
  • artifactId: media3-exoplayer
  • version: 1.5.0-alpha01

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

Overview

Tracks the progression of media time.

Summary

Methods
public PlaybackParametersgetPlaybackParameters()

Returns the active playback parameters.

public longgetPositionUs()

Returns the current media position in microseconds.

public booleanhasSkippedSilenceSinceLastCall()

Returns whether there is a skipped silence since the last call to this method.

public voidsetPlaybackParameters(PlaybackParameters playbackParameters)

Attempts to set the playback parameters.

Methods

public long getPositionUs()

Returns the current media position in microseconds.

public boolean hasSkippedSilenceSinceLastCall()

Returns whether there is a skipped silence since the last call to this method.

public void setPlaybackParameters(PlaybackParameters playbackParameters)

Attempts to set the playback parameters. The media clock may override the speed if changing the playback parameters is not supported.

Parameters:

playbackParameters: The playback parameters to attempt to set.

public PlaybackParameters getPlaybackParameters()

Returns the active playback parameters.

Source

/*
 * Copyright (C) 2016 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.exoplayer;

import androidx.media3.common.PlaybackParameters;
import androidx.media3.common.util.UnstableApi;

/** Tracks the progression of media time. */
@UnstableApi
public interface MediaClock {

  /** Returns the current media position in microseconds. */
  long getPositionUs();

  /** Returns whether there is a skipped silence since the last call to this method. */
  default boolean hasSkippedSilenceSinceLastCall() {
    return false;
  }

  /**
   * Attempts to set the playback parameters. The media clock may override the speed if changing the
   * playback parameters is not supported.
   *
   * @param playbackParameters The playback parameters to attempt to set.
   */
  void setPlaybackParameters(PlaybackParameters playbackParameters);

  /** Returns the active playback parameters. */
  PlaybackParameters getPlaybackParameters();
}