所需权限
API需要特定权限才能执行某些操作:使用的类型
请参阅构造函数
new AudioManager()
new AudioManager(): AudioManager返回值
AudioManager方法
allocateCustomAudioEffectSessionAsync()
static allocateCustomAudioEffectSessionAsync(): Promise<Int32>
为自定义音频效果创建唯一的会话ID。此ID可用于将音频效果与特定播放或录制流相关联。
返回值
Promise<Int32>
Promise 解析为如下的Promise:
- 正数:新的唯一会话ID
- (-1):分配会话失败
- (-5):服务器连接丢失
areSystemSoundsEnabledAsync()
static areSystemSoundsEnabledAsync(): Promise<boolean>
检查系统声音当前是否已启用。
返回值
Promise<boolean>
Promise 解析为如下的Promise:
true:系统声音已启用false:系统声音已禁用
- (-5):服务器连接丢失
disableAvrcpAbsoluteVolumeAsync()
static disableAvrcpAbsoluteVolumeAsync(btAddress: String): Promise<AudioStatus>
禁用蓝牙设备的AVRCP绝对音量控制。禁用后,音量控制由系统处理。
需要权限:com.amazon.audio.privilege.settings.control
此API仅限于Kepler系统应用程序使用,其他应用无法使用。在权限不足的情况下调用此API可能会导致无操作或安全异常。
参数
btAddress
String
蓝牙设备地址
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):地址无效
- (-9):缺少权限
- (-8):设备不支持AVRCP
- (-5):服务器连接丢失
disableSystemSoundsAsync()
static disableSystemSoundsAsync(): Promise<AudioStatus>
禁用所有系统声音。在通过enableSystemSoundsAsync重新启用之前,系统声音不会播放。
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-5):服务器连接丢失
- (-8):操作失败
disableUsageAsync()
static disableUsageAsync(usage: Int32): Promise<AudioStatus>
禁用特定使用类型的音频播放。目前仅支持USAGE_NOTIFICATION。
需要权限:com.amazon.audio.privilege.settings.control
此API仅限于Kepler系统应用程序使用,其他应用无法使用。在权限不足的情况下调用此API可能会导致无操作或安全异常。
参数
usage
Int32
要禁用的使用类型
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):使用类型无效或不受支持
- (-9):缺少权限
- (-5):服务器连接丢失
enableAvrcpAbsoluteVolumeAsync()
static enableAvrcpAbsoluteVolumeAsync(btAddress: String): Promise<AudioStatus>
启用蓝牙设备的AVRCP绝对音量控制。启用后,音量控制将由蓝牙设备本身处理。
需要权限:com.amazon.audio.privilege.settings.control
此API仅限于Kepler系统应用程序使用,其他应用无法使用。在权限不足的情况下调用此API可能会导致无操作或安全异常。
参数
btAddress
String
蓝牙设备地址
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):地址无效
- (-9):缺少权限
- (-8):设备不支持AVRCP
- (-5):服务器连接丢失
enableSystemSoundsAsync()
static enableSystemSoundsAsync(): Promise<AudioStatus>
禁用系统声音后将其启用。默认情况下,系统声音处于启用状态。
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-5):服务器连接丢失
- (-8):操作失败
enableUsageAsync()
static enableUsageAsync(usage: Int32): Promise<AudioStatus>
为特定使用类型启用音频播放。目前仅支持USAGE_NOTIFICATION。设置其他使用类型时,该函数将抛出
“[com.amazon.apmf.SecurityError]: No Permission”异常。
需要权限:com.amazon.audio.privilege.settings.control
此API仅限于Kepler系统应用程序使用,其他应用无法使用。在权限不足的情况下调用此API可能会导致无操作或安全异常。
参数
usage
Int32
要启用的使用类型
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):使用类型无效或不受支持
- (-9):缺少权限
- (-5):服务器连接丢失
getAudioDeviceListAsync()
static getAudioDeviceListAsync(device: AudioDevice, role: AudioRole): Promise<AudioDeviceInfo[]>
获取与指定角色匹配的可用音频设备的列表。
参数
device
AudioDevice 筛选依据的设备类型,若是针对所有设备则为DEVICE_ALL。值:- (0x0)
- (1 30)
- (1 0)
- (1 1)
- (1 2)
- (1 3)
- 以及其他在AudioDevice枚举中定义的内容
role
AudioRole 筛选依据的角色。值:- (0):输入设备
- (1):输出设备
- (2):输入和输出设备
返回值
Promise<AudioDeviceInfo[]>
PromiseAudioDeviceInfo[] 可以解析为AudioDeviceInfo对象数组的Promise:
每个对象包含:
role: AudioRoletype:AudioDevicename: stringformats:AudioSampleFormat[]sampleRates:AudioSampleRate[]channelMasks:AudioChannelMask[]
- (-2):参数无效
- (-5):服务器连接丢失
getGlobalVolumeMuteAsync()
static getGlobalVolumeMuteAsync(): Promise<boolean>
获取当前的全局音量静音状态。
返回值
Promise<boolean>
Promise 解析为如下的Promise:
true:全局静音已启用false:全局静音已禁用
- (-5):服务器连接丢失
示例
getMajorVersion()
static getMajorVersion(): number
获取AudioManager的主版本号。可用于进行版本检查。
返回值
number
number 主版本号
getMaxVolumeAsync()
static getMaxVolumeAsync(): Promise<Int32>
获取当前的最大音量限制。
返回值
Promise<Int32>
Promise 解析为如下的Promise:
- 0-100:当前最大音量限制
- (-5):服务器连接丢失
示例
getMicMuteAsync()
static getMicMuteAsync(): Promise<boolean>
获取当前麦克风静音状态。
返回值
Promise<boolean>
Promise 解析为如下的Promise:
true:麦克风已静音false:麦克风未静音
- (-5):服务器连接丢失
示例
getMinorVersion()
static getMinorVersion(): number
获取AudioManager的次版本号。可用于进行版本检查。
返回值
number
number 次版本号
getMuteAsync()
static getMuteAsync(volType: AudioVolumeType): Promise<boolean>
获取特定音量类型的系统范围静音状态。
需要权限:com.amazon.audio.privilege.settings.control
此API仅限于Kepler系统应用程序使用,其他应用无法使用。在权限不足的情况下调用此API可能会导致无操作或安全异常。
参数
volType
AudioVolumeType 要查询的音量类型。有关类型的信息,请参见setVolumeAsync。返回值
Promise<boolean>
Promise 解析为如下的Promise:
true:音量类型已静音false:音量类型未静音
- (-2):音量类型无效
- (-9):缺少权限
- (-5):服务器连接丢失
示例
getPatchVersion()
static getPatchVersion(): number
获取AudioManager的补丁版本号。可用于进行版本检查。
返回值
number
number 补丁版本号
getSinkFormatsSelectionPolicyAsync()
static getSinkFormatsSelectionPolicyAsync(): Promise<Int32>
获取当前选择音频输出格式的策略。
返回值
Promise<Int32>
Promise 解析为如下的Promise:
- SinkFormatsSelectionPolicy值。参见
- (-5):服务器连接丢失
示例
getSupportedPlaybackConfigurationsAsync()
static getSupportedPlaybackConfigurationsAsync(attributes: AudioAttributes, deviceType: Int32): Promise<AudioConfigAttr[]>
获取支持使用给定属性和设备进行播放的音频配置。使用它来确定格式、采样率和通道的有效组合。
参数
attributes
AudioAttributes 定义内容类型和使用类型的音频属性deviceType
Int32
要查询的设备类型,使用DEVICE_DEFAULT获取当前输出
返回值
Promise<AudioConfigAttr[]>
PromiseAudioConfigAttr[] 解析为受支持配置的数组的Promise:
每个配置包含:
sampleRate:AudioSampleRatechannelMask:AudioChannelMaskformat:AudioSampleFormatlayout:SampleLayout
- (-2):参数无效
- (-0):没有可用的配置
- (-5):服务器连接丢失
示例
getSupportedRecordConfigurationsAsync()
static getSupportedRecordConfigurationsAsync(excludeDisconnectedDevice: boolean, sourceType: Int32): Promise<AudioConfigAttr[]>
获取受支持的录制音频配置。使用此项来确定录制格式、采样率和通道的有效组合。
参数
excludeDisconnectedDevice
boolean
如果为true,则仅返回已连接设备的配置。如果为false,则返回配置文件中所有受支持的配置。
sourceType
Int32
用于查询配置的音频源类型
返回值
Promise<AudioConfigAttr[]>
PromiseAudioConfigAttr[] 解析为受支持配置的数组的Promise:
每个配置包含:
sampleRate:AudioSampleRatechannelMask:AudioChannelMaskformat:AudioSampleFormatlayout:SampleLayout
- (-2):参数无效
- (-0):没有可用的配置
- (-5):服务器连接丢失
getSupportedSinkFormatsSelectionPoliciesAsync()
static getSupportedSinkFormatsSelectionPoliciesAsync(): Promise<SinkPolicies[]>
获取支持的接收器格式选择策略列表。并非所有设备都支持所有策略 - 使用此项来确定可用选项。
返回值
Promise<SinkPolicies[]>
PromiseSinkPolicies[] 可以解析为受支持策略的数组的Promise:
每个条目包含:
- 策略:编号(
SinkFormatsSelectionPolicy值)
- (-5):服务器连接丢失
示例
getSystemSoundThemeAsync()
static getSystemSoundThemeAsync(): Promise<String>
获取当前处于活动状态的系统声音主题。
返回值
Promise<String>
Promise 解析为如下的Promise:
- 字符串:当前主题标识符
- (-1):未设置主题
- (-5):服务器连接丢失
getSystemSoundThemeListAsync()
static getSystemSoundThemeListAsync(): Promise<AudioTheme[]>
获取所有受支持的系统声音主题的列表。系统声音主题为系统事件定义不同的声音集。
返回值
Promise<AudioTheme[]>
PromiseAudioTheme[] 可以解析为AudioTheme对象数组的Promise:
每个对象包含:
theme:字符串(主题标识符)
- (-1):未找到主题文件
- (-5):服务器连接丢失
getTelephonyMuteAsync()
static getTelephonyMuteAsync(device: AudioDevice, address: String): Promise<boolean>
获取特定设备上电话音频的静音状态。
参数
device
AudioDevice 要查询的设备address
String
设备的唯一标识符。
返回值
Promise<boolean>
Promise 解析为如下的Promise:
true:电话音频已静音false:电话音频未静音
- (-2):参数无效
- (-8):设备未处于电话模式
- (-5):服务器连接丢失
示例
getVolumeAsync()
static getVolumeAsync(type: AudioVolumeType): Promise<Int32>
获取特定音频类型的系统范围当前音量。
需要权限:com.amazon.audio.privilege.settings.control
此API仅限于Kepler系统应用程序使用,其他应用无法使用。在权限不足的情况下调用此API可能会导致无操作或安全异常。
参数
type
AudioVolumeType 要查询的音频类型。有关类型的信息,请参见setVolumeAsync。返回值
Promise<Int32>
Promise 解析为如下的Promise:
- 0-100:当前音量水平
- (-2):类型无效
- (-9):缺少权限
- (-5):服务器连接丢失
示例
isAvrcpAbsoluteVolumeEnabledAsync()
static isAvrcpAbsoluteVolumeEnabledAsync(btAddress: String): Promise<boolean>
检查蓝牙设备是否启用了AVRCP绝对音量控制。
参数
btAddress
String
蓝牙设备地址
返回值
Promise<boolean>
Promise 解析为如下的Promise:
true:AVRCP绝对音量已启用false:AVRCP绝对音量已禁用使用以下项拒绝:- (-2):地址无效
- (-8):设备不支持AVRCP
- (-5):服务器连接丢失
isServerReadyAsync()
static isServerReadyAsync(): Promise<boolean>
检查音频服务器是否准备好处理命令。
返回值
Promise<boolean>
Promise 解析为如下的Promise:
true:服务器准备就绪false:服务器尚未准备就绪
- (-5):服务器连接丢失
示例
isUsageEnabledAsync()
static isUsageEnabledAsync(usage: Int32): Promise<boolean>
检查是否为特定使用类型启用了音频播放。
参数
usage
Int32
要查询的使用类型
返回值
Promise<boolean>
Promise 解析为如下的Promise:
true:使用类型已启用false:使用类型已禁用
- (-2):使用类型无效
- (-5):服务器连接丢失
playSystemSoundAsync()
static playSystemSoundAsync(soundType: AudioSystemSound): Promise<AudioStatus>
播放系统声音。
参数
soundType
AudioSystemSound 要播放的系统声音的类型。值: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)- 以及其他在AudioDevice枚举中定义的内容
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):声音类型无效
- (-1):找不到声音文件
- (-5):服务器连接丢失
registerAudioEventObserverAsync()
static registerAudioEventObserverAsync(callback: (value: any) => void): Promise<AudioStatus>
注册音频系统事件的回调函数。在全系统范围内一次只能注册一个回调。
参数
callback
(value: any) => void
接收事件的回调函数:
- (0):音频设备连接已更改参数:
{device: AudioDevice, role: AudioRole, connect: boolean} - (1):音量已更改参数:
{type: AudioVolumeType, volume: number} - (2):全局静音已更改参数:
{mute: boolean} - (3):音频服务器不可用
- (4):音频服务器可用
- (5):使用状态已更改参数:
{usage: AudioUsageType, active: boolean} - (6):麦克风静音已更改参数:
{muteState: boolean} - (7):音量类型静音已更改参数:
{volumeType: AudioVolumeType, muteState: boolean} - (8):电话静音已更改参数:deviceType: AudioDevice, deviceAddress: string, deviceName: string, muteState: boolean
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):回调无效
- (-4):回调已注册
- (-5):服务器连接丢失
示例
setActiveVolumeAsync()
static setActiveVolumeAsync(volume: Int32): Promise<AudioStatus>
设置当前活跃流的音量。活跃流由最新的音频焦点保持器确定。
需要权限:com.amazon.audio.privilege.settings.control
此API仅限于Kepler系统应用程序使用,其他应用无法使用。在权限不足的情况下调用此API可能会导致无操作或安全异常。
参数
volume
Int32
音量水平 (0-100)。超出此范围的值将被禁止。
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):音量值无效
- (-9):缺少权限
- (-8):没有活跃流
- (-5):服务器连接丢失
示例
setGlobalVolumeMuteAsync()
static setGlobalVolumeMuteAsync(mute: boolean, flags?: AudioVolumeFlags): Promise<AudioStatus>
设置全局音量静音状态。启用后,无论单个音量设置如何,都会将所有音频输出静音。
需要权限:com.amazon.audio.privilege.settings.control
此API仅限于Kepler系统应用程序使用,其他应用无法使用。在权限不足的情况下调用此API可能会导致无操作或安全异常。
参数
mute
boolean
为true时表示启用全局静音,为false时表示禁用
flags?
AudioVolumeFlags 影响静音行为的可选标记:- (0):没有特殊行为
- (1):显示静音状态用户界面
- (2):播放状态变更声音
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-9):缺少权限
- (-5):服务器连接丢失
- (-8):操作失败
示例
setMaxVolumeAsync()
static setMaxVolumeAsync(maxVolume: Int32): Promise<AudioStatus>
设置所有音频类型的最大音量限制。这充当全局音量上限,影响所有音量类型。
需要权限:com.amazon.audio.privilege.settings.control
此API仅限于Kepler系统应用程序使用,其他应用无法使用。在权限不足的情况下调用此API可能会导致无操作或安全异常。
参数
maxVolume
Int32
最大音量水平 (0-100)。超出此范围的值将被禁止。当前超出此限制的音量将减小以符合限制。
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):音量值无效
- (-9):缺少权限
- (-5):服务器连接丢失
示例
setMicMuteAsync()
static setMicMuteAsync(mute: boolean): Promise<AudioStatus>
设置麦克风静音状态。这会影响源自麦克风的所有音频记录。
参数
mute
boolean
为true时表示将麦克风静音,为false时表示取消静音
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-5):服务器连接丢失
- (-8):操作失败
示例
setMuteAsync()
static setMuteAsync(volType: AudioVolumeType, mute: boolean): Promise<AudioStatus>
设置特定音量类型的系统范围静音状态。将音量类型设为静音会使该类型的所有音频流静音。
需要权限:com.amazon.audio.privilege.settings.control
此API仅限于Kepler系统应用程序使用,其他应用无法使用。在权限不足的情况下调用此API可能会导致无操作或安全异常。
参数
volType
AudioVolumeType 将音量类型设置为静音/取消静音。有关类型的信息,请参见setVolumeAsync。mute
boolean
为true时表示静音,为false时表示取消静音
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):音量类型无效
- (-9):缺少权限
- (-5):服务器连接丢失
示例
setSinkFormatsSelectionPolicyAsync()
static setSinkFormatsSelectionPolicyAsync(policy: SinkFormatsSelectionPolicy): Promise<AudioStatus>
设置在HDMI/数字输出上选择音频输出格式的策略。这会影响音频在发送到支持设备时的编码方式。
参数
policy
SinkFormatsSelectionPolicy 格式选择策略:- (0):根据接收器能力进行选择
- (1):强制PCM输出
- (2):允许Dolby Digital Plus直通
- (3):允许Dolby Digital直通
- (4):强制使用Dolby Digital Plus编码
- (5):强制使用Dolby Digital编码
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):策略无效
- (-8):不支持的策略
- (-5):服务器连接丢失
示例
setSystemSoundThemeAsync()
static setSystemSoundThemeAsync(soundTheme: String): Promise<AudioStatus>
设置当前系统声音主题。该主题必须是getSystemSoundThemeListAsync返回的主题之一。
参数
soundTheme
String
主题标识符字符串
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):主题无效
- (-1):未找到主题文件
- (-5):服务器连接丢失
setTelephonyMuteAsync()
static setTelephonyMuteAsync(device: AudioDevice, address: String, mute: boolean): Promise<AudioStatus>
设置特定设备上电话音频的静音状态。
参数
device
AudioDevice 用于设置静音状态的设备address
String
设备的唯一标识符。
mute
boolean
为true时表示静音,为false时表示取消静音
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):参数无效
- (-8):设备未处于电话模式
- (-5):服务器连接丢失
示例
setVolumeAsync()
static setVolumeAsync(type: AudioVolumeType, volume: Int32, flags?: AudioVolumeFlags): Promise<AudioStatus>
设置特定音频类型的系统范围音量。
需要权限:com.amazon.audio.privilege.settings.control
此API仅限于Kepler系统应用程序使用,其他应用无法使用。在权限不足的情况下调用此API可能会导致无操作或安全异常。
参数
type
AudioVolumeType 要调整的音频类型:- (-1)
- (0)
- (1)
- (2)
- (3)
- (4)
- (5)
- (6)
- (7)
- (8)
volume
Int32
音量水平 (0-100)。超出此范围的值将被禁止。
flags?
AudioVolumeFlags 影响音量变化行为的可选标记:- (0):没有特殊行为
- (1):显示音量滑块用户界面
- (2):播放音量变化的声音
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):类型或音量无效
- (-9):缺少权限
- (-5):服务器连接丢失
示例
startTelephonyAsync()
static startTelephonyAsync(device: AudioDevice, address: String, mode: AudioTelephonyMode): Promise<AudioStatus>
从指定设备开始电话呼叫
客户端只需指定设备DEVICE_DEFAULT即可让音频服务器确定电话并发起呼叫。在某些特定平台上,可以支持多个电话来源,例如HFP设备、语音呼叫调制解调器等。在这种情况下,客户端实际上可以使用API查询设备列表,然后选择特定的设备和相应的地址。
参数
device
AudioDevice 用于电话音频的设备。常用值为:- (1 30)
- (1 2)
- (1 18)
- (1 1)
address
String
设备的唯一标识符(例如,蓝牙地址)
mode
AudioTelephonyMode 电话音频模式:MODE_NARROW_BAND (0):标准语音质量MODE_WIDE_BAND (1):高清语音质量
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):参数无效
- (-8):无可用的设备
- (-5):服务器连接丢失
stopTelephonyAsync()
static stopTelephonyAsync(device: AudioDevice, address: String): Promise<AudioStatus>
停止指定设备上的电话音频。必须在通话结束或不再需要电话音频时呼叫。
参数
device
AudioDevice 停止开启电话音频的设备address
String
设备的唯一标识符(例如,蓝牙地址)
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):参数无效
- (-8):电话未激活
- (-5):服务器连接丢失
unregisterAudioEventObserverAsync()
static unregisterAudioEventObserverAsync(): Promise<AudioStatus>
取消注册之前注册的音频事件回调。
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-8):未注册任何回调
- (-5):服务器连接丢失
示例
updateActiveVolumeAsync()
static updateActiveVolumeAsync(update: Int32, fallbackType: AudioVolumeType): Promise<AudioStatus>
通过递增或递减来更新活动流的音量。如果没有流处于活动状态,则调整指定回退类型的系统范围音量。
需要权限:com.amazon.audio.privilege.settings.control
此API仅限于Kepler系统应用程序使用,其他应用无法使用。在权限不足的情况下调用此API可能会导致无操作或安全异常。
参数
update
Int32
更新类型:
- (0):逐步增大音量
- (1):将音量降低一个步幅
fallbackType
AudioVolumeType 没有活跃流时要调整的音量类型返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):参数无效
- (-9):缺少权限
- (-5):服务器连接丢失
示例
updateVolumeAsync()
static updateVolumeAsync(type: AudioVolumeType, volume: Int32): Promise<AudioStatus>
通过递增或递减来更新特定音频类型的系统范围音量。
需要权限:com.amazon.audio.privilege.settings.control
此API仅限于Kepler系统应用程序使用,其他应用无法使用。在权限不足的情况下调用此API可能会导致无操作或安全异常。
参数
type
AudioVolumeType 要调整的音频类型。有关类型的信息,请参见setVolumeAsync。volume
Int32
更新类型:
- (0):逐步增大音量
- (1):将音量降低一个步幅
返回值
Promise<AudioStatus>
Promise 解析为如下的Promise:
- (0):成功
- (-2):参数无效
- (-9):缺少权限
- (-5):服务器连接丢失

