# AudioAttributes

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

*** ** * ** ***


```
class AudioAttributes
```

<br />

*** ** * ** ***

Attributes for audio playback, which configure the underlying platform `https://developer.android.com/reference/android/media/AudioTrack.html`.

To set the audio attributes, create an instance using the `https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes.Builder` and either pass it to the player or send a message of type `Renderer#MSG_SET_AUDIO_ATTRIBUTES` to the audio renderers.

This class is based on `https://developer.android.com/reference/android/media/AudioAttributes.html`, but can be used on all supported API versions.

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes.AudioAttributesV21` **This class is deprecated.** Use `https://developer.android.com/reference/android/media/AudioAttributes.html`. <br /> |
| `class https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes.Builder` Builder for `https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes`. |

| ### Constants |
|---|---|
| `const https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes!` | `https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#DEFAULT()` The default audio attributes, where the content type is `https://developer.android.com/reference/kotlin/androidx/media3/common/C#AUDIO_CONTENT_TYPE_UNKNOWN()`, usage is `https://developer.android.com/reference/kotlin/androidx/media3/common/C#USAGE_MEDIA()`, capture policy is `https://developer.android.com/reference/kotlin/androidx/media3/common/C#ALLOW_CAPTURE_BY_ALL()` and no flags are set. |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes.Builder!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#buildUpon()()` Create new AudioAttributes based on an existing instance. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#equals(java.lang.Object)(obj: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` |
| `java-static https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#fromBundle(android.os.Bundle)(bundle: https://developer.android.com/reference/android/os/Bundle.html!)` Restores a `AudioAttributes` from a `https://developer.android.com/reference/android/os/Bundle.html`. |
| `java-static https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes!` | `https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#fromPlatformAudioAttributes(android.media.AudioAttributes)(audioAttributes: https://developer.android.com/reference/android/media/AudioAttributes.html!)` Creates a new instance from the provided `https://developer.android.com/reference/android/media/AudioAttributes.html`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes.AudioAttributesV21!` | `[getAudioAttributesV21](https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#getAudioAttributesV21())()` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#getPlatformAudioAttributes()` <br /> |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi @https://developer.android.com/reference/kotlin/androidx/media3/common/C.StreamType [getStreamType](https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#getStreamType())()` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#getVolumeControlStream()` instead. <br /> |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.StreamType https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#getVolumeControlStream()()` Returns the `https://developer.android.com/reference/kotlin/androidx/media3/common/C.StreamType` for these audio attributes. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#hashCode()()` |
| `https://developer.android.com/reference/android/os/Bundle.html!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#toBundle()()` |

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.AudioAllowedCapturePolicy https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#allowedCapturePolicy()` The `https://developer.android.com/reference/kotlin/androidx/media3/common/C.AudioAllowedCapturePolicy`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.AudioContentType https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#contentType()` The `https://developer.android.com/reference/kotlin/androidx/media3/common/C.AudioContentType`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.AudioFlags https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#flags()` The `https://developer.android.com/reference/kotlin/androidx/media3/common/C.AudioFlags`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#hapticChannelsMuted()` Whether haptic channels are muted. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#isContentSpatialized()` Whether the content is spatialized. |
| `https://developer.android.com/reference/android/media/AudioAttributes.html?` | `https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#platformAudioAttributes()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.SpatializationBehavior https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#spatializationBehavior()` The `https://developer.android.com/reference/kotlin/androidx/media3/common/C.SpatializationBehavior`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.AudioUsage https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#usage()` The `https://developer.android.com/reference/kotlin/androidx/media3/common/C.AudioUsage`. |

## Constants

### DEFAULT

```
const val DEFAULT: AudioAttributes!
```

The default audio attributes, where the content type is `https://developer.android.com/reference/kotlin/androidx/media3/common/C#AUDIO_CONTENT_TYPE_UNKNOWN()`, usage is `https://developer.android.com/reference/kotlin/androidx/media3/common/C#USAGE_MEDIA()`, capture policy is `https://developer.android.com/reference/kotlin/androidx/media3/common/C#ALLOW_CAPTURE_BY_ALL()` and no flags are set.

## Public functions

### buildUpon

```
@UnstableApi
fun buildUpon(): AudioAttributes.Builder!
```

Create new AudioAttributes based on an existing instance.

### equals

```
fun equals(obj: Any?): Boolean
```

### fromBundle

```
@UnstableApi
java-static fun fromBundle(bundle: Bundle!): AudioAttributes!
```

Restores a `AudioAttributes` from a `https://developer.android.com/reference/android/os/Bundle.html`.

### fromPlatformAudioAttributes

```
java-static fun fromPlatformAudioAttributes(audioAttributes: AudioAttributes!): AudioAttributes!
```

Creates a new instance from the provided `https://developer.android.com/reference/android/media/AudioAttributes.html`.

### getAudioAttributesV21

```
fun [getAudioAttributesV21](https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#getAudioAttributesV21())(): AudioAttributes.AudioAttributesV21!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#getPlatformAudioAttributes()`

### getStreamType

```
@UnstableApi
@C.StreamType
fun [getStreamType](https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#getStreamType())(): Int
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes#getVolumeControlStream()` instead.

### getVolumeControlStream

```
@C.StreamType
fun getVolumeControlStream(): Int
```

Returns the `https://developer.android.com/reference/kotlin/androidx/media3/common/C.StreamType` for these audio attributes.

### hashCode

```
fun hashCode(): Int
```

### toBundle

```
@UnstableApi
fun toBundle(): Bundle!
```

## Public properties

### allowedCapturePolicy

```
@C.AudioAllowedCapturePolicy
val allowedCapturePolicy: Int
```

The `https://developer.android.com/reference/kotlin/androidx/media3/common/C.AudioAllowedCapturePolicy`.

### contentType

```
@C.AudioContentType
val contentType: Int
```

The `https://developer.android.com/reference/kotlin/androidx/media3/common/C.AudioContentType`.

### flags

```
@C.AudioFlags
val flags: Int
```

The `https://developer.android.com/reference/kotlin/androidx/media3/common/C.AudioFlags`.

### hapticChannelsMuted

```
@UnstableApi
val hapticChannelsMuted: Boolean
```

Whether haptic channels are muted.

### isContentSpatialized

```
@UnstableApi
val isContentSpatialized: Boolean
```

Whether the content is spatialized.

### platformAudioAttributes

```
val platformAudioAttributes: AudioAttributes?
```

### spatializationBehavior

```
@C.SpatializationBehavior
val spatializationBehavior: Int
```

The `https://developer.android.com/reference/kotlin/androidx/media3/common/C.SpatializationBehavior`.

### usage

```
@C.AudioUsage
val usage: Int
```

The `https://developer.android.com/reference/kotlin/androidx/media3/common/C.AudioUsage`.