# StandaloneMediaClock

Artifact: [androidx.media3:media3-exoplayer](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/exoplayer/StandaloneMediaClock.java+class:androidx.media3.exoplayer.StandaloneMediaClock)

*** ** * ** ***


```
@UnstableApi
public final class StandaloneMediaClock implements MediaClock
```

<br />

*** ** * ** ***

A `https://developer.android.com/reference/androidx/media3/exoplayer/MediaClock` whose position advances with real time based on the playback parameters when started.

## Summary

| ### Public fields |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/PlaybackParameters` | `https://developer.android.com/reference/androidx/media3/exoplayer/StandaloneMediaClock#playbackParameters()` |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/StandaloneMediaClock#StandaloneMediaClock(androidx.media3.common.util.Clock)(https://developer.android.com/reference/androidx/media3/common/util/Clock clock)` Creates a new standalone media clock using the given `https://developer.android.com/reference/androidx/media3/common/util/Clock` implementation. |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/PlaybackParameters` | `https://developer.android.com/reference/androidx/media3/exoplayer/StandaloneMediaClock#getPlaybackParameters()()` Returns the active playback parameters. |
| `long` | `https://developer.android.com/reference/androidx/media3/exoplayer/StandaloneMediaClock#getPositionUs()()` Returns the current media position in microseconds. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/StandaloneMediaClock#resetPosition(long)(long positionUs)` Resets the clock's position. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/StandaloneMediaClock#setPlaybackParameters(androidx.media3.common.PlaybackParameters)(https://developer.android.com/reference/androidx/media3/common/PlaybackParameters playbackParameters)` Attempts to set the playback parameters. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/StandaloneMediaClock#start()()` Starts the clock. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/StandaloneMediaClock#stop()()` Stops the clock. |

| ### Inherited methods |
|---|
| From [androidx.media3.exoplayer.MediaClock](https://developer.android.com/reference/androidx/media3/exoplayer/MediaClock) |---|---| | `boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/MediaClock#hasSkippedSilenceSinceLastCall()()` Returns whether there is a skipped silence since the last call to this method. | |

## Public fields

### playbackParameters

```
public PlaybackParameters playbackParameters
```

## Public constructors

### StandaloneMediaClock

```
public StandaloneMediaClock(Clock clock)
```

Creates a new standalone media clock using the given `https://developer.android.com/reference/androidx/media3/common/util/Clock` implementation.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/util/Clock clock` | A `https://developer.android.com/reference/androidx/media3/common/util/Clock`. |

## Public methods

### getPlaybackParameters

```
public PlaybackParameters getPlaybackParameters()
```

Returns the active playback parameters.

### getPositionUs

```
public long getPositionUs()
```

Returns the current media position in microseconds.

### resetPosition

```
public void resetPosition(long positionUs)
```

Resets the clock's position.

| Parameters |
|---|---|
| `long positionUs` | The position to set in microseconds. |

### setPlaybackParameters

```
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 |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/PlaybackParameters playbackParameters` | The playback parameters to attempt to set. |

### start

```
public void start()
```

Starts the clock. Does nothing if the clock is already started.

### stop

```
public void stop()
```

Stops the clock. Does nothing if the clock is already stopped.