as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

音频核心客户端类型

音频核心客户端类型
  • TOC

可用类型:

  • AudioContentType
  • AudioUsageType
  • AudioStatus
  • AudioVolumeType
  • AudioVolumeFlags
  • AudioRole
  • AudioDevice
  • AudioTelephonyMode
  • AudioEvent
  • AudioSampleRate
  • AudioChannelMask
  • AudioSampleFormat
  • AudioFlags
  • AudioConfig
  • AudioAttributes
  • AudioDeviceInfo
  • AudioSource
  • AudioSystemSound
  • SampleLayout
  • SinkFormatsSelectionPolicy
  • StreamDuckingPolicy
  • AudioPlaybackEvent
  • DuckingMode
  • AudioFocusStatus
  • AudioFocusAttributes
  • AudioFocusChange

AudioContentType

描述

每个值决定了播放流不同的内容类型。内容类型可以帮助音频系统了解正在播放的内容类型,这会影响这些内容在音频焦点和路由方面的处理方式。

可能的值

export enum AudioContentType {
    CONTENT_TYPE_NONE = 0,
    CONTENT_TYPE_SPEECH = 1,
    CONTENT_TYPE_MUSIC = 2,
    CONTENT_TYPE_MOVIE = 3,
    CONTENT_TYPE_SONIFICATION = 4,
    CONTENT_TYPE_GAME = 5,
    CONTENT_TYPE_TONE = 6
}

可能的映射

内容类型 值​ 描述 焦点行为 典型用法
CONTENT_TYPE_NONE 0 未指定的内容类型 默认焦点处理 内容类型未知时执行的默认回退操作
CONTENT_TYPE_SPEECH 1 人类语音内容 焦点的高优先级 语音通话、语音助手
CONTENT_TYPE_MUSIC 2 音乐内容 标准媒体焦点,支持定时音频 音乐流媒体、音频播放器
CONTENT_TYPE_MOVIE 3 电影/视频内容 标准媒体焦点,支持定时音频 视频播放器、流媒体应用
CONTENT_TYPE_SONIFICATION 4 系统声音和用户界面反馈 低优先级焦点 用户界面声音、提醒
CONTENT_TYPE_GAME 5 游戏音频内容 标准媒体焦点 游戏
CONTENT_TYPE_TONE 6 简单音调 低优先级焦点 提醒音、通知

注意:​ 对于定时音频播放(同步音频),与USAGE_MEDIA一起使用时,仅支持CONTENT_TYPE_MUSIC和CONTENT_TYPE_MOVIE。

AudioUsageType

描述

每个值决定了播放流不同的使用类型。使用类型会影响:

  • 音频焦点行为(优先级、放弃)
  • 音量曲线映射
  • 路由决策
  • 与其他音频流的交互

可能的值

/**
 * 音频使用类型枚举
 */
export enum AudioUsageType {
    USAGE_NONE = 0,
    USAGE_MEDIA = 1,
    USAGE_COMMUNICATION = 2,
    USAGE_ALARM = 3,
    USAGE_NOTIFICATION = 4,
    USAGE_ACCESSIBILITY = 5,
    USAGE_ANNOUNCEMENT = 6,
    USAGE_NAVIGATION = 7,
    USAGE_RING = 8,
    USAGE_VOICE_ASSISTANT = 9,
    USAGE_SYSTEM = 10,
    USAGE_VOICE_RECOGNITION = 11,
    USAGE_VOICE_PROMPT = 12,
    USAGE_SPOKEN_WORD_CONTENT = 13,
    USAGE_TEXT_READER = 14
};

可能的映射

