# AudioOutputProvider.OutputConfig.Builder

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

*** ** * ** ***


```
public final class AudioOutputProvider.OutputConfig.Builder
```

<br />

*** ** * ** ***

Builder for `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig` instances.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder#Builder()()` Creates a new instance. |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder#build()()` Builds the `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder#setAudioAttributes(androidx.media3.common.AudioAttributes)(https://developer.android.com/reference/androidx/media3/common/AudioAttributes audioAttributes)` Sets the `https://developer.android.com/reference/androidx/media3/common/AudioAttributes`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder#setAudioSessionId(int)(int audioSessionId)` Sets the audio session ID. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder#setBufferSize(int)(int bufferSize)` Sets the buffer size of the output in bytes. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder#setChannelMask(int)(int channelMask)` Sets the channel mask of the output. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder#setEncoding(int)(@https://developer.android.com/reference/androidx/media3/common/C.Encoding int encoding)` Sets the `https://developer.android.com/reference/androidx/media3/common/C.Encoding` of the audio data. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder#setIsOffload(boolean)(boolean isOffload)` Sets whether offload is enabled for this output. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder#setIsTunneling(boolean)(boolean isTunneling)` Sets whether tunneling is enabled for this output. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder#setSampleRate(int)(int sampleRate)` Sets the sample rate of the audio data. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder#setUseOffloadGapless(boolean)(boolean useOffloadGapless)` Sets whether gapless offload playback is enabled for this output via `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutput#setOffloadDelayPadding(int,int)`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder#setUsePlaybackParameters(boolean)(boolean usePlaybackParameters)` Sets whether playback speed control is enabled for this output. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig.Builder#setVirtualDeviceId(int)(int virtualDeviceId)` Sets the virtual device ID, or `https://developer.android.com/reference/androidx/media3/common/C#INDEX_UNSET()` if not specified. |

## Public constructors

### Builder

```
public Builder()
```

Creates a new instance.

## Public methods

### build

```
public AudioOutputProvider.OutputConfig build()
```

Builds the `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutputProvider.OutputConfig`.

### setAudioAttributes

```
@CanIgnoreReturnValue
public AudioOutputProvider.OutputConfig.Builder setAudioAttributes(AudioAttributes audioAttributes)
```

Sets the `https://developer.android.com/reference/androidx/media3/common/AudioAttributes`.

### setAudioSessionId

```
@CanIgnoreReturnValue
public AudioOutputProvider.OutputConfig.Builder setAudioSessionId(int audioSessionId)
```

Sets the audio session ID.

### setBufferSize

```
@CanIgnoreReturnValue
public AudioOutputProvider.OutputConfig.Builder setBufferSize(int bufferSize)
```

Sets the buffer size of the output in bytes.

### setChannelMask

```
@CanIgnoreReturnValue
public AudioOutputProvider.OutputConfig.Builder setChannelMask(int channelMask)
```

Sets the channel mask of the output.

See `AudioFormat.CHANNEL_OUT_XXX` constants like `https://developer.android.com/reference/android/media/AudioFormat.html#CHANNEL_OUT_5POINT1`.

### setEncoding

```
@CanIgnoreReturnValue
public AudioOutputProvider.OutputConfig.Builder setEncoding(@C.Encoding int encoding)
```

Sets the `https://developer.android.com/reference/androidx/media3/common/C.Encoding` of the audio data.

### setIsOffload

```
@CanIgnoreReturnValue
public AudioOutputProvider.OutputConfig.Builder setIsOffload(boolean isOffload)
```

Sets whether offload is enabled for this output.

### setIsTunneling

```
@CanIgnoreReturnValue
public AudioOutputProvider.OutputConfig.Builder setIsTunneling(boolean isTunneling)
```

Sets whether tunneling is enabled for this output.

### setSampleRate

```
@CanIgnoreReturnValue
public AudioOutputProvider.OutputConfig.Builder setSampleRate(int sampleRate)
```

Sets the sample rate of the audio data.

### setUseOffloadGapless

```
@CanIgnoreReturnValue
public AudioOutputProvider.OutputConfig.Builder setUseOffloadGapless(boolean useOffloadGapless)
```

Sets whether gapless offload playback is enabled for this output via `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioOutput#setOffloadDelayPadding(int,int)`.

### setUsePlaybackParameters

```
@CanIgnoreReturnValue
public AudioOutputProvider.OutputConfig.Builder setUsePlaybackParameters(boolean usePlaybackParameters)
```

Sets whether playback speed control is enabled for this output.

### setVirtualDeviceId

```
@CanIgnoreReturnValue
public AudioOutputProvider.OutputConfig.Builder setVirtualDeviceId(int virtualDeviceId)
```

Sets the virtual device ID, or `https://developer.android.com/reference/androidx/media3/common/C#INDEX_UNSET()` if not specified. The default value is `https://developer.android.com/reference/androidx/media3/common/C#INDEX_UNSET()`.