# MediaRouteSelector.Builder

Artifact: [androidx.mediarouter:mediarouter](https://developer.android.com/jetpack/androidx/releases/mediarouter) [View Source](https://cs.android.com/search?q=file:androidx/mediarouter/media/MediaRouteSelector.java+class:androidx.mediarouter.media.MediaRouteSelector.Builder) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

*** ** * ** ***


```
public final class MediaRouteSelector.Builder
```

<br />

*** ** * ** ***

Builder for `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector.Builder#Builder()()` Creates an empty media route selector builder. |
| `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector.Builder#Builder(androidx.mediarouter.media.MediaRouteSelector)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector selector)` Creates a media route selector descriptor builder whose initial contents are copied from an existing selector. |

| ### Public methods |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector.Builder` | `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector.Builder#addControlCategories(java.util.Collection<java.lang.String>)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/Collection.html<https://developer.android.com/reference/java/lang/String.html> categories)` Adds a list of `https://developer.android.com/reference/androidx/mediarouter/media/MediaControlIntent` to the builder. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector.Builder` | `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector.Builder#addControlCategory(java.lang.String)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html category)` Adds a `https://developer.android.com/reference/androidx/mediarouter/media/MediaControlIntent` to the builder. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector.Builder` | `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector.Builder#addSelector(androidx.mediarouter.media.MediaRouteSelector)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector selector)` Adds the contents of an existing media route selector to the builder. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector` | `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector.Builder#build()()` Builds the `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector`. |

## Public constructors

### Builder

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public Builder()
```

Creates an empty media route selector builder.

### Builder

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public Builder(@NonNull MediaRouteSelector selector)
```

Creates a media route selector descriptor builder whose initial contents are copied from an existing selector.

## Public methods

### addControlCategories

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public @NonNull MediaRouteSelector.Builder addControlCategories(@NonNull Collection<String> categories)
```

Adds a list of `https://developer.android.com/reference/androidx/mediarouter/media/MediaControlIntent` to the builder.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/Collection.html<https://developer.android.com/reference/java/lang/String.html> categories` | The list categories to add to the set of desired capabilities, such as `https://developer.android.com/reference/androidx/mediarouter/media/MediaControlIntent#CATEGORY_LIVE_AUDIO()`. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector.Builder` | The builder instance for chaining. |

### addControlCategory

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public @NonNull MediaRouteSelector.Builder addControlCategory(@NonNull String category)
```

Adds a `https://developer.android.com/reference/androidx/mediarouter/media/MediaControlIntent` to the builder.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html category` | The category to add to the set of desired capabilities, such as `https://developer.android.com/reference/androidx/mediarouter/media/MediaControlIntent#CATEGORY_LIVE_AUDIO()`. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector.Builder` | The builder instance for chaining. |

### addSelector

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public @NonNull MediaRouteSelector.Builder addSelector(@NonNull MediaRouteSelector selector)
```

Adds the contents of an existing media route selector to the builder.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector selector` | The media route selector whose contents are to be added. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector.Builder` | The builder instance for chaining. |

### build

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public @NonNull MediaRouteSelector build()
```

Builds the `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector`.