音频核心客户端类型
- TOC
可用类型:
AudioContentTypeAudioUsageTypeAudioStatusAudioVolumeTypeAudioVolumeFlagsAudioRoleAudioDeviceAudioTelephonyModeAudioEventAudioSampleRateAudioChannelMaskAudioSampleFormatAudioFlagsAudioConfigAudioAttributesAudioDeviceInfoAudioSourceAudioSystemSoundSampleLayoutSinkFormatsSelectionPolicyStreamDuckingPolicyAudioPlaybackEventDuckingModeAudioFocusStatusAudioFocusAttributesAudioFocusChange
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日

