# AudioFocusRequestCompat

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

*** ** * ** ***


```
@UnstableApi
public final class AudioFocusRequestCompat
```

<br />

*** ** * ** ***

Compatibility version of an `https://developer.android.com/reference/android/media/AudioFocusRequest.html` with fallbacks for older Android versions.

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat.Builder` Builder class for `https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat` objects. |

| ### Public fields |
|---|---|
| `final https://developer.android.com/reference/androidx/media3/common/AudioAttributes` | `https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat#audioAttributes()` |
| `final https://developer.android.com/reference/android/os/Handler.html` | `https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat#focusChangeHandler()` |
| `final int` | `@https://developer.android.com/reference/androidx/media3/common/audio/AudioManagerCompat.AudioFocusGain https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat#focusGain()` |
| `final https://developer.android.com/reference/android/media/AudioManager.OnAudioFocusChangeListener.html` | `https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat#onAudioFocusChangeListener()` |

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat#acceptsDelayedFocusGain()()` Returns whether the application that would use this `AudioFocusRequestCompat` supports a focus gain granted after a temporary request failure. |
| `https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat.Builder` | `https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat#buildUpon()()` Returns new `https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat.Builder` with all values of this instance pre-populated. |
| `boolean` | `https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat#equals(java.lang.Object)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/Object.html o)` |
| `https://developer.android.com/reference/androidx/media3/common/AudioAttributes` | `https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat#getAudioAttributes()()` Returns the `https://developer.android.com/reference/androidx/media3/common/AudioAttributes` set for this `AudioFocusRequestCompat`, or the default attributes if none were set. |
| `https://developer.android.com/reference/android/os/Handler.html` | `https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat#getFocusChangeHandler()()` Returns the `https://developer.android.com/reference/android/os/Handler.html` to be used for the `https://developer.android.com/reference/android/media/AudioManager.OnAudioFocusChangeListener.html`. |
| `int` | `@https://developer.android.com/reference/androidx/media3/common/audio/AudioManagerCompat.AudioFocusGain https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat#getFocusGain()()` Returns the type of `https://developer.android.com/reference/androidx/media3/common/audio/AudioManagerCompat.AudioFocusGain` configured for this ` AudioFocusRequestCompat`. |
| `https://developer.android.com/reference/android/media/AudioManager.OnAudioFocusChangeListener.html` | `https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat#getOnAudioFocusChangeListener()()` Returns the `https://developer.android.com/reference/android/media/AudioManager.OnAudioFocusChangeListener.html` set for this ` AudioFocusRequestCompat`. |
| `int` | `https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat#hashCode()()` |
| `boolean` | `https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat#willPauseWhenDucked()()` Returns whether the application that would use this `AudioFocusRequestCompat` would pause when it is requested to duck. |

## Public fields

### audioAttributes

```
public final AudioAttributes audioAttributes
```

### focusChangeHandler

```
public final Handler focusChangeHandler
```

### focusGain

```
@AudioManagerCompat.AudioFocusGain
public final int focusGain
```

### onAudioFocusChangeListener

```
public final AudioManager.OnAudioFocusChangeListener onAudioFocusChangeListener
```

## Public methods

### acceptsDelayedFocusGain

```
public boolean acceptsDelayedFocusGain()
```

Returns whether the application that would use this `AudioFocusRequestCompat` supports a focus gain granted after a temporary request failure. This value is only applicable on `https://developer.android.com/reference/android/os/Build.VERSION_CODES.html#O` and later.

### buildUpon

```
public AudioFocusRequestCompat.Builder buildUpon()
```

Returns new `https://developer.android.com/reference/androidx/media3/common/audio/AudioFocusRequestCompat.Builder` with all values of this instance pre-populated.

### equals

```
public boolean equals(@Nullable Object o)
```

### getAudioAttributes

```
public AudioAttributes getAudioAttributes()
```

Returns the `https://developer.android.com/reference/androidx/media3/common/AudioAttributes` set for this `AudioFocusRequestCompat`, or the default attributes if none were set.

### getFocusChangeHandler

```
public Handler getFocusChangeHandler()
```

Returns the `https://developer.android.com/reference/android/os/Handler.html` to be used for the `https://developer.android.com/reference/android/media/AudioManager.OnAudioFocusChangeListener.html`.

### getFocusGain

```
@AudioManagerCompat.AudioFocusGain
public int getFocusGain()
```

Returns the type of `https://developer.android.com/reference/androidx/media3/common/audio/AudioManagerCompat.AudioFocusGain` configured for this `
AudioFocusRequestCompat`.

### getOnAudioFocusChangeListener

```
public AudioManager.OnAudioFocusChangeListener getOnAudioFocusChangeListener()
```

Returns the `https://developer.android.com/reference/android/media/AudioManager.OnAudioFocusChangeListener.html` set for this `
AudioFocusRequestCompat`.

| Returns |
|---|---|
| `https://developer.android.com/reference/android/media/AudioManager.OnAudioFocusChangeListener.html` | The `https://developer.android.com/reference/android/media/AudioManager.OnAudioFocusChangeListener.html` that was set. |

### hashCode

```
public int hashCode()
```

### willPauseWhenDucked

```
public boolean willPauseWhenDucked()
```

Returns whether the application that would use this `AudioFocusRequestCompat` would pause when it is requested to duck. This value is only applicable on `https://developer.android.com/reference/android/os/Build.VERSION_CODES.html#O` and later.