# LoudnessCodecController

# LoudnessCodecController

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/mediacodec/LoudnessCodecController.java+class:androidx.media3.exoplayer.mediacodec.LoudnessCodecController)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/media3/exoplayer/mediacodec/LoudnessCodecController "View this page in Java")

<br />

```
@RequiresApi(value = 35)
@UnstableApi
class LoudnessCodecController
```

<br />

*** ** * ** ***

Wrapper class for the platform[android.media.LoudnessCodecController](https://developer.android.com/reference/android/media/LoudnessCodecController.html).

## Summary

|                                                                                                                                              ### Nested types                                                                                                                                               |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `interface `[LoudnessCodecController.LoudnessParameterUpdateListener](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/mediacodec/LoudnessCodecController.LoudnessParameterUpdateListener) Interface to intercept and modify loudness parameters before applying them to the codec. |

|                                                                                                                                                                                                                                                      ### Public constructors                                                                                                                                                                                                                                                      |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [LoudnessCodecController](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/mediacodec/LoudnessCodecController#LoudnessCodecController())`()` Creates the loudness controller.                                                                                                                                                                                                                                                                                                                             |
| [LoudnessCodecController](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/mediacodec/LoudnessCodecController#LoudnessCodecController(androidx.media3.exoplayer.mediacodec.LoudnessCodecController.LoudnessParameterUpdateListener))`(` ` updateListener: `[LoudnessCodecController.LoudnessParameterUpdateListener](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/mediacodec/LoudnessCodecController.LoudnessParameterUpdateListener)`!` `)` Creates the loudness controller. |

|                             ### Public functions                              |
|-------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [addMediaCodec](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/mediacodec/LoudnessCodecController#addMediaCodec(android.media.MediaCodec))`(mediaCodec: `[MediaCodec](https://developer.android.com/reference/android/media/MediaCodec.html)`!)` Adds a codec to be configured by the loudness controller.               |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [release](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/mediacodec/LoudnessCodecController#release())`()` Releases the loudness controller.                                                                                                                                                                             |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [removeMediaCodec](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/mediacodec/LoudnessCodecController#removeMediaCodec(android.media.MediaCodec))`(mediaCodec: `[MediaCodec](https://developer.android.com/reference/android/media/MediaCodec.html)`!)` Removes a codec from being configured by the loudness controller. |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [setAudioSessionId](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/mediacodec/LoudnessCodecController#setAudioSessionId(int))`(audioSessionId: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Configures the loudness controller with an audio session id.                              |

## Public constructors

### LoudnessCodecController

```
LoudnessCodecController()
```

Creates the loudness controller.  

### LoudnessCodecController

```
LoudnessCodecController(
    updateListener: LoudnessCodecController.LoudnessParameterUpdateListener!
)
```

Creates the loudness controller.  

|                                                                                                         Parameters                                                                                                          |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `updateListener: `[LoudnessCodecController.LoudnessParameterUpdateListener](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/mediacodec/LoudnessCodecController.LoudnessParameterUpdateListener)`!` | The[LoudnessParameterUpdateListener](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/mediacodec/LoudnessCodecController.LoudnessParameterUpdateListener)to intercept and modify parameters. |

## Public functions

### addMediaCodec

```
fun addMediaCodec(mediaCodec: MediaCodec!): Unit
```

Adds a codec to be configured by the loudness controller.  

|                                              Parameters                                              |
|------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------|
| `mediaCodec: `[MediaCodec](https://developer.android.com/reference/android/media/MediaCodec.html)`!` | A[MediaCodec](https://developer.android.com/reference/android/media/MediaCodec.html). |

### release

```
fun release(): Unit
```

Releases the loudness controller.  

### removeMediaCodec

```
fun removeMediaCodec(mediaCodec: MediaCodec!): Unit
```

Removes a codec from being configured by the loudness controller.  

|                                              Parameters                                              |
|------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------|
| `mediaCodec: `[MediaCodec](https://developer.android.com/reference/android/media/MediaCodec.html)`!` | A[MediaCodec](https://developer.android.com/reference/android/media/MediaCodec.html). |

### setAudioSessionId

```
fun setAudioSessionId(audioSessionId: Int): Unit
```

Configures the loudness controller with an audio session id.  

|                                          Parameters                                           |
|-----------------------------------------------------------------------------------------------|-----------------------|
| `audioSessionId: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | The audio session ID. |