使用类型 值​ 焦点优先级 焦点行为 音量行为 典型应用
USAGE_NONE 0 最低 无焦点管理 默认曲线 使用情况未知时执行的回退操作
USAGE_MEDIA 1 标准 会因更高优先级而放弃 媒体曲线 音乐、视频播放器
USAGE_COMMUNICATION 2 放弃其他流 通信曲线 VoIP,通话
USAGE_ALARM 3 放弃媒体 警报曲线 闹钟
USAGE_NOTIFICATION 4 会被放弃 通知曲线 系统通知
USAGE_ACCESSIBILITY 5 放弃大多数其他音频 辅助功能曲线 屏幕阅读器
USAGE_ANNOUNCEMENT 6 会放弃较低优先级 公告曲线 导航提示
USAGE_NAVIGATION 7 放弃媒体 导航曲线 GPS应用
USAGE_RING 8 放弃媒体 环形曲线 电话铃声
USAGE_VOICE_ASSISTANT 9 最高 放弃或暂停其他 助手曲线 语音助手
USAGE_SYSTEM 10 System 系统优先级 系统曲线 系统声音
USAGE_VOICE_RECOGNITION 11 独占焦点 识别曲线 语音输入
USAGE_VOICE_PROMPT 12 放弃其他 提示曲线 系统语音提示
USAGE_SPOKEN_WORD_CONTENT 13 标准 类似于媒体 语音曲线 有声读物
USAGE_TEXT_READER 14 放弃媒体 阅读器曲线 语音朗读

说明:

  • 优先级较高的音频使用类型可能会中断优先级较低的音频使用类型
  • 中断后,流可能:
    • 已放弃(音量减小)
    • 已暂停
    • 已停止
    • 已释放
  • 焦点可以使用AudioFocusSession进行明确管理

AudioStatus

描述

表示进行音频API调用时可能发生的不同状态。每个值代表调用是成功还是返回了错误。

可能的值

`export enum AudioStatus {
    /* 成功 */
    STATUS_NO_ERROR = 0,

    /* 分配内存失败 */
    STATUS_NO_MEMORY = -1,

    /* 参数无效 */
    STATUS_BAD_VALUE = -2,

    /* IPC接收器初始化失败 */
    STATUS_NO_INIT = -3,

    /* 已设置参数 */
    STATUS_ALREADY_EXISTS = -4,

    /* IPC接收器进程已终止 */
    STATUS_DEAD_OBJECT = -5,

    /* 操作会受阻 */
    STATUS_WOULD_BLOCK = -6,

    /* 操作超时 */
    STATUS_TIMED_OUT = -7,

    /* 操作无效 */
    STATUS_INVALID_OPERATION = -8,

    /* 权限不足 */
    STATUS_PERMISSION_DENIED = -9,

    /* 内存不足* /
    STATUS_NOT_ENOUGH_DATA = -10,

    /* 没有此文件或目录 */
    STATUS_NO_FILE = -11,

    /* INT32_MIN值 */
    STATUS_UNKNOWN_ERROR = -2147483648
}; `

AudioVolumeType

描述

每个值代表不同的音量类型,例如媒体、语音通话、导航等。

有关具体的使用情况,请参阅音量函数: AudioManager - VolumeAsync
AudioPlaybackStream - VolumeAsync

可能的值

export enum AudioVolumeType {
    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
};

AudioVolumeFlags

描述

每个值代表不同类型的音频音量标记。如果设置了SHOW_UI,则会出现一个单独的音量控制面板。如果设置了PLAY_NOTIFICATION,则会在音量增加或减小时播放提示音。

可能的值

export enum AudioVolumeFlags {
    VOLUME_FLAG_NONE = 0,
    VOLUME_FLAG_SHOW_UI = 1,
    VOLUME_FLAG_PLAY_NOTIFICATION = 2
};

AudioRole

描述

音频设备可能发挥的作用

可能的值

export enum AudioRole {
    ROLE_SOURCE = 0,
    ROLE_SINK = 1,
    ROLE_SOURCE_SINK = 2
};

AudioDevice

描述

可供使用的音频设备

可能的值

