# AudioBecomingNoisyManager

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/audio/AudioBecomingNoisyManager.java+class:androidx.media3.common.audio.AudioBecomingNoisyManager)

*** ** * ** ***


```
@UnstableApi
public final class AudioBecomingNoisyManager
```

<br />

*** ** * ** ***

Utility class to detect when audio is becoming noisy.

The class must be used from a single thread. This can be the main thread as all blocking operations are internally handled on the background `https://developer.android.com/reference/android/os/Looper.html` thread provided in the constructor.

## Summary

| ### Nested types |
|---|
| `public interface https://developer.android.com/reference/androidx/media3/common/audio/AudioBecomingNoisyManager.Listener` Listener for becoming noisy events. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/common/audio/AudioBecomingNoisyManager#AudioBecomingNoisyManager(android.content.Context,android.os.Looper,android.os.Looper,androidx.media3.common.audio.AudioBecomingNoisyManager.Listener,androidx.media3.common.util.Clock)( https://developer.android.com/reference/android/content/Context.html context, https://developer.android.com/reference/android/os/Looper.html backgroundLooper, https://developer.android.com/reference/android/os/Looper.html eventLooper, https://developer.android.com/reference/androidx/media3/common/audio/AudioBecomingNoisyManager.Listener listener, https://developer.android.com/reference/androidx/media3/common/util/Clock clock )` Creates the audio becoming noisy manager. |

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/media3/common/audio/AudioBecomingNoisyManager#setEnabled(boolean)(boolean enabled)` Enables the `https://developer.android.com/reference/androidx/media3/common/audio/AudioBecomingNoisyManager` which calls `https://developer.android.com/reference/androidx/media3/common/audio/AudioBecomingNoisyManager.Listener#onAudioBecomingNoisy()` upon receiving an intent of `https://developer.android.com/reference/android/media/AudioManager.html#ACTION_AUDIO_BECOMING_NOISY`. |

## Public constructors

### AudioBecomingNoisyManager

```
public AudioBecomingNoisyManager(
    Context context,
    Looper backgroundLooper,
    Looper eventLooper,
    AudioBecomingNoisyManager.Listener listener,
    Clock clock
)
```

Creates the audio becoming noisy manager.

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/content/Context.html context` | A `https://developer.android.com/reference/android/content/Context.html`. |
| `https://developer.android.com/reference/android/os/Looper.html backgroundLooper` | A background {link Looper}. |
| `https://developer.android.com/reference/android/os/Looper.html eventLooper` | The event listener `https://developer.android.com/reference/android/os/Looper.html`. |
| `https://developer.android.com/reference/androidx/media3/common/audio/AudioBecomingNoisyManager.Listener listener` | The `https://developer.android.com/reference/androidx/media3/common/audio/AudioBecomingNoisyManager.Listener` |
| `https://developer.android.com/reference/androidx/media3/common/util/Clock clock` | The `https://developer.android.com/reference/androidx/media3/common/util/Clock` to schedule handler messages. |

## Public methods

### setEnabled

```
public void setEnabled(boolean enabled)
```

Enables the `https://developer.android.com/reference/androidx/media3/common/audio/AudioBecomingNoisyManager` which calls `https://developer.android.com/reference/androidx/media3/common/audio/AudioBecomingNoisyManager.Listener#onAudioBecomingNoisy()` upon receiving an intent of `https://developer.android.com/reference/android/media/AudioManager.html#ACTION_AUDIO_BECOMING_NOISY`.

| Parameters |
|---|---|
| `boolean enabled` | True if the listener should be notified when audio is becoming noisy. |