AudioFocusSession
Constructors
new AudioFocusSession()
new AudioFocusSession(
id
):AudioFocusSession
Creates a new AudioFocusSession that can be used to manage audio focus requests.
Parameters
id
number
Session ID obtained from AudioFocusManager.AudioFocusManager.createAudioFocusSessionAsync
Returns
Properties
focusUsage
focusUsage:
number
sessionId
sessionId:
number
Methods
getAudioSessionId()
getAudioSessionId():
number
Gets the session ID for this AudioFocusSession instance.
Returns
number
The session ID assigned to this instance
getUsage()
getUsage():
number
Gets the current audio usage type for this focus session. Returns USAGE_NONE if no focus has been requested.
Returns
number
The current audio usage type from types/AudioCoreClientTypes.AudioUsageType enum
registerAudioFocusListenerAsync()
registerAudioFocusListenerAsync(
callback
):Promise
<AudioFocusStatus
>
Registers a callback to receive audio focus change notifications. Only one callback can be registered per session at a time.
Parameters
callback
(value
) => void
Function to receive focus change events. Events include:
GRANTED (0)
: Focus was grantedRELEASED (1)
: Focus was releasedDUCKED (2)
: Audio ducked (reduced volume)PAUSED (3)
: Audio pausedSTOPPED (4)
: Audio stop
Returns
Promise
<AudioFocusStatus
>
A promise that resolves to:
AUDIO_FOCUS_STATUS_NO_ERROR (0)
: Callback registered successfullyAUDIO_FOCUS_STATUS_BAD_VALUE (-2)
: Invalid callbackAUDIO_FOCUS_STATUS_NO_INIT (-3)
: Session not initializedAUDIO_FOCUS_STATUS_INVALID_OPERATION (-8)
: Callback already registered
releaseAudioFocusAsync()
releaseAudioFocusAsync():
Promise
<AudioFocusStatus
>
Releases previously requested audio focus. This must be called when audio playback is completed or when focus is no longer needed.
Returns
Promise
<AudioFocusStatus
>
A promise that resolves to:
AUDIO_FOCUS_STATUS_NO_ERROR (0)
: Focus released successfullyAUDIO_FOCUS_STATUS_BAD_VALUE (-2)
: Invalid session stateAUDIO_FOCUS_STATUS_NO_INIT (-3)
: Session not initializedAUDIO_FOCUS_STATUS_INVALID_OPERATION (-8)
: No focus held
requestAudioFocusAsync()
requestAudioFocusAsync(
attr
?):Promise
<AudioFocusStatus
>
Requests audio focus for the session with specified attributes. When focus is granted, any previously focused audio may be ducked, paused, or stopped based on the usage type.
Parameters
attr?
Optional configuration for focus request. If not provided, defaults to USAGE_MEDIA.
Returns
Promise
<AudioFocusStatus
>
A promise that resolves to:
AUDIO_FOCUS_STATUS_NO_ERROR (0)
: Focus granted successfullyAUDIO_FOCUS_STATUS_DENIED (1)
: Focus request deniedAUDIO_FOCUS_STATUS_DELAYED (2)
: Focus request delayedAUDIO_FOCUS_STATUS_BAD_VALUE (-2)
: Invalid attributesAUDIO_FOCUS_STATUS_NO_INIT (-3)
: Session not initializedAUDIO_FOCUS_STATUS_INVALID_OPERATION (-8)
: Invalid operation
unregisterAudioFocusListenerAsync()
unregisterAudioFocusListenerAsync():
Promise
<AudioFocusStatus
>
Unregister the previously registered focus change callback.
Returns
Promise
<AudioFocusStatus
>
A promise that resolves to:
AUDIO_FOCUS_STATUS_NO_ERROR (0)
: Callback unregistered successfullyAUDIO_FOCUS_STATUS_BAD_VALUE (-2)
: Invalid session stateAUDIO_FOCUS_STATUS_NO_INIT (-3)
: Session not initializedAUDIO_FOCUS_STATUS_INVALID_OPERATION (-8)
: No callback registered
Last updated: Sep 30, 2025