# AssetLoader.Factory

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/AssetLoader.java+class:androidx.media3.transformer.AssetLoader.Factory)

*** ** * ** ***


```
public interface AssetLoader.Factory
```

<br />

Known direct subclasses [DefaultAssetLoaderFactory](https://developer.android.com/reference/androidx/media3/transformer/DefaultAssetLoaderFactory), [ExoPlayerAssetLoader.Factory](https://developer.android.com/reference/androidx/media3/transformer/ExoPlayerAssetLoader.Factory), [ImageAssetLoader.Factory](https://developer.android.com/reference/androidx/media3/transformer/ImageAssetLoader.Factory), [MediaProjectionAssetLoader.Factory](https://developer.android.com/reference/androidx/media3/transformer/MediaProjectionAssetLoader.Factory), [SurfaceAssetLoader.Factory](https://developer.android.com/reference/androidx/media3/transformer/SurfaceAssetLoader.Factory)

|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/DefaultAssetLoaderFactory` | The default `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Factory` implementation. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExoPlayerAssetLoader.Factory` | An `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Factory` for `https://developer.android.com/reference/androidx/media3/transformer/ExoPlayerAssetLoader` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/ImageAssetLoader.Factory` | An `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Factory` for `https://developer.android.com/reference/androidx/media3/transformer/ImageAssetLoader` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/MediaProjectionAssetLoader.Factory` | Factory for `https://developer.android.com/reference/androidx/media3/transformer/MediaProjectionAssetLoader` instances. |
| `https://developer.android.com/reference/androidx/media3/transformer/SurfaceAssetLoader.Factory` | Factory for `https://developer.android.com/reference/androidx/media3/transformer/SurfaceAssetLoader` instances. |

*** ** * ** ***

A factory for `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` instances.

## Summary

| ### Public methods |
|---|---|
| `abstract https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` | `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Factory#createAssetLoader(androidx.media3.transformer.EditedMediaItem,android.os.Looper,androidx.media3.transformer.AssetLoader.Listener,androidx.media3.transformer.AssetLoader.CompositionSettings)( https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItem editedMediaItem, https://developer.android.com/reference/android/os/Looper.html looper, https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Listener listener, https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.CompositionSettings compositionSettings )` Creates an `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` instance. |

## Public methods

### createAssetLoader

```
abstract AssetLoader createAssetLoader(
    EditedMediaItem editedMediaItem,
    Looper looper,
    AssetLoader.Listener listener,
    AssetLoader.CompositionSettings compositionSettings
)
```

Creates an `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` instance.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItem editedMediaItem` | The `https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItem` to load. |
| `https://developer.android.com/reference/android/os/Looper.html looper` | The `https://developer.android.com/reference/android/os/Looper.html` that's used to access the `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` after it's been created. |
| `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Listener listener` | The `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Listener` on which the `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` should notify of events. |
| `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.CompositionSettings compositionSettings` | The `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.CompositionSettings`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader` | An `https://developer.android.com/reference/androidx/media3/transformer/AssetLoader`. |