as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
AWS
Documentation
Support
Contact Us
My Cases
Get Started
Design and Develop
Publish
Reference
Support

AudioManager

Constructors

new AudioManager()

new AudioManager(): AudioManager

Returns

AudioManager

Methods

allocateCustomAudioEffectSessionAsync()

static allocateCustomAudioEffectSessionAsync(): Promise<number>

Creates a unique session ID for custom audio effects. This ID can be used to associate audio effects with specific playback or record streams.

Returns

Promise<number>

A promise that resolves to:

  • Positive number: New unique session ID

Rejects with:

  • STATUS_NO_MEMORY (-1): Failed to allocate session
  • STATUS_DEAD_OBJECT (-5): Server connection lost

areSystemSoundsEnabledAsync()

static areSystemSoundsEnabledAsync(): Promise<boolean>

Checks if system sounds are currently enabled.

Returns

Promise<boolean>

A promise that resolves to:

  • true: System sounds are enabled
  • false: System sounds are disabled

Rejects with:

  • STATUS_DEAD_OBJECT (-5): Server connection lost

disableAvrcpAbsoluteVolumeAsync()

static disableAvrcpAbsoluteVolumeAsync(btAddress): Promise<AudioStatus>

Disables AVRCP absolute volume control for a Bluetooth device. When disabled, volume control is handled by the system. Requires privilege: com.amazon.audio.privilege.settings.control

Parameters

btAddress

String

Bluetooth device address

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid address
  • STATUS_PERMISSION_DENIED (-9): Missing privilege
  • STATUS_INVALID_OPERATION (-8): Device doesn't support AVRCP
  • STATUS_DEAD_OBJECT (-5): Server connection lost

disableSystemSoundsAsync()

static disableSystemSoundsAsync(): Promise<AudioStatus>

Disables all system sounds. System sounds will not play until re-enabled with enableSystemSoundsAsync.

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_DEAD_OBJECT (-5): Server connection lost
  • STATUS_INVALID_OPERATION (-8): Operation failed

disableUsageAsync()

static disableUsageAsync(usage): Promise<AudioStatus>

Disables audio playback for a specific usage type. Currently only supports USAGE_NOTIFICATION. Requires privilege: com.amazon.audio.privilege.settings.control

Parameters

usage

number

Usage type to disable

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid or unsupported usage type
  • STATUS_PERMISSION_DENIED (-9): Missing privilege
  • STATUS_DEAD_OBJECT (-5): Server connection lost

enableAvrcpAbsoluteVolumeAsync()

static enableAvrcpAbsoluteVolumeAsync(btAddress): Promise<AudioStatus>

Enables AVRCP absolute volume control for a Bluetooth device. When enabled, volume control is handled by the Bluetooth device itself. Requires privilege: com.amazon.audio.privilege.settings.control

Parameters

btAddress

String

Bluetooth device address

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid address
  • STATUS_PERMISSION_DENIED (-9): Missing privilege
  • STATUS_INVALID_OPERATION (-8): Device doesn't support AVRCP
  • STATUS_DEAD_OBJECT (-5): Server connection lost

enableSystemSoundsAsync()

static enableSystemSoundsAsync(): Promise<AudioStatus>

Enables system sounds after they have been disabled. System sounds are enabled by default.

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_DEAD_OBJECT (-5): Server connection lost
  • STATUS_INVALID_OPERATION (-8): Operation failed

enableUsageAsync()

static enableUsageAsync(usage): Promise<AudioStatus>

Enables audio playback for a specific usage type. Currently only supports USAGE_NOTIFICATION. When setting other usages, the function will throw "[com.amazon.apmf.SecurityError]: No Permission" exception. Requires privilege: com.amazon.audio.privilege.settings.control

Parameters

usage

number

Usage type to enable

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid or unsupported usage type
  • STATUS_PERMISSION_DENIED (-9): Missing privilege
  • STATUS_DEAD_OBJECT (-5): Server connection lost

getAudioDeviceListAsync()

static getAudioDeviceListAsync(device, role): Promise<AudioDeviceInfo[]>

Gets a list of available audio devices matching the specified role.

Parameters

device

AudioDevice

