as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持
跳转到主要内容
Audio Focus Session allows audio focus management such as requesting audio focus and releasing audio focus. Audio Focus session is used by playback streams to request audio focus or release audio focus. A playback stream builder can specify an audio focus session to use by using playback stream builder’s setAudioFocusSessionId.

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

AudioFocusSession

Properties

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: (value: any) => void): 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: any) => void Function to receive focus change events. Events include:
  • GRANTED (0): Focus was granted
  • RELEASED (1): Focus was released
  • DUCKED (2): Audio ducked (reduced volume)
  • PAUSED (3): Audio paused
  • STOPPED (4): Audio stop

Returns

Promise<AudioFocusStatus> Promise<AudioFocusStatus> A promise that resolves to:
  • AUDIO_FOCUS_STATUS_NO_ERROR (0): Callback registered successfully
  • AUDIO_FOCUS_STATUS_BAD_VALUE (-2): Invalid callback
  • AUDIO_FOCUS_STATUS_NO_INIT (-3): Session not initialized
  • AUDIO_FOCUS_STATUS_INVALID_OPERATION (-8): Callback already registered

Examples


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> Promise<AudioFocusStatus> A promise that resolves to:
  • AUDIO_FOCUS_STATUS_NO_ERROR (0): Focus released successfully
  • AUDIO_FOCUS_STATUS_BAD_VALUE (-2): Invalid session state
  • AUDIO_FOCUS_STATUS_NO_INIT (-3): Session not initialized
  • AUDIO_FOCUS_STATUS_INVALID_OPERATION (-8): No focus held

Examples


requestAudioFocusAsync()

requestAudioFocusAsync(attr?: AudioFocusAttributes | undefined): 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?
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 successfully
  • AUDIO_FOCUS_STATUS_DENIED (1): Focus request denied
  • AUDIO_FOCUS_STATUS_DELAYED (2): Focus request delayed
  • AUDIO_FOCUS_STATUS_BAD_VALUE (-2): Invalid attributes
  • AUDIO_FOCUS_STATUS_NO_INIT (-3): Session not initialized
  • AUDIO_FOCUS_STATUS_INVALID_OPERATION (-8): Invalid operation

Examples


unregisterAudioFocusListenerAsync()

unregisterAudioFocusListenerAsync(): Promise<AudioFocusStatus>
Unregister the previously registered focus change callback.

Returns

Promise<AudioFocusStatus> Promise<AudioFocusStatus> A promise that resolves to:
  • AUDIO_FOCUS_STATUS_NO_ERROR (0): Callback unregistered successfully
  • AUDIO_FOCUS_STATUS_BAD_VALUE (-2): Invalid session state
  • AUDIO_FOCUS_STATUS_NO_INIT (-3): Session not initialized
  • AUDIO_FOCUS_STATUS_INVALID_OPERATION (-8): No callback registered

Examples

最后修改于 2026年8月25日