# MetadataRetriever.Builder

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

*** ** * ** ***


```
public final class MetadataRetriever.Builder
```

<br />

*** ** * ** ***

Builder for `https://developer.android.com/reference/androidx/media3/inspector/MetadataRetriever` instances.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/inspector/MetadataRetriever.Builder#Builder(android.content.Context,androidx.media3.common.MediaItem)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/android/content/Context.html context, https://developer.android.com/reference/androidx/media3/common/MediaItem mediaItem)` Creates a new builder. |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/inspector/MetadataRetriever` | `https://developer.android.com/reference/androidx/media3/inspector/MetadataRetriever.Builder#build()()` Builds the `https://developer.android.com/reference/androidx/media3/inspector/MetadataRetriever` instance. |
| `https://developer.android.com/reference/androidx/media3/inspector/MetadataRetriever.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/inspector/MetadataRetriever.Builder#setClock(androidx.media3.common.util.Clock)(https://developer.android.com/reference/androidx/media3/common/util/Clock clock)` Sets the `https://developer.android.com/reference/androidx/media3/common/util/Clock` to be used. |
| `https://developer.android.com/reference/androidx/media3/inspector/MetadataRetriever.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/inspector/MetadataRetriever.Builder#setMediaSourceFactory(androidx.media3.exoplayer.source.MediaSource.Factory)(https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource.Factory mediaSourceFactory)` Sets the `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource.Factory` to be used to read the data. |

## Public constructors

### Builder

```
public Builder(@Nullable Context context, MediaItem mediaItem)
```

Creates a new builder.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/android/content/Context.html context` | The `https://developer.android.com/reference/android/content/Context.html`. Can be `null` if a `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource.Factory` is provided via `https://developer.android.com/reference/androidx/media3/inspector/MetadataRetriever.Builder#setMediaSourceFactory(androidx.media3.exoplayer.source.MediaSource.Factory)`. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem mediaItem` | The `https://developer.android.com/reference/androidx/media3/common/MediaItem` to retrieve metadata from. |

## Public methods

### build

```
public MetadataRetriever build()
```

Builds the `https://developer.android.com/reference/androidx/media3/inspector/MetadataRetriever` instance.

### setClock

```
@CanIgnoreReturnValue
public MetadataRetriever.Builder setClock(Clock clock)
```

Sets the `https://developer.android.com/reference/androidx/media3/common/util/Clock` to be used. If not set, `https://developer.android.com/reference/androidx/media3/common/util/Clock#DEFAULT()` is used.

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

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/inspector/MetadataRetriever.Builder` | This builder. |

### setMediaSourceFactory

```
@CanIgnoreReturnValue
public MetadataRetriever.Builder setMediaSourceFactory(MediaSource.Factory mediaSourceFactory)
```

Sets the `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource.Factory` to be used to read the data. If not set, a `https://developer.android.com/reference/androidx/media3/exoplayer/source/DefaultMediaSourceFactory` with default extractors will be used.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource.Factory mediaSourceFactory` | The `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource.Factory`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/inspector/MetadataRetriever.Builder` | This builder. |