Required services
The API requires declaration of the system audio service:Types Used
Constructors
new AudioFocusSession()
new AudioFocusSession(id): AudioFocusSession
Parameters
id
number
Session ID obtained from AudioFocusManager.createAudioFocusSessionAsync
Returns
AudioFocusSessionProperties
sessionId
sessionId: number
focusUsage
focusUsage: number
Methods
getAudioSessionId()
getAudioSessionId(): number
Gets the session ID for this AudioFocusSession instance.
Returns
number
number The session ID assigned to this instance
Examples
getUsage()
getUsage(): number
Gets the current audio usage type for this focus session.
Returns USAGE_NONE if no focus has been requested.
Returns
number
number The current audio usage type from AudioUsageType enum
Examples
registerAudioFocusListenerAsync()
registerAudioFocusListenerAsync(callback:Registers a callback to receive audio focus change notifications. Only one callback can be registered per session at a time.(value: any) => void):Promise<AudioFocusStatus>
Parameters
callback
(value: any) => 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>
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
Examples
releaseAudioFocusAsync()
releaseAudioFocusAsync():Releases previously requested audio focus. This must be called when audio playback is completed or when focus is no longer needed.Promise<AudioFocusStatus>
Returns
Promise<AudioFocusStatus>
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
Examples
requestAudioFocusAsync()
requestAudioFocusAsync(attr?: AudioFocusAttributesRequests 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.| undefined):Promise<AudioFocusStatus>
Parameters
attr?
AudioFocusAttributes | undefined
Optional configuration for focus request. If not provided,
defaults to USAGE_MEDIA.
Returns
Promise<AudioFocusStatus>
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
Examples
unregisterAudioFocusListenerAsync()
unregisterAudioFocusListenerAsync():Unregister the previously registered focus change callback.Promise<AudioFocusStatus>
Returns
Promise<AudioFocusStatus>
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

