# FileDataSource.Factory

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

*** ** * ** ***


```
class FileDataSource.Factory : DataSource.Factory
```

<br />

*** ** * ** ***

`https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSource.Factory` for `https://developer.android.com/reference/kotlin/androidx/media3/datasource/FileDataSource` instances.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/datasource/FileDataSource.Factory#Factory()()` |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/datasource/FileDataSource!` | `https://developer.android.com/reference/kotlin/androidx/media3/datasource/FileDataSource.Factory#createDataSource()()` Creates a `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSource` instance. |
| `https://developer.android.com/reference/kotlin/androidx/media3/datasource/FileDataSource.Factory!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/datasource/FileDataSource.Factory#setListener(androidx.media3.datasource.TransferListener)(listener: https://developer.android.com/reference/kotlin/androidx/media3/datasource/TransferListener?)` Sets a `https://developer.android.com/reference/kotlin/androidx/media3/datasource/TransferListener` for `https://developer.android.com/reference/kotlin/androidx/media3/datasource/FileDataSource` instances created by this factory. |

## Public constructors

### Factory

```
Factory()
```

## Public functions

### createDataSource

```
fun createDataSource(): FileDataSource!
```

Creates a `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSource` instance.

### setListener

```
@CanIgnoreReturnValue
fun setListener(listener: TransferListener?): FileDataSource.Factory!
```

Sets a `https://developer.android.com/reference/kotlin/androidx/media3/datasource/TransferListener` for `https://developer.android.com/reference/kotlin/androidx/media3/datasource/FileDataSource` instances created by this factory.

| Parameters |
|---|---|
| `listener: https://developer.android.com/reference/kotlin/androidx/media3/datasource/TransferListener?` | The `https://developer.android.com/reference/kotlin/androidx/media3/datasource/TransferListener`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/datasource/FileDataSource.Factory!` | This factory. |