# ExoPlayerAssetLoader

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

*** ** * ** ***

<br />

```
@UnstableApi
public final class ExoPlayerAssetLoader implements AssetLoader
```

<br />

*** ** * ** ***

An `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` implementation that uses an `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlayer` to load samples.

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/media3/transformer/ExoPlayerAssetLoader.Factory implements https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Factory` An `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Factory` for `https://developer.android.com/reference/androidx/media3/transformer/ExoPlayerAssetLoader` instances. |

| ### Public methods |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableMap.html<https://developer.android.com/reference/java/lang/Integer.html, https://developer.android.com/reference/java/lang/String.html>` | `https://developer.android.com/reference/androidx/media3/transformer/ExoPlayerAssetLoader#getDecoderNames()()` Return the used decoders' names. |
| `int` | `@https://developer.android.com/reference/androidx/media3/transformer/Transformer.ProgressState https://developer.android.com/reference/androidx/media3/transformer/ExoPlayerAssetLoader#getProgress(androidx.media3.transformer.ProgressHolder)(https://developer.android.com/reference/androidx/media3/transformer/ProgressHolder progressHolder)` Returns the current `https://developer.android.com/reference/androidx/media3/transformer/Transformer.ProgressState` and updates `progressHolder` with the current progress if it is `https://developer.android.com/reference/androidx/media3/transformer/Transformer#PROGRESS_STATE_AVAILABLE()`. |
| `void` | `https://developer.android.com/reference/androidx/media3/transformer/ExoPlayerAssetLoader#release()()` Stops loading data and releases all resources associated with the asset loader. |
| `void` | `https://developer.android.com/reference/androidx/media3/transformer/ExoPlayerAssetLoader#start()()` Starts the asset loader. |

### Inherited Constants

From [androidx.media3.transformer.AssetLoader](https://developer.android.com/reference/androidx/media3/transformer/AssetLoader) `static final int` `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader#SUPPORTED_OUTPUT_TYPE_DECODED() = 2`

Indicates that the asset loader can output decoded samples.
`static final int` `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader#SUPPORTED_OUTPUT_TYPE_ENCODED() = 1`

Indicates that the asset loader can output encoded samples.

## Public methods

### getDecoderNames

```
public ImmutableMap<Integer, String> getDecoderNames()
```

Return the used decoders' names.

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableMap.html<https://developer.android.com/reference/java/lang/Integer.html, https://developer.android.com/reference/java/lang/String.html>` | The decoders' names keyed by `https://developer.android.com/reference/androidx/media3/common/C.TrackType`. |

### getProgress

```
@Transformer.ProgressState
public int getProgress(ProgressHolder progressHolder)
```

Returns the current `https://developer.android.com/reference/androidx/media3/transformer/Transformer.ProgressState` and updates `progressHolder` with the current progress if it is `https://developer.android.com/reference/androidx/media3/transformer/Transformer#PROGRESS_STATE_AVAILABLE()`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/ProgressHolder progressHolder` | A `https://developer.android.com/reference/androidx/media3/transformer/ProgressHolder`, updated to hold the percentage progress if `https://developer.android.com/reference/androidx/media3/transformer/Transformer#PROGRESS_STATE_AVAILABLE()`. |

| Returns |
|---|---|
| `int` | The `https://developer.android.com/reference/androidx/media3/transformer/Transformer.ProgressState`. |

### release

```
public void release()
```

Stops loading data and releases all resources associated with the asset loader.

### start

```
public void start()
```

Starts the asset loader.