export enum AudioDevice {
    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,
    DEVICE_AUX_LINE = 1 << 4,
    DEVICE_AUX_DIGITAL = 1 << 5,
    DEVICE_HDMI = 1 << 6,
    DEVICE_HDMI_ARC = 1 << 7,
    DEVICE_USB_HEADSET = 1 << 8,
    DEVICE_USB_DEVICE = 1 << 9,
    DEVICE_SPDIF = 1 << 10,
    DEVICE_TERRESTRIAL_RADIO_TUNER = 1 << 11,
    DEVICE_TV_TUNER = 1 << 12,
    DEVICE_ECHO_CANCELLER = 1 << 13,
    DEVICE_BUILTIN_MIC = 1 << 14,
    DEVICE_LOOPBACK = 1 << 15,
    DEVICE_PROXY = 1 << 16,
    DEVICE_TELEPHONY = 1 << 17,
    DEVICE_BLUETOOTH_HFP = 1 << 18,
    DEVICE_BLUETOOTH_LE_REMOTE = 1 << 19,
    DEVICE_SATELLITE_RADIO_TUNER = 1 << 20,

    DEVICE_ALL = DEVICE_SPEAKER | DEVICE_WIRED_HEADSET |
                              DEVICE_BLUETOOTH_SCO |
                              DEVICE_BLUETOOTH_A2DP |
                              DEVICE_AUX_LINE |
                              DEVICE_AUX_DIGITAL |
                              DEVICE_HDMI |
                              DEVICE_HDMI_ARC |
                              DEVICE_USB_HEADSET |
                              DEVICE_USB_DEVICE |
                              DEVICE_SPDIF |
                              DEVICE_TERRESTRIAL_RADIO_TUNER |
                              DEVICE_TV_TUNER |
                              DEVICE_ECHO_CANCELLER |
                              DEVICE_BUILTIN_MIC |
                              DEVICE_LOOPBACK |
                              DEVICE_PROXY |
                              DEVICE_TELEPHONY |
                              DEVICE_BLUETOOTH_HFP |
                              DEVICE_BLUETOOTH_LE_REMOTE |
                              DEVICE_SATELLITE_RADIO_TUNER
};

AudioTelephonyMode

描述

可用的电话模式

可能的值

export enum AudioTelephonyMode {
    MODE_NARROW_BAND = 0,
    MODE_WIDE_BAND = 1
};

AudioEvent

描述

每个值代表可能发生的不同类型的音频更改事件,例如,每当音量增加或减少时,就会发生VOLUME_UPDATE。这些事件将发送给注册的回调。

可能的值

export enum AudioEvent {
    DEVICE_STATE_UPDATE = 0,
    VOLUME_UPDATE = 1,
    GLOBAL_VOLUME_MUTE_UPDATE = 2,
    SERVER_DOWN = 3,
    SERVER_UP = 4,
    AUDIO_USAGE_STATE_CHANGE = 5,
    MIC_MUTE_STATE_UPDATE = 6,
    VOLUME_MUTE_UPDATE = 7,
    TELEPHONY_MUTE_UPDATE = 8
};

AudioSampleRate

描述

可用于定义播放流使用的采样率的值

可能的值

export enum AudioSampleRate {
    SAMPLE_RATE_INVALID = -1,
    SAMPLE_RATE_NONE = 0,
    SAMPLE_RATE_2_KHZ = 2000,
    SAMPLE_RATE_8_KHZ = 8000,
    SAMPLE_RATE_11_025_KHZ = 11025,
    SAMPLE_RATE_12_KHZ = 12000,
    SAMPLE_RATE_16_KHZ = 16000,
    SAMPLE_RATE_22_050_KHZ = 22050,
    SAMPLE_RATE_24_KHZ = 24000,
    SAMPLE_RATE_32_KHZ = 32000,
    SAMPLE_RATE_44_1_KHZ = 44100,
    SAMPLE_RATE_48_KHZ = 48000,
    SAMPLE_RATE_64_KHZ = 64000,
    SAMPLE_RATE_88_2_KHZ = 88200,
    SAMPLE_RATE_96_KHZ = 96000,
    SAMPLE_RATE_128_KHZ = 128000,
    SAMPLE_RATE_176_4_KHZ = 176400,
    SAMPLE_RATE_192_KHZ = 192000
};

