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

*** ** * ** ***


```
public interface ByteArrayDataSource.UriResolver
```

<br />

*** ** * ** ***

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

## Summary

| ### Public methods |
|---|---|
| `abstract byte[]` | `https://developer.android.com/reference/androidx/media3/datasource/ByteArrayDataSource.UriResolver#resolve(android.net.Uri)(https://developer.android.com/reference/android/net/Uri.html uri)` Resolves a `https://developer.android.com/reference/android/net/Uri.html` to a `byte[]`. |

## Public methods

### resolve

```
abstract byte[] resolve(Uri uri)
```

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

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

| Returns |
|---|---|
| `byte[]` | 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. |