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

*** ** * ** ***


```
class AudioOutputProvider.OutputConfig.Builder
```

<br />

*** ** * ** ***

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

## Summary

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

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

## Public constructors

### Builder

```
Builder()
```

Creates a new instance.

## Public functions

### build

```
fun build(): AudioOutputProvider.OutputConfig!
```

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

### setAudioAttributes

```
@CanIgnoreReturnValue
fun setAudioAttributes(audioAttributes: AudioAttributes!): AudioOutputProvider.OutputConfig.Builder!
```

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

### setAudioSessionId

```
@CanIgnoreReturnValue
fun setAudioSessionId(audioSessionId: Int): AudioOutputProvider.OutputConfig.Builder!
```

Sets the audio session ID.

### setBufferSize

```
@CanIgnoreReturnValue
fun setBufferSize(bufferSize: Int): AudioOutputProvider.OutputConfig.Builder!
```

Sets the buffer size of the output in bytes.

### setChannelMask

```
@CanIgnoreReturnValue
fun setChannelMask(channelMask: Int): AudioOutputProvider.OutputConfig.Builder!
```

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
fun setEncoding(@C.Encoding encoding: Int): AudioOutputProvider.OutputConfig.Builder!
```

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

### setIsOffload

```
@CanIgnoreReturnValue
fun setIsOffload(isOffload: Boolean): AudioOutputProvider.OutputConfig.Builder!
```

Sets whether offload is enabled for this output.

### setIsTunneling

```
@CanIgnoreReturnValue
fun setIsTunneling(isTunneling: Boolean): AudioOutputProvider.OutputConfig.Builder!
```

Sets whether tunneling is enabled for this output.

### setSampleRate

```
@CanIgnoreReturnValue
fun setSampleRate(sampleRate: Int): AudioOutputProvider.OutputConfig.Builder!
```

Sets the sample rate of the audio data.

### setUseOffloadGapless

```
@CanIgnoreReturnValue
fun setUseOffloadGapless(useOffloadGapless: Boolean): AudioOutputProvider.OutputConfig.Builder!
```

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

### setUsePlaybackParameters

```
@CanIgnoreReturnValue
fun setUsePlaybackParameters(usePlaybackParameters: Boolean): AudioOutputProvider.OutputConfig.Builder!
```

Sets whether playback speed control is enabled for this output.

### setVirtualDeviceId

```
@CanIgnoreReturnValue
fun setVirtualDeviceId(virtualDeviceId: Int): AudioOutputProvider.OutputConfig.Builder!
```

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