# ByteArrayDataSource.UriResolver

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/ByteArrayDataSource.java+class:androidx.media3.datasource.ByteArrayDataSource.UriResolver)

*** ** * ** ***

<br />

```
interface ByteArrayDataSource.UriResolver
```

<br />

*** ** * ** ***

Functional interface to resolve from `https://developer.android.com/reference/android/net/Uri.html` to `byte[]`.

## Summary

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte/index.html>!` | `https://developer.android.com/reference/kotlin/androidx/media3/datasource/ByteArrayDataSource.UriResolver#resolve(android.net.Uri)(uri: https://developer.android.com/reference/android/net/Uri.html!)` Resolves a `https://developer.android.com/reference/android/net/Uri.html` to a `byte[]`. |

## Public functions

### resolve

```
fun resolve(uri: Uri!): Array<Byte>!
```

Resolves a `https://developer.android.com/reference/android/net/Uri.html` to a `byte[]`.

Called during `https://developer.android.com/reference/kotlin/androidx/media3/datasource/DataSource#open(androidx.media3.datasource.DataSpec)` from a loading thread, so can do blocking work.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte/index.html>!` | The resolved byte array. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/io/IOException.html` | if the provided URI is not recognized, or an error occurs during resolution. |