Device type to filter by, or DEVICE_ALL for all devices. Values:

  • DEVICE_NONE (0x0)
  • DEVICE_DEFAULT (1 << 30)
  • DEVICE_SPEAKER (1 << 0)
  • DEVICE_WIRED_HEADSET (1 << 1)
  • DEVICE_BLUETOOTH_SCO (1 << 2)
  • DEVICE_BLUETOOTH_A2DP (1 << 3)
  • And others as defined in AudioDevice enum
role

AudioRole

Role to filter by. Values:

  • ROLE_SOURCE (0): Input devices
  • ROLE_SINK (1): Output devices
  • ROLE_SOURCE_SINK (2): Both input and output devices

Returns

Promise<AudioDeviceInfo[]>

A promise that resolves to an array of AudioDeviceInfo objects:

Each object contains:

  • role: AudioRole
  • type: AudioDevice
  • name: string
  • formats: AudioSampleFormat[]
  • sampleRates: AudioSampleRate[]
  • channelMasks: AudioChannelMask[]

Rejects with:

  • STATUS_BAD_VALUE (-2): Invalid parameters
  • STATUS_DEAD_OBJECT (-5): Server connection lost

getGlobalVolumeMuteAsync()

static getGlobalVolumeMuteAsync(): Promise<boolean>

Gets the current global volume mute state.

Returns

Promise<boolean>

A promise that resolves to:

  • true: Global mute is enabled
  • false: Global mute is disabled

Rejects with:

  • STATUS_DEAD_OBJECT (-5): Server connection lost

getMajorVersion()

static getMajorVersion(): number

Gets the major version number of the AudioManager. Can be used to make version checks.

Returns

number

The major version number


getMaxVolumeAsync()

static getMaxVolumeAsync(): Promise<number>

Gets the current maximum volume limit.

Returns

Promise<number>

A promise that resolves to:

  • 0-100: Current maximum volume limit

Rejects with:

  • STATUS_DEAD_OBJECT (-5): Server connection lost

getMicMuteAsync()

static getMicMuteAsync(): Promise<boolean>

Gets the current microphone mute state.

Returns

Promise<boolean>

A promise that resolves to:

  • true: Microphone is muted
  • false: Microphone is not muted

Rejects with:

  • STATUS_DEAD_OBJECT (-5): Server connection lost

getMinorVersion()

static getMinorVersion(): number

Gets the minor version number of the AudioManager. Can be used to make version checks.

Returns

number

The minor version number


getMuteAsync()

static getMuteAsync(volType): Promise<boolean>

Gets the mute state for a specific volume type. Requires privilege: com.amazon.audio.privilege.settings.control

Parameters

volType

AudioVolumeType

Volume type to query. See setVolumeAsync for types.

Returns

Promise<boolean>

A promise that resolves to:

  • true: Volume type is muted
  • false: Volume type is not muted

Rejects with:

  • STATUS_BAD_VALUE (-2): Invalid volume type
  • STATUS_PERMISSION_DENIED (-9): Missing privilege
  • STATUS_DEAD_OBJECT (-5): Server connection lost

getPatchVersion()

static getPatchVersion(): number

Gets the patch version number of the AudioManager. Can be used to make version checks.

Returns

number

The patch version number


getSinkFormatsSelectionPolicyAsync()

static getSinkFormatsSelectionPolicyAsync(): Promise<number>

Gets the current policy for selecting audio output formats.

Returns

Promise<number>

A promise that resolves to:

Rejects with:

  • STATUS_DEAD_OBJECT (-5): Server connection lost

getSupportedPlaybackConfigurationsAsync()

static getSupportedPlaybackConfigurationsAsync(attributes, deviceType): Promise<AudioConfigAttr[]>

Gets the supported audio configurations for playback with given attributes and device. Use this to determine valid combinations of format, sample rate, and channels.

Parameters

attributes

AudioAttributes

Audio attributes defining content type and usage

deviceType

number

Device type to query, use DEVICE_DEFAULT for current output

Returns

Promise<AudioConfigAttr[]>

A promise that resolves to an array of supported configurations:

Each config contains:

  • sampleRate: AudioSampleRate
  • channelMask: AudioChannelMask
  • format: AudioSampleFormat
  • layout: SampleLayout

Rejects with:

  • STATUS_BAD_VALUE (-2): Invalid parameters
  • STATUS_NOT_ENOUGH_DATA (-10): No configurations available
  • STATUS_DEAD_OBJECT (-5): Server connection lost

getSupportedRecordConfigurationsAsync()

static getSupportedRecordConfigurationsAsync(excludeDisconnectedDevice, sourceType): Promise<AudioConfigAttr[]>

Gets supported audio configurations for recording. Use this to determine valid combinations of format, sample rate, and channels for recording.

Parameters

excludeDisconnectedDevice

boolean

When true, only returns configurations for connected devices. When false, returns all supported configurations from config files.

sourceType

number

Audio source type to query configurations for

Returns

Promise<AudioConfigAttr[]>

A promise that resolves to an array of supported configurations:

Each config contains:

  • sampleRate: AudioSampleRate
  • channelMask: AudioChannelMask
  • format: AudioSampleFormat
  • layout: SampleLayout

Rejects with:

  • STATUS_BAD_VALUE (-2): Invalid parameters
  • STATUS_NOT_ENOUGH_DATA (-10): No configurations available
  • STATUS_DEAD_OBJECT (-5): Server connection lost

getSupportedSinkFormatsSelectionPoliciesAsync()

static getSupportedSinkFormatsSelectionPoliciesAsync(): Promise<SinkPolicies[]>

Gets a list of supported sink format selection policies. Not all devices support all policies - use this to determine available options.

Returns

Promise<SinkPolicies[]>

A promise that resolves to an array of supported policies:

Each entry contains:

  • policy: number (SinkFormatsSelectionPolicy value)

Rejects with:

  • STATUS_DEAD_OBJECT (-5): Server connection lost

getSystemSoundThemeAsync()

static getSystemSoundThemeAsync(): Promise<String>

Gets the currently active system sound theme.

Returns

Promise<String>

A promise that resolves to:

  • String: Current theme identifier

Rejects with:

  • STATUS_NO_FILE (-11): No theme set
  • STATUS_DEAD_OBJECT (-5): Server connection lost

getSystemSoundThemeListAsync()

static getSystemSoundThemeListAsync(): Promise<AudioTheme[]>

Gets a list of all supported system sound themes. System sound themes define different sets of sounds for system events.

Returns

Promise<AudioTheme[]>

A promise that resolves to an array of AudioTheme objects:

Each object contains:

  • theme: string (theme identifier)

Rejects with:

  • STATUS_NO_FILE (-11): Theme files not found
  • STATUS_DEAD_OBJECT (-5): Server connection lost

getTelephonyMuteAsync()

static getTelephonyMuteAsync(device, address): Promise<boolean>

Gets the mute state for telephony audio on a specific device.

Parameters

device

AudioDevice

Device to query

address

String

Unique identifier for the device.

Returns

Promise<boolean>

A promise that resolves to:

  • true: Telephony audio is muted
  • false: Telephony audio is not muted

Rejects with:

  • STATUS_BAD_VALUE (-2): Invalid parameters
  • STATUS_INVALID_OPERATION (-8): Device not in telephony mode
  • STATUS_DEAD_OBJECT (-5): Server connection lost

getVolumeAsync()

static getVolumeAsync(type): Promise<number>

Gets the current volume level for a specific audio type. Requires privilege: com.amazon.audio.privilege.settings.control

Parameters

type

AudioVolumeType

The audio type to query. See setVolumeAsync for types.

Returns

Promise<number>

A promise that resolves to:

  • 0-100: Current volume level
  • STATUS_BAD_VALUE (-2): Invalid type
  • STATUS_PERMISSION_DENIED (-9): Missing privilege
  • STATUS_DEAD_OBJECT (-5): Server connection lost

isAvrcpAbsoluteVolumeEnabledAsync()

static isAvrcpAbsoluteVolumeEnabledAsync(btAddress): Promise<boolean>

Checks if AVRCP absolute volume control is enabled for a Bluetooth device.

Parameters

btAddress

String

Bluetooth device address

Returns

Promise<boolean>

A promise that resolves to:

  • true: AVRCP absolute volume is enabled
  • false: AVRCP absolute volume is disabled Rejects with:
  • STATUS_BAD_VALUE (-2): Invalid address
  • STATUS_INVALID_OPERATION (-8): Device doesn't support AVRCP
  • STATUS_DEAD_OBJECT (-5): Server connection lost

isServerReadyAsync()

static isServerReadyAsync(): Promise<boolean>

Checks if the audio server is ready to process commands.

Returns

Promise<boolean>

A promise that resolves to:

  • true: Server is ready
  • false: Server is not ready

Rejects with:

  • STATUS_DEAD_OBJECT (-5): Server connection lost

Deprecated

This method is maintained for backwards compatibility but may be removed in future versions. Use the SERVER_UP/SERVER_DOWN events from registerAudioEventObserverAsync instead.


isUsageEnabledAsync()

static isUsageEnabledAsync(usage): Promise<boolean>

Checks if audio playback is enabled for a specific usage type.

Parameters

usage

number

Usage type to query

Returns

Promise<boolean>

A promise that resolves to:

  • true: Usage type is enabled
  • false: Usage type is disabled

Rejects with:

  • STATUS_BAD_VALUE (-2): Invalid usage type
  • STATUS_DEAD_OBJECT (-5): Server connection lost

playSystemSoundAsync()

static playSystemSoundAsync(soundType): Promise<AudioStatus>

Plays a system sound.

Parameters

soundType

AudioSystemSound

Type of system sound to play. Values:

  • BOOT_UP (0)
  • BACK_BUTTON (1)
  • HOME_BUTTON (4)
  • MENU_BUTTON (5)
  • UP/DOWN/LEFT/RIGHT (6/9)
  • MIC_ON/OFF (10/11)
  • BLUETOOTH related (12/14)
  • ERROR (15)
  • VOLUME_UP/DOWN (16/17)
  • And others as defined in AudioSystemSound enum

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid sound type
  • STATUS_NO_FILE (-11): Sound file not found
  • STATUS_DEAD_OBJECT (-5): Server connection lost

registerAudioEventObserverAsync()

static registerAudioEventObserverAsync(callback): Promise<AudioStatus>

Registers a callback function for audio system events. Only one callback can be registered at a time system-wide.

Parameters

callback

(value) => void

Callback function receiving events:

  • DEVICE_STATE_UPDATE (0): Audio device connection changed Parameters: {device: AudioDevice, role: AudioRole, connect: boolean}
  • VOLUME_UPDATE (1): Volume changed Parameters: {type: AudioVolumeType, volume: number}
  • GLOBAL_VOLUME_MUTE_UPDATE (2): Global mute changed Parameters: {mute: boolean}
  • SERVER_DOWN (3): Audio server unavailable
  • SERVER_UP (4): Audio server available
  • AUDIO_USAGE_STATE_CHANGE (5): Usage state changed Parameters: {usage: AudioUsageType, active: boolean}
  • MIC_MUTE_STATE_UPDATE (6): Microphone mute changed Parameters: {muteState: boolean}
  • VOLUME_MUTE_UPDATE (7): Volume type mute changed Parameters: {volumeType: AudioVolumeType, muteState: boolean}
  • TELEPHONY_MUTE_UPDATE (8): Telephony mute changed Parameters: {deviceType: AudioDevice, deviceAddress: string, deviceName: string, muteState: boolean}

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid callback
  • STATUS_ALREADY_EXISTS (-4): Callback already registered
  • STATUS_DEAD_OBJECT (-5): Server connection lost

setActiveVolumeAsync()

static setActiveVolumeAsync(volume): Promise<AudioStatus>

Sets the volume of the currently active stream. Active stream is determined by the most recent audio focus holder. Requires privilege: com.amazon.audio.privilege.settings.control

Parameters

volume

number

Volume level (0-100). Values outside this range will be clamped.

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid volume value
  • STATUS_PERMISSION_DENIED (-9): Missing privilege
  • STATUS_INVALID_OPERATION (-8): No active stream
  • STATUS_DEAD_OBJECT (-5): Server connection lost

setGlobalVolumeMuteAsync()

static setGlobalVolumeMuteAsync(mute, flags): Promise<AudioStatus>

Sets the global volume mute state. When enabled, mutes all audio output regardless of individual volume settings. Requires privilege: com.amazon.audio.privilege.settings.control

Parameters

mute

boolean

true to enable global mute, false to disable

flags

AudioVolumeFlags = AudioVolumeFlags.VOLUME_FLAG_NONE

Optional flags affecting mute behavior:

  • VOLUME_FLAG_NONE (0): No special behavior
  • VOLUME_FLAG_SHOW_UI (1): Show mute state UI
  • VOLUME_FLAG_PLAY_NOTIFICATION (2): Play state change sound

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_PERMISSION_DENIED (-9): Missing privilege
  • STATUS_DEAD_OBJECT (-5): Server connection lost
  • STATUS_INVALID_OPERATION (-8): Operation failed

setMaxVolumeAsync()

static setMaxVolumeAsync(maxVolume): Promise<AudioStatus>

Sets the maximum volume limit for all audio types. This acts as a global volume ceiling that affects all volume types. Requires privilege: com.amazon.audio.privilege.settings.control

Parameters

maxVolume

number

Maximum volume level (0-100). Values outside this range will be clamped. Current volumes exceeding this limit will be reduced to match.

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid volume value
  • STATUS_PERMISSION_DENIED (-9): Missing privilege
  • STATUS_DEAD_OBJECT (-5): Server connection lost

setMicMuteAsync()

static setMicMuteAsync(mute): Promise<AudioStatus>

Sets the microphone mute state. This affects all audio recording from the microphone.

Parameters

mute

boolean

true to mute microphone, false to unmute

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_DEAD_OBJECT (-5): Server connection lost
  • STATUS_INVALID_OPERATION (-8): Operation failed

setMuteAsync()

static setMuteAsync(volType, mute): Promise<AudioStatus>

Sets the mute state for a specific volume type. Muting a volume type silences all audio streams of that type. Requires privilege: com.amazon.audio.privilege.settings.control

Parameters

volType

AudioVolumeType

Volume type to mute/unmute. See setVolumeAsync for types.

mute

boolean

true to mute, false to unmute

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid volume type
  • STATUS_PERMISSION_DENIED (-9): Missing privilege
  • STATUS_DEAD_OBJECT (-5): Server connection lost

setSinkFormatsSelectionPolicyAsync()

static setSinkFormatsSelectionPolicyAsync(policy): Promise<AudioStatus>

Sets the policy for selecting audio output formats on HDMI/digital outputs. This affects how audio is encoded when sent to supporting devices.

Parameters

policy

SinkFormatsSelectionPolicy

Format selection policy:

  • AUTO (0): Choose based on sink capabilities
  • ENFORCE_PCM (1): Force PCM output
  • PASSTHROUGH_DDP (2): Allow Dolby Digital Plus passthrough
  • PASSTHROUGH_DD (3): Allow Dolby Digital passthrough
  • ENFORCE_DDP (4): Force Dolby Digital Plus encoding
  • ENFORCE_DD (5): Force Dolby Digital encoding

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid policy
  • STATUS_INVALID_OPERATION (-8): Policy not supported
  • STATUS_DEAD_OBJECT (-5): Server connection lost

setSystemSoundThemeAsync()

static setSystemSoundThemeAsync(soundTheme): Promise<AudioStatus>

Sets the active system sound theme. The theme must be one of those returned by getSystemSoundThemeListAsync.

Parameters

soundTheme

String

Theme identifier string

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid theme
  • STATUS_NO_FILE (-11): Theme files not found
  • STATUS_DEAD_OBJECT (-5): Server connection lost

setTelephonyMuteAsync()

static setTelephonyMuteAsync(device, address, mute): Promise<AudioStatus>

Sets the mute state for telephony audio on a specific device.

Parameters

device

AudioDevice

Device to set mute state for

address

String

Unique identifier for the device.

mute

boolean

true to mute, false to unmute

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invanvalid parameters
  • STATUS_INVALID_OPERATION (-8): Device not in telephony mode
  • STATUS_DEAD_OBJECT (-5): Server connection lost

setVolumeAsync()

static setVolumeAsync(type, volume, flags): Promise<AudioStatus>

Sets the volume for a specific audio type. Requires privilege: com.amazon.audio.privilege.settings.control

Parameters

type

AudioVolumeType

The audio type to adjust:

  • VOLUME_TYPE_DEFAULT (-1)
  • VOLUME_TYPE_MEDIA (0)
  • VOLUME_TYPE_VOICE_ASSISTANT (1)
  • VOLUME_TYPE_VOICE_CALL (2)
  • VOLUME_TYPE_RING (3)
  • VOLUME_TYPE_ALARM (4)
  • VOLUME_TYPE_NOTIFICATION (5)
  • VOLUME_TYPE_ACCESSIBILITY (6)
  • VOLUME_TYPE_SYSTEM (7)
  • VOLUME_TYPE_NAVIGATION (8)
volume

number

Volume level (0-100). Values outside this range will be clamped.

flags

AudioVolumeFlags = AudioVolumeFlags.VOLUME_FLAG_NONE

Optional flags affecting volume change behavior:

  • VOLUME_FLAG_NONE (0): No special behavior
  • VOLUME_FLAG_SHOW_UI (1): Show volume slider UI
  • VOLUME_FLAG_PLAY_NOTIFICATION (2): Play volume change sound

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid type or volume
  • STATUS_PERMISSION_DENIED (-9): Missing privilege
  • STATUS_DEAD_OBJECT (-5): Server connection lost

startTelephonyAsync()

static startTelephonyAsync(device, address, mode): Promise<AudioStatus>

Start telephony call from the specified device

Client can simply specify the device DEVICE_DEFAULT to let the audio server determine the telephony and initiate the call. On some specific platforms, it is possible to support multiple telephony sources such as HFP device, a voice call modem etc. In such case, the client can actually query the list of devices using the getAudioDeviceListAsync API and select a specific device and corresponding address.

Parameters

device

AudioDevice

Device to use for telephony audio. Common values:

  • DEVICE_DEFAULT (1 << 30)
  • DEVICE_BLUETOOTH_SCO (1 << 2)
  • DEVICE_BLUETOOTH_HFP (1 << 18)
  • DEVICE_WIRED_HEADSET (1 << 1)
address

String

Unique identifier for the device (e.g., Bluetooth address)

mode

AudioTelephonyMode

Telephony audio mode:

  • MODE_NARROW_BAND (0): Standard voice quality
  • MODE_WIDE_BAND (1): HD voice quality

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid parameters
  • STATUS_INVALID_OPERATION (-8): Device not available
  • STATUS_DEAD_OBJECT (-5): Server connection lost

stopTelephonyAsync()

static stopTelephonyAsync(device, address): Promise<AudioStatus>

Stops telephony audio on the specified device. Must be called when a call ends or when telephony audio is no longer needed.

Parameters

device

AudioDevice

Device to stop telephony audio on

address

String

Unique identifier for the device (e.g., Bluetooth address)

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid parameters
  • STATUS_INVALID_OPERATION (-8): Telephony not active
  • STATUS_DEAD_OBJECT (-5): Server connection lost

unregisterAudioEventObserverAsync()

static unregisterAudioEventObserverAsync(): Promise<AudioStatus>

Unregister the previously registered audio event callback.

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_INVALID_OPERATION (-8): No callback registered
  • STATUS_DEAD_OBJECT (-5): Server connection lost

updateActiveVolumeAsync()

static updateActiveVolumeAsync(update, fallbackType): Promise<AudioStatus>

Updates the volume of the active stream by incrementing or decrementing. If no stream is active, adjusts the volume of the specified fallback type. Requires privilege: com.amazon.audio.privilege.settings.control

Parameters

update

number

Type of update:

  • UP (0): Increase volume by one step
  • DOWN (1): Decrease volume by one step
fallbackType

AudioVolumeType

Volume type to adjust if no active stream

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid parameters
  • STATUS_PERMISSION_DENIED (-9): Missing privilege
  • STATUS_DEAD_OBJECT (-5): Server connection lost

updateVolumeAsync()

static updateVolumeAsync(type, volume): Promise<AudioStatus>

Updates the volume of a specific audio type by incrementing or decrementing. Requires privilege: com.amazon.audio.privilege.settings.control

Parameters

type

AudioVolumeType

The audio type to adjust. See setVolumeAsync for types.

volume

number

Type of update:

  • UP (0): Increase volume by one step
  • DOWN (1): Decrease volume by one step

Returns

Promise<AudioStatus>

A promise that resolves to:

  • STATUS_NO_ERROR (0): Success
  • STATUS_BAD_VALUE (-2): Invalid parameters
  • STATUS_PERMISSION_DENIED (-9): Missing privilege
  • STATUS_DEAD_OBJECT (-5): Server connection lost

Last updated: Sep 30, 2025