AudioChannelMask

描述

可用于定义播放流使用的掩码的频道

可能的值

export enum AudioChannelMask {
    CHANNEL_NONE,
    CHANNEL_INVALID,
    CHANNEL_BIT_MAX,

    /* 单个频道位的起始位置 */
    CHANNEL_FRONT_LEFT,
    CHANNEL_FRONT_RIGHT,
    CHANNEL_FRONT_CENTER,
    CHANNEL_LOW_FREQUENCY,
    CHANNEL_BACK_LEFT,
    CHANNEL_BACK_RIGHT,
    CHANNEL_BACK_CENTER,
    CHANNEL_SIDE_LEFT,
    CHANNEL_SIDE_RIGHT,
    CHANNEL_TOP_CENTER,
    CHANNEL_TOP_FRONT_LEFT,
    CHANNEL_TOP_FRONT_RIGHT,
    CHANNEL_TOP_FRONT_CENTER,
    CHANNEL_TOP_BACK_LEFT,
    CHANNEL_TOP_BACK_RIGHT,
    CHANNEL_TOP_BACK_CENTER,
    CHANNEL_TOP_SIDE_LEFT,
    CHANNEL_TOP_SIDE_RIGHT,

    /**
     * 频道掩码的起始位置,频道的位置固定不变,以每个条目的呈现顺序为准。
     * 客户端应始终按指定顺序发送音频。否则,频道路由
     * 可能会变得不正确。
     */
    CHANNEL_MONO,
    CHANNEL_STEREO,
    CHANNEL_3POINT1POINT1,
    CHANNEL_QUAD,
    CHANNEL_5POINT1,
    CHANNEL_5POINT1_SIDE,
    CHANNEL_5POINT1POINT2,
    CHANNEL_5POINT1POINT2_SIDE,
    CHANNEL_5POINT1POINT4,
    CHANNEL_5POINT1POINT4_SIDE,
    CHANNEL_7POINT1,
    CHANNEL_7POINT1POINT2,
    CHANNEL_7POINT1POINT4,
    CHANNEL_ALL
};

AudioSampleFormat

描述

可用的音频示例格式

可能的值

export enum AudioSampleFormat {
    FORMAT_PCM_8_BIT = 0,
    FORMAT_PCM_16_BIT = 1,
    FORMAT_PCM_24_BIT = 2,
    FORMAT_PCM_32_BIT = 3,
    FORMAT_PCM_FLOAT = 4,
    FORMAT_PCM_24_BIT_PACKED = 5,
    FORMAT_MP3 = 6,
    FORMAT_AAC = 7,
    FORMAT_OPUS = 8,
    FORMAT_AC3 = 9,
    FORMAT_E_AC3 = 10,
    FORMAT_E_AC3_JOC = 11,
    FORMAT_AC4 = 12,
    FORMAT_MAT = 13
};

AudioFlags

描述

每个值决定了播放流不同的标记。

可能的值

export enum AudioFlags {
    FLAG_NONE = 0x0,
    /* 此标记用于定义行为,即系统可确保声音的可听性。*/
    FLAG_AUDIBILITY_ENFORCED = 1 << 0,
    /* 此标记用于请求使用支持硬件A/V同步的输出流。*/
    FLAG_HW_AV_SYNC = 1 << 1,
    /* 此标记表示缓冲区较小且渲染循环帧的速度较快。*/
    FLAG_LOW_LATENCY = 1 << 2,
    /* 此标记表示缓冲区较大且渲染循环帧的速度较慢,这会导致功耗较高。*/
    FLAG_LOW_POWER = 1 << 3,
    /* 此标记表示内容属于全屋音频网络分发的一部分 */
    FLAG_TIMED_AUDIO = 1 << 4,
    /* 此标记表示要对内容进行外部处理(DSP等)*/
    FLAG_OFFLOAD = 1 << 5,
    /* 此标记表示无需在混音器中渲染即可处理内容 */
    /* 使用此功能之前,开发者应查询getSupportedPlaybackConfigurationsAsync()来
       获取设备功能,具体视平台而定 */
    FLAG_PASSTHROUGH = 1 << 6,

    FLAG_ALL = FLAG_AUDIBILITY_ENFORCED | FLAG_HW_AV_SYNC |
                            FLAG_LOW_LATENCY |
                            FLAG_LOW_POWER |
                            FLAG_TIMED_AUDIO |
                            FLAG_OFFLOAD |
                            FLAG_PASSTHROUGH
};

AudioConfig

描述

确定用于构建音频播放流的音频配置,这对音频采样率和格式等方面产生影响。

可能的值

export class AudioConfig {
    sampleRate: AudioSampleRate = AudioSampleRate.SAMPLE_RATE_NONE;
    channelMask: AudioChannelMask = AudioChannelMask.CHANNEL_NONE;
    format: AudioSampleFormat = AudioSampleFormat.FORMAT_NONE;
};

AudioAttributes

描述

确定用于构建音频播放流的音频属性,这会影响内容类型、用法和标记等内容。

可能的值

export class AudioAttributes {
    contentType: AudioContentType = AudioContentType.CONTENT_TYPE_NONE;
    usage: AudioUsageType = AudioUsageType.USAGE_NONE;
    flags: AudioFlags = AudioFlags.FLAG_NONE;
    tag: string = "";
};

AudioDeviceInfo

描述

包含音频设备描述的数据类型

可能的值

export class AudioDeviceInfo {
    role: AudioRole = AudioRole.ROLE_SOURCE;
    type: AudioDevice = AudioDevice.DEVICE_NONE;
    name: String = "";
    formats: AudioSampleFormat[];
    sampleRates: AudioSampleRate[];
    channelMasks: AudioChannelMask[];
};

AudioSource

描述

可能的音频源

可能的值

export enum AudioSource {
    NONE = 0,
    RAW = 1,
    VOICE_COMMUNICATION = 2,
    WAKEWORD = 3,
    CAMCORDER = 4,
    VOICE_RECOGNITION = 5,
    ULTRASOUND = 6,
    TAP_DETECTION = 7,
    BLUETOOTH_A2DP = 8,
    BLUETOOTH_SCO = 9
};

AudioSystemSound

描述

可供使用的系统声音类型

可能的值

export enum AudioSystemSound {
    BOOT_UP = 0,
    BACK_BUTTON = 1,
    HOME_BUTTON_DOUBLE_TAP = 2,
    HOME_BUTTON_LONG_PRESS = 3,
    HOME_BUTTON = 4,
    MENU_BUTTON = 5,
    LEFT = 6,
    RIGHT = 7,
    UP = 8,
    DOWN = 9,
    MIC_OFF = 10,
    MIC_ON = 11,
    BLUETOOTH_PAIRING = 12,
    BLUETOOTH_PAIRED = 13,
    BLUETOOTH_UNPAIRED = 14,
    ERROR = 15,
    VOLUME_UP = 16,
    VOLUME_DOWN = 17,
    PLAY = 18,
    SELECT = 19,
    CLICK = 20,
    KEYPRESS_SET = 21,
    KEYPRESS_REJECT = 22,
    KEYPRESS_NORMAL = 23,
    NOTIFICATION_STANDARD = 24,
    ALERT_SPORT = 25,
    ALERT_FAVORITE = 26,
    ALERT_TRAFFIC = 27,
    ALERT_WEATHER = 28,
    ALERT_APP = 29,
    CUSTOM_1 = 257,
    CUSTOM_2 = 258,
    CUSTOM_3 = 259,
    CUSTOM_4 = 260,
    CUSTOM_5 = 261
};

SampleLayout

描述

可用的音频示例布局

可能的值

export enum SampleLayout {
    INTERLEAVED = 0, DEINTERLEAVED = 1
};

SinkFormatsSelectionPolicy

描述

可用于HDMI输出的音频模式

可能的值

export enum SinkFormatsSelectionPolicy {
    /**
     * 支持基于接收器设备功能的格式。
     */
    AUTO = 0,

    /**
     * 仅支持PCM格式。
     */
    ENFORCE_PCM = 1,

    /**
     * 支持PCM和直通Dolby Digital Plus格式。
     * 允许应用程序流式传输PCM或Dolby Digital Plus音频格式。
     * 接收器格式将设置为与输入音频格式相同。
     */
    PASSTHROUGH_DDP = 2,

    /**
     * 支持PCM和直通Dolby Digital格式。
     * 允许应用程序流式传输PCM或Dolby Digital音频格式。
     * 接收器格式将设置为与输入音频格式相同。
     */
    PASSTHROUGH_DD = 3,

    /**
     * 始终将接收器格式设置为Dolby Digital Plus。
     * 如果应用程序以任何其他格式提供音频,则会将其转码为
     * Dolby Digital Plus。
     */
    ENFORCE_DDP = 4,

    /**
     * 始终将接收器格式设置为Dolby Digital。
     * 如果应用程序以任何其他格式提供音频,则会将其转码为
     * Dolby Digital。
     */
    ENFORCE_DD = 5
};

StreamDuckingPolicy

描述

可用的音频放弃策略

可能的值

export enum StreamDuckingPolicy {
    SYSTEM = 0, /* 音频焦点放弃时的系统放弃音量 */
    EXPLICIT = 1 /* 音频焦点放弃时,应用必须调用duckVolume */
}

AudioPlaybackEvent

描述

播放构建器可能使用的播放事件

可能的值

export enum AudioPlaybackEvent {
    DIED = 0,
    RECOVERED = 1,
    STOPPED = 2,
    MUTE_STATE_UPDATE = 3,
    FRAME_UNDERRUN = 4
};

DuckingMode

描述

定义音频放弃等级可能采用的模式。

可能的值

export enum DuckingMode { INVALID = -1, DB = 0, PERCENTAGE = 1 };

AudioFocusStatus

描述

表示进行音频焦点调用时可能发生的不同状态。每个值代表调用是成功还是返回了错误。

可能的值

export enum AudioFocusStatus {
    /* 操作无效 */
    AUDIO_FOCUS_STATUS_INVALID_OPERATION = -8,

    /* 尚未初始化 */
    AUDIO_FOCUS_STATUS_NO_INIT = -3,

    /* 参数无效 */
    AUDIO_FOCUS_STATUS_BAD_VALUE = -2,

    /** 超时 */
    AUDIO_FOCUS_STATUS_TIMED_OUT = -1,

    /* 成功 */
    AUDIO_FOCUS_STATUS_NO_ERROR = 0,

    /* 已拒绝 */
    AUDIO_FOCUS_STATUS_DENIED = 1,

    /* 目前无法授予音频焦点,但稍后可能会授予。* AUDIO_FOCUS_FLAG_DELAYABLE应在请求音频焦点时指定 */
    AUDIO_FOCUS_STATUS_DELAYED = 2,
};

AudioFocusAttributes

描述

每个值代表会话请求焦点时,要处理的音频焦点的行为。

可能的值

export class AudioFocusAttributes {
    usage: AudioCoreClientTypes.AudioUsageType = AudioCoreClientTypes.AudioUsageType.USAGE_MEDIA;
};

AudioFocusChange

描述

每个值代表可能发生的不同类型的音频焦点更改事件,例如GRANTED表示何时向源授予音频焦点。

可能的值

export enum AudioFocusChange {
    GRANTED = 0,
    RELEASED = 1,
    DUCKED = 2,
    PAUSED = 3,
    STOPPED = 4,
};

Last updated: 2025年10月2日