# SurfaceAssetLoader.Factory

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

*** ** * ** ***

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

<br />

```
class SurfaceAssetLoader.Factory : AssetLoader.Factory
```

<br />

*** ** * ** ***

Factory for[SurfaceAssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/SurfaceAssetLoader)instances.

## Summary

|                                                                                                                                                                                ### Public constructors                                                                                                                                                                                 |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Factory](https://developer.android.com/reference/kotlin/androidx/media3/transformer/SurfaceAssetLoader.Factory#Factory(androidx.media3.transformer.SurfaceAssetLoader.Callback))`(callback: `[SurfaceAssetLoader.Callback](https://developer.android.com/reference/kotlin/androidx/media3/transformer/SurfaceAssetLoader.Callback)`!)` Creates a factory with the specified callback. |

|                                                  ### Public functions                                                  |
|------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [SurfaceAssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/SurfaceAssetLoader)`!` | [createAssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/SurfaceAssetLoader.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 constructors

### Factory

```
Factory(callback: SurfaceAssetLoader.Callback!)
```

Creates a factory with the specified callback.  

## Public functions

### createAssetLoader

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

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                                                         |
|------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
| [SurfaceAssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/SurfaceAssetLoader)`!` | An[AssetLoader](https://developer.android.com/reference/kotlin/androidx/media3/transformer/AssetLoader). |