# AssetLoader.Factory

# 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)

*** ** * ** ***

Kotlin \|[Java](https://developer.android.com/reference/androidx/media3/transformer/AssetLoader.Factory "View this page in Java")


```
interface AssetLoader.Factory
```

<br />

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

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

*** ** * ** ***

A factory for [AssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader) instances.

## Summary

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

## Public functions

### createAssetLoader

```
fun createAssetLoader(
    editedMediaItem: EditedMediaItem!,
    looper: Looper!,
    listener: AssetLoader.Listener!,
    compositionSettings: AssetLoader.CompositionSettings!
): AssetLoader!
```

Creates an [AssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader) instance.  

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

|                                                 Returns                                                  |
|----------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------|
| [AssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader)`!` | An [AssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader). |