# ExternalLoader

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

*** ** * ** ***

<br />

```
@UnstableApi
public interface ExternalLoader
```

<br />

*** ** * ** ***

An object for loading media outside of ExoPlayer's loading mechanism.

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/media3/exoplayer/source/ExternalLoader.LoadRequest` A data class providing information associated with the load event. |

| ### Public methods |
|---|---|
| `abstract https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?>` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/ExternalLoader#load(androidx.media3.exoplayer.source.ExternalLoader.LoadRequest)(https://developer.android.com/reference/androidx/media3/exoplayer/source/ExternalLoader.LoadRequest loadRequest)` Loads the external media. |

## Public methods

### load

```
abstract ListenableFuture<@NonNull ?> load(ExternalLoader.LoadRequest loadRequest)
```

Loads the external media.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/ExternalLoader.LoadRequest loadRequest` | The load request. |

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?>` | The `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` tracking the completion of the loading work. |