# CastPlayer.Builder

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

*** ** * ** ***


```
public final class CastPlayer.Builder
```

<br />

*** ** * ** ***

Builder for `https://developer.android.com/reference/androidx/media3/cast/CastPlayer`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.Builder#Builder(android.content.Context)(https://developer.android.com/reference/android/content/Context.html context)` Creates a builder. |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/cast/CastPlayer` | `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.Builder#build()()` Creates and returns the new `https://developer.android.com/reference/androidx/media3/cast/CastPlayerImpl` instance. |
| `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/cast/CastPlayer.Builder#setLocalPlayer(androidx.media3.common.Player)(https://developer.android.com/reference/androidx/media3/common/Player localPlayer)` Sets the `https://developer.android.com/reference/androidx/media3/common/Player` to use for local playback. |
| `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/cast/CastPlayer.Builder#setRemotePlayer(androidx.media3.cast.RemoteCastPlayer)(https://developer.android.com/reference/androidx/media3/cast/RemoteCastPlayer remotePlayer)` Sets the `https://developer.android.com/reference/androidx/media3/cast/RemoteCastPlayer` to use for remote playback. |
| `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/cast/CastPlayer.Builder#setTransferCallback(androidx.media3.cast.CastPlayer.TransferCallback)(https://developer.android.com/reference/androidx/media3/cast/CastPlayer.TransferCallback transferCallback)` Sets the `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.TransferCallback` to call when the active player changes. |

## Public constructors

### Builder

```
public Builder(Context context)
```

Creates a builder.

The builder uses the following default values:

- `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.TransferCallback`: `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.TransferCallback#DEFAULT()`.
- `https://developer.android.com/reference/androidx/media3/cast/RemoteCastPlayer`: `https://developer.android.com/reference/androidx/media3/cast/RemoteCastPlayer`.
- `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.Builder#setLocalPlayer(androidx.media3.common.Player)`: `https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlayer`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/content/Context.html context` | A `https://developer.android.com/reference/android/content/Context.html`. |

## Public methods

### build

```
public CastPlayer build()
```

Creates and returns the new `https://developer.android.com/reference/androidx/media3/cast/CastPlayerImpl` instance.

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If this method has already been called on this instance. |

### setLocalPlayer

```
@CanIgnoreReturnValue
public CastPlayer.Builder setLocalPlayer(Player localPlayer)
```

Sets the `https://developer.android.com/reference/androidx/media3/common/Player` to use for local playback.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/Player localPlayer` | A `https://developer.android.com/reference/androidx/media3/common/Player`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.Builder` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.Builder#build()` has already been called on this builder instance. |

### setRemotePlayer

```
@CanIgnoreReturnValue
public CastPlayer.Builder setRemotePlayer(RemoteCastPlayer remotePlayer)
```

Sets the `https://developer.android.com/reference/androidx/media3/cast/RemoteCastPlayer` to use for remote playback.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/cast/RemoteCastPlayer remotePlayer` | A `https://developer.android.com/reference/androidx/media3/cast/RemoteCastPlayer`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.Builder` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.Builder#build()` has already been called on this builder instance. |

### setTransferCallback

```
@CanIgnoreReturnValue
public CastPlayer.Builder setTransferCallback(CastPlayer.TransferCallback transferCallback)
```

Sets the `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.TransferCallback` to call when the active player changes.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.TransferCallback transferCallback` | A `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.TransferCallback`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.Builder` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/androidx/media3/cast/CastPlayer.Builder#build()` has already been called on this builder instance. |