跳转至

audiocommon

本模块为音频公共类型定义模块,无对外函数接口。以下类型定义供 AudioManager 其他子模块(如 audio_capturer、audio_renderer 等)的对外接口使用。

头文件清单

#include "middleware/services/media/foundation/audiomanager/interfaces/kits/audiocommon/audio_base_type.h"
#include "middleware/services/media/foundation/audiomanager/interfaces/kits/audiocommon/audio_debug_info.h"
#include "middleware/services/media/foundation/audiomanager/interfaces/kits/audiocommon/audio_errors.h"

Enumerations

AudioInterruptType

enum AudioInterruptType {
    INTERRUPT_TYPE_BEGIN = 1,
    INTERRUPT_TYPE_END = 2,
};
枚举成员 取值 描述
INTERRUPT_TYPE_BEGIN 1 音频中断开始
INTERRUPT_TYPE_END 2 音频中断结束

AudioInterruptHintType

enum AudioInterruptHintType {
    INTERRUPT_HINT_PAUSE = 0,
    INTERRUPT_HINT_RESUME = 1,
    INTERRUPT_HINT_STOP = 2,
};
枚举成员 取值 描述
INTERRUPT_HINT_PAUSE 0 中断暂停提示
INTERRUPT_HINT_RESUME 1 中断恢复提示
INTERRUPT_HINT_STOP 2 中断停止提示

DeviceFlag

typedef enum {
    OUTPUT_DEVICES_FLAG = 1,
    INPUT_DEVICES_FLAG = 2,
    DEVICES_FLAG_INVALID = 4294967295,
} DeviceFlag;
枚举成员 取值 描述
OUTPUT_DEVICES_FLAG 1 输出设备标志
INPUT_DEVICES_FLAG 2 输入设备标志
DEVICES_FLAG_INVALID 4294967295 无效设备标志

AudioDeviceType

typedef enum {
    UNKNOWN = 0,
    IN_FLAG = 2147483648,
    OUT_BUILTIN_SPEAKER = 1,
    OUT_BLUETOOTH_SCO = 2,
    OUT_NEARLINK_ISO_CALL = 4,
    OUT_NEARLINK_ISO_MUSIC = 8,
    OUT_BLUETOOTH_A2DP = 16,
    OUT_MODEM = 32,
    OUT_MODEM_HEADSET = 64,
    OUT_USB = 128,
    OUT_USB_DONGLE = 256,
    OUT_NEARLINK_DONGLE = 524288,
    IN_BUILTIN_MIC = 2147484160,
    IN_BLUETOOTH_SCO = 2147484672,
    IN_NEARLINK_ISO_CALL = 2147485696,
    IN_NEARLINK_ISO_MUSIC = 2147487744,
    IN_BLUETOOTH_A2DP = 2147491840,
    IN_MODEM = 2147500032,
    IN_MODEM_HEADSET = 2147516416,
    IN_USB = 2147549184,
    IN_USB_DONGLE = 2147614720,
    IN_NEARLINK_DONGLE = 2147745792,
} AudioDeviceType;
枚举成员 取值 描述
UNKNOWN 0 未知设备类型
IN_FLAG 2147483648 输入设备标志位
OUT_BUILTIN_SPEAKER 1 内置扬声器输出
OUT_BLUETOOTH_SCO 2 蓝牙SCO输出
OUT_NEARLINK_ISO_CALL 4 NearLink ISO通话输出
OUT_NEARLINK_ISO_MUSIC 8 NearLink ISO音乐输出
OUT_BLUETOOTH_A2DP 16 蓝牙A2DP输出
OUT_MODEM 32 Modem输出
OUT_MODEM_HEADSET 64 Modem耳机输出
OUT_USB 128 USB输出
OUT_USB_DONGLE 256 USB Dongle输出
OUT_NEARLINK_DONGLE 524288 NearLink Dongle输出
IN_BUILTIN_MIC 2147484160 内置麦克风输入
IN_BLUETOOTH_SCO 2147484672 蓝牙SCO输入
IN_NEARLINK_ISO_CALL 2147485696 NearLink ISO通话输入
IN_NEARLINK_ISO_MUSIC 2147487744 NearLink ISO音乐输入
IN_BLUETOOTH_A2DP 2147491840 蓝牙A2DP输入
IN_MODEM 2147500032 Modem输入
IN_MODEM_HEADSET 2147516416 Modem耳机输入
IN_USB 2147549184 USB输入
IN_USB_DONGLE 2147614720 USB Dongle输入
IN_NEARLINK_DONGLE 2147745792 NearLink Dongle输入

AudioDeviceConnectState

typedef enum {
    AUDIO_DEVICE_CONNECTED = 0,
    AUDIO_DEVICE_DISCONNECTED = 1,
    AUDIO_DEVICE_INVALID = 4294967295,
} AudioDeviceConnectState;
枚举成员 取值 描述
AUDIO_DEVICE_CONNECTED 0 设备已连接
AUDIO_DEVICE_DISCONNECTED 1 设备已断开
AUDIO_DEVICE_INVALID 4294967295 设备状态无效

AudioParamCmd

typedef enum {
    AUDIO_STREAM_CONFIG_CMD_DEFAULT = 0,
    AUDIO_STREAM_CONFIG_CMD_L2HC = 1,
    AUDIO_STREAM_CONFIG_CMD_MAX = 2,
    AUDIO_STREAM_CONFIG_CMD_BUTT = 2147483647,
} AudioParamCmd;
枚举成员 取值 描述
AUDIO_STREAM_CONFIG_CMD_DEFAULT 0 默认配置命令
AUDIO_STREAM_CONFIG_CMD_L2HC 1 L2HC配置命令
AUDIO_STREAM_CONFIG_CMD_MAX 2 最大配置命令值
AUDIO_STREAM_CONFIG_CMD_BUTT 2147483647 配置命令边界值

AudioRingMode

typedef enum {
    RINGER_MODE_NORMAL = 0,
    RINGER_MODE_VIBRATE = 1,
    RINGER_MODE_SILENT = 2,
    RINGER_MODE_INVALID = 4294967295,
} AudioRingMode;
枚举成员 取值 描述
RINGER_MODE_NORMAL 0 正常响铃模式
RINGER_MODE_VIBRATE 1 振动模式
RINGER_MODE_SILENT 2 静音模式
RINGER_MODE_INVALID 4294967295 无效响铃模式

AudioSourceType

typedef enum {
    AUDIO_SOURCE_INVALID = 4294967295,
    AUDIO_SOURCE_DEFAULT = 0,
    AUDIO_MIC = 1,
    AUDIO_VOICE_UPLINK = 2,
    AUDIO_VOICE_DOWNLINK = 3,
    AUDIO_VOICE_CALL = 4,
    AUDIO_CAMCORDER = 5,
    AUDIO_VOICE_RECOGNITION = 6,
    AUDIO_VOICE_COMMUNICATION = 7,
    AUDIO_REMOTE_SUBMIX = 8,
    AUDIO_UNPROCESSED = 9,
    AUDIO_VOICE_PERFORMANCE = 10,
    AUDIO_ECHO_REFERENCE = 1997,
    AUDIO_RADIO_TUNER = 1998,
    AUDIO_HOTWORD = 1999,
    AUDIO_REMOTE_SUBMIX_EXTEND = 10007,
} AudioSourceType;
枚举成员 取值 描述
AUDIO_SOURCE_INVALID 4294967295 无效音频源
AUDIO_SOURCE_DEFAULT 0 默认音频源
AUDIO_MIC 1 麦克风音频源
AUDIO_VOICE_UPLINK 2 语音上行链路
AUDIO_VOICE_DOWNLINK 3 语音下行链路
AUDIO_VOICE_CALL 4 语音通话
AUDIO_CAMCORDER 5 摄像机录音
AUDIO_VOICE_RECOGNITION 6 语音识别
AUDIO_VOICE_COMMUNICATION 7 语音通信
AUDIO_REMOTE_SUBMIX 8 远程子混音
AUDIO_UNPROCESSED 9 未处理音频
AUDIO_VOICE_PERFORMANCE 10 语音表演
AUDIO_ECHO_REFERENCE 1997 回声参考
AUDIO_RADIO_TUNER 1998 收音机调谐器
AUDIO_HOTWORD 1999 热词检测
AUDIO_REMOTE_SUBMIX_EXTEND 10007 远程子混音扩展

AudioFrameLength

typedef enum {
    AUDIO_FRAME_LENGTH_2_5_MS = 25,
    AUDIO_FRAME_LENGTH_5_MS = 50,
    AUDIO_FRAME_LENGTH_10_MS = 100,
    AUDIO_FRAME_LENGTH_20_MS = 200,
    AUDIO_FRAME_LENGTH_40_MS = 400,
    AUDIO_FRAME_LENGTH_60_MS = 600,
    AUDIO_FRAME_LENGTH_80_MS = 800,
    AUDIO_FRAME_LENGTH_100_MS = 1000,
    AUDIO_FRAME_LENGTH_120_MS = 1200,
    AUDIO_FRAME_LENGTH_MAX = 1201,
    AUDIO_FRAME_LENGTH_BUTT = 4294967295,
} AudioFrameLength;
枚举成员 取值 描述
AUDIO_FRAME_LENGTH_2_5_MS 25 2.5ms帧长
AUDIO_FRAME_LENGTH_5_MS 50 5ms帧长
AUDIO_FRAME_LENGTH_10_MS 100 10ms帧长
AUDIO_FRAME_LENGTH_20_MS 200 20ms帧长
AUDIO_FRAME_LENGTH_40_MS 400 40ms帧长
AUDIO_FRAME_LENGTH_60_MS 600 60ms帧长
AUDIO_FRAME_LENGTH_80_MS 800 80ms帧长
AUDIO_FRAME_LENGTH_100_MS 1000 100ms帧长
AUDIO_FRAME_LENGTH_120_MS 1200 120ms帧长
AUDIO_FRAME_LENGTH_MAX 1201 最大帧长
AUDIO_FRAME_LENGTH_BUTT 4294967295 帧长边界值

AudioCodecFormat

typedef enum {
    AUDIO_DEFAULT = 0,
    PCM = 1,
    AAC_LC = 2,
    AAC_HE_V1 = 3,
    AAC_HE_V2 = 4,
    AAC_LD = 5,
    AAC_ELD = 6,
    G711A = 7,
    G711U = 8,
    G726 = 9,
    OPUS = 10,
    FLAC = 11,
    VORBIS = 12,
    APE = 13,
    MP3 = 14,
    mSBC = 15,
    SILK = 16,
    SBC = 17,
    L2HC = 18,
    AMR_WB = 19,
    LHDC = 20,
    LDAC = 21,
    L2HC_VOICE = 22,
    AUDIO_FORMAT_MAX = 23,
    FORMAT_INVALID = 4294967295,
} AudioCodecFormat;
枚举成员 取值 描述
AUDIO_DEFAULT 0 默认格式
PCM 1 PCM格式
AAC_LC 2 AAC-LC格式
AAC_HE_V1 3 AAC-HE V1格式
AAC_HE_V2 4 AAC-HE V2格式
AAC_LD 5 AAC-LD格式
AAC_ELD 6 AAC-ELD格式
G711A 7 G711A格式
G711U 8 G711U格式
G726 9 G726格式
OPUS 10 OPUS格式
FLAC 11 FLAC格式
VORBIS 12 VORBIS格式
APE 13 APE格式
MP3 14 MP3格式
mSBC 15 mSBC格式
SILK 16 SILK格式
SBC 17 SBC格式
L2HC 18 L2HC格式
AMR_WB 19 AMR-WB格式
LHDC 20 LHDC格式
LDAC 21 LDAC格式
L2HC_VOICE 22 L2HC语音格式
AUDIO_FORMAT_MAX 23 最大格式值
FORMAT_INVALID 4294967295 无效格式

AudioStreamType

typedef enum {
    TYPE_DEFAULT = -1,
    TYPE_MEDIA = 0,
    TYPE_VOICE_COMMUNICATION = 1,
    AUDIO_STREAM_NONE = 0,
    AUDIO_STREAM_HEAR_AID = 4096,
    AUDIO_STREAM_ALARM = 65536,
    AUDIO_STREAM_ALARM_SYSTEM = 65537,
    AUDIO_STREAM_ALARM_CLOCK = 65538,
    AUDIO_STREAM_RING = 131072,
    AUDIO_STREAM_VOICE_CALL = 262144,
    AUDIO_STREAM_VOICE_CALL_VOIP = 262145,
    AUDIO_STREAM_VOICE_CALL_BT_SCO = 262146,
    AUDIO_STREAM_VOICE_CALL_VOLTE = 262147,
    AUDIO_STREAM_LIVE_MIC = 262148,
    AUDIO_STREAM_VOICE_CALL_USB = 262149,
    AUDIO_STREAM_VOICE_CALL_NEARLINK = 262150,
    AUDIO_STREAM_VOICE_CALL_VOLTE_SPI = 262152,
    AUDIO_STREAM_VOICE_ASSISTANT = 524292,
    AUDIO_STREAM_TTS = 1048576,
    AUDIO_STREAM_NOTIFICATION = 2097152,
    AUDIO_STREAM_NOTIFICATION_SYSTEM = 2097153,
    AUDIO_STREAM_NOTIFICATION_PROMPT = 2097154,
    AUDIO_STREAM_MUSIC = 4194304,
    AUDIO_STREAM_A2DP_MUSIC = 4194305,
    AUDIO_STREAM_USB_MUSIC = 4194306,
    AUDIO_STREAM_NEARLINK_MUSIC = 4194307,
    AUDIO_STREAM_FITNESS_VIDEO = 8388608,
    AUDIO_STREAM_VOICE_RECORD = 16777216,
    AUDIO_STREAM_VOICE_RECOGNITION = 33554432,
    AUDIO_STREAM_VOICE_PICKUP = 33554433,
    AUDIO_STREAM_INVALID = 2147483647,
} AudioStreamType;
枚举成员 取值 描述
TYPE_DEFAULT -1 默认流类型
TYPE_MEDIA 0 媒体流类型
TYPE_VOICE_COMMUNICATION 1 语音通信流类型
AUDIO_STREAM_NONE 0 无流类型
AUDIO_STREAM_HEAR_AID 4096 助听流
AUDIO_STREAM_ALARM 65536 闹钟流
AUDIO_STREAM_ALARM_SYSTEM 65537 系统闹钟流
AUDIO_STREAM_ALARM_CLOCK 65538 闹钟时钟流
AUDIO_STREAM_RING 131072 响铃流
AUDIO_STREAM_VOICE_CALL 262144 语音通话流
AUDIO_STREAM_VOICE_CALL_VOIP 262145 VoIP语音通话流
AUDIO_STREAM_VOICE_CALL_BT_SCO 262146 蓝牙SCO语音通话流
AUDIO_STREAM_VOICE_CALL_VOLTE 262147 VoLTE语音通话流
AUDIO_STREAM_LIVE_MIC 262148 实时麦克风流
AUDIO_STREAM_VOICE_CALL_USB 262149 USB语音通话流
AUDIO_STREAM_VOICE_CALL_NEARLINK 262150 NearLink语音通话流
AUDIO_STREAM_VOICE_CALL_VOLTE_SPI 262152 VoLTE SPI语音通话流
AUDIO_STREAM_VOICE_ASSISTANT 524292 语音助手流
AUDIO_STREAM_TTS 1048576 TTS语音流
AUDIO_STREAM_NOTIFICATION 2097152 通知流
AUDIO_STREAM_NOTIFICATION_SYSTEM 2097153 系统通知流
AUDIO_STREAM_NOTIFICATION_PROMPT 2097154 提示通知流
AUDIO_STREAM_MUSIC 4194304 音乐流
AUDIO_STREAM_A2DP_MUSIC 4194305 A2DP音乐流
AUDIO_STREAM_USB_MUSIC 4194306 USB音乐流
AUDIO_STREAM_NEARLINK_MUSIC 4194307 NearLink音乐流
AUDIO_STREAM_FITNESS_VIDEO 8388608 健身视频流
AUDIO_STREAM_VOICE_RECORD 16777216 录音流
AUDIO_STREAM_VOICE_RECOGNITION 33554432 语音识别流
AUDIO_STREAM_VOICE_PICKUP 33554433 语音拾取流
AUDIO_STREAM_INVALID 2147483647 无效流类型

AudioLinkDirection

typedef enum {
    AUDIO_DOWN_LINK = 0,
    AUDIO_UP_LINK = 1,
    AUDIO_UP_DOWN_LINK = 2,
    AUDIO_LINK_NONE = 4294967295,
} AudioLinkDirection;
枚举成员 取值 描述
AUDIO_DOWN_LINK 0 下行链路
AUDIO_UP_LINK 1 上行链路
AUDIO_UP_DOWN_LINK 2 上下行链路
AUDIO_LINK_NONE 4294967295 无链路方向

AudioStreamFlag

typedef enum {
    AUDIO_STREAM_FLAG_NONE = 0,
    AUDIO_STREAM_FLAG_LOW_LATENCY = 1,
    AUDIO_STREAM_FLAG_SECURE = 2,
    AUDIO_STREAM_FLAG_INVALID = 4294967295,
} AudioStreamFlag;
枚举成员 取值 描述
AUDIO_STREAM_FLAG_NONE 0 无流标志
AUDIO_STREAM_FLAG_LOW_LATENCY 1 低延迟流标志
AUDIO_STREAM_FLAG_SECURE 2 安全流标志
AUDIO_STREAM_FLAG_INVALID 4294967295 无效流标志

AudioChannelMode

typedef enum {
    AUDIO_CHANNEL_MODE_NONE = 0,
    AUDIO_CHANNEL_MODE_FRONT_LEFT = 1,
    AUDIO_CHANNEL_MODE_FRONT_RIGHT = 2,
    AUDIO_CHANNEL_MODE_MONO = 4,
    AUDIO_CHANNEL_MODE_STEREO = 8,
    AUDIO_CHANNEL_MODE_INVALID = 4294967295,
} AudioChannelMode;
枚举成员 取值 描述
AUDIO_CHANNEL_MODE_NONE 0 无声道模式
AUDIO_CHANNEL_MODE_FRONT_LEFT 1 前左声道
AUDIO_CHANNEL_MODE_FRONT_RIGHT 2 前右声道
AUDIO_CHANNEL_MODE_MONO 4 单声道模式
AUDIO_CHANNEL_MODE_STEREO 8 立体声模式
AUDIO_CHANNEL_MODE_INVALID 4294967295 无效声道模式

AudioBitWidth

typedef enum {
    BIT_WIDTH_8 = 8,
    BIT_WIDTH_16 = 16,
    BIT_WIDTH_24 = 24,
    BIT_WIDTH_32 = 32,
    BIT_WIDTH_32_FLOAT = 33,
    BIT_WIDTH_BUTT = 4294967295,
} AudioBitWidth;
枚举成员 取值 描述
BIT_WIDTH_8 8 8位位宽
BIT_WIDTH_16 16 16位位宽
BIT_WIDTH_24 24 24位位宽
BIT_WIDTH_32 32 32位位宽
BIT_WIDTH_32_FLOAT 33 32位浮点位宽
BIT_WIDTH_BUTT 4294967295 位宽边界值

AudioStrategy

typedef enum {
    STRATEGY_NONE = 0,
    STRATEGY_EXCLUSIVE = 1,
    STRATEGY_MIX = 2,
    STRATEGY_DELAY = 3,
    STRATEGY_REJECT = 4,
    STRATEGY_INVALID = 4294967295,
} AudioStrategy;
枚举成员 取值 描述
STRATEGY_NONE 0 无策略
STRATEGY_EXCLUSIVE 1 独占策略
STRATEGY_MIX 2 混音策略
STRATEGY_DELAY 3 延迟策略
STRATEGY_REJECT 4 拒绝策略
STRATEGY_INVALID 4294967295 无效策略

CapturerMicType

typedef enum {
    CAPTURE_MIC_AMIC_0 = 1,
    CAPTURE_MIC_AMIC_1 = 2,
    CAPTURE_MIC_AMIC_2 = 4,
    CAPTURE_MIC_AMIC_3 = 8,
    CAPTURE_MIC_DMIC_0 = 16,
    CAPTURE_MIC_DMIC_1 = 32,
    CAPTURE_MIC_DMIC_2 = 64,
    CAPTURE_MIC_DMIC_3 = 128,
    CAPTURE_MIC_TYPE_MAX = 129,
    CAPTURE_MIC_TYPE_BUTT = 2147483647,
} CapturerMicType;
枚举成员 取值 描述
CAPTURE_MIC_AMIC_0 1 模拟麦克风0
CAPTURE_MIC_AMIC_1 2 模拟麦克风1
CAPTURE_MIC_AMIC_2 4 模拟麦克风2
CAPTURE_MIC_AMIC_3 8 模拟麦克风3
CAPTURE_MIC_DMIC_0 16 数字麦克风0
CAPTURE_MIC_DMIC_1 32 数字麦克风1
CAPTURE_MIC_DMIC_2 64 数字麦克风2
CAPTURE_MIC_DMIC_3 128 数字麦克风3
CAPTURE_MIC_TYPE_MAX 129 麦克风类型最大值
CAPTURE_MIC_TYPE_BUTT 2147483647 麦克风类型边界值

AudioCallbackEventType

typedef enum {
    AUDIO_EVENT_NONBLOCK_WRITE_COMPLETED = 0,
    AUDIO_EVENT_DRAIN_COMPLETED = 1,
    AUDIO_EVENT_FLUSH_COMPLETED = 2,
    AUDIO_EVENT_RENDER_FULL = 3,
    AUDIO_EVENT_RENDER_EOS = 4,
    AUDIO_EVENT_BUFFER_EMPTY = 5,
    AUDIO_EVENT_OUTPUT_DEVICE_CHANGED = 6,
    AUDIO_EVENT_VOICE_BEGIN = 7,
    AUDIO_EVENT_VOICE_END = 8,
    AUDIO_EVENT_VOICE_COMMAND = 9,
    AUDIO_EVENT_TTS_START = 10,
    AUDIO_EVENT_TTS_COMPLETED = 11,
    AUDIO_EVENT_TTS_END = 12,
    AUDIO_EVENT_CHANGE_VOLUME = 13,
    AUDIO_EVENT_ERROR_OCCUR = 4294967295,
} AudioCallbackEventType;
枚举成员 取值 描述
AUDIO_EVENT_NONBLOCK_WRITE_COMPLETED 0 非阻塞写入完成事件
AUDIO_EVENT_DRAIN_COMPLETED 1 Drain完成事件
AUDIO_EVENT_FLUSH_COMPLETED 2 Flush完成事件
AUDIO_EVENT_RENDER_FULL 3 渲染缓冲区满事件
AUDIO_EVENT_RENDER_EOS 4 渲染结束事件
AUDIO_EVENT_BUFFER_EMPTY 5 缓冲区空事件
AUDIO_EVENT_OUTPUT_DEVICE_CHANGED 6 输出设备变更事件
AUDIO_EVENT_VOICE_BEGIN 7 语音开始事件
AUDIO_EVENT_VOICE_END 8 语音结束事件
AUDIO_EVENT_VOICE_COMMAND 9 语音命令事件
AUDIO_EVENT_TTS_START 10 TTS开始事件
AUDIO_EVENT_TTS_COMPLETED 11 TTS完成事件
AUDIO_EVENT_TTS_END 12 TTS结束事件
AUDIO_EVENT_CHANGE_VOLUME 13 音量变更事件
AUDIO_EVENT_ERROR_OCCUR 4294967295 错误发生事件

AudioInvokeId

typedef enum {
    AUDIO_INVOKE_HAID_CREATE = 0,
    AUDIO_INVOKE_HAID_DESTROY = 1,
    AUDIO_INVOKE_HAID_SET_ENABLE = 2,
    AUDIO_INVOKE_HAID_GET_ENABLE = 3,
    AUDIO_INVOKE_HAID_SET_EVENT_CALL_BACK = 4,
    AUDIO_INVOKE_HAID_SET_VOLUME = 5,
    AUDIO_INVOKE_HAID_GET_VOLUME = 6,
    AUDIO_INVOKE_HAID_SET_HARDWARE_CONFIG = 7,
    AUDIO_INVOKE_HAID_GET_HARDWARE_CONFIG = 8,
    AUDIO_INVOKE_HAID_START_CALIBRATION = 9,
    AUDIO_INVOKE_HAID_STOP_CALIBRATION = 10,
    AUDIO_INVOKE_HAID_SET_TEST_CONFIG = 11,
    AUDIO_INVOKE_HAID_SET_IOCTL = 12,
    AUDIO_INVOKE_HAID_SET_CONFIG = 13,
    AUDIO_INVOKE_HAID_GET_CONFIG = 14,
    AUDIO_INVOKE_HAID_SET_ALL_CONFIG = 15,
    AUDIO_INVOKE_HAID_GET_ALL_CONFIG = 16,
    AUDIO_INVOKE_HAID_TONE_PLAY = 17,
    AUDIO_INVOKE_HAID_TONE_STOP = 18,
    AUDIO_INVOKE_HAID_SET_SCENE = 19,
    AUDIO_INVOKE_HAID_GET_SCENE = 20,
    AUDIO_INVOKE_HAID_SET_SPK_CALI_COEF = 21,
    AUDIO_INVOKE_HAID_SET_MIC_VOLUME = 22,
    AUDIO_INVOKE_HAID_GET_ENV_NOISE = 23,
    AUDIO_INVOKE_TWS_SET_MODE = 24,
    AUDIO_INVOKE_TWS_SET_ROLE = 25,
    AUDIO_INVOKE_TWS_SET_CHANNEL = 26,
    AUDIO_INVOKE_TWS_SET_PRODUCT_FORM = 27,
    AUDIO_INVOKE_ANC_INIT = 28,
    AUDIO_INVOKE_ANC_DEINIT = 29,
    AUDIO_INVOKE_ANC_OPEN = 30,
    AUDIO_INVOKE_ANC_GET_ATTR = 31,
    AUDIO_INVOKE_ANC_CLOSE = 32,
    AUDIO_INVOKE_ANC_SET_PARAM = 33,
    AUDIO_INVOKE_ANC_GET_PARAM = 34,
    AUDIO_INVOKE_LIVEMIC_SET_MIXMODE = 35,
    AUDIO_INVOKE_LIVEMIC_GET_MIXMODE = 36,
    AUDIO_INVOKE_LIVEMIC_SET_MICMODE = 37,
    AUDIO_INVOKE_LIVEMIC_GET_MICMODE = 38,
    AUDIO_INVOKE_RECORD_DB_VOLUME = 39,
    AUDIO_INVOKE_READ_DB_VOLUME = 40,
    AUDIO_INVOKE_SET_A2DP_CODEC_ATTR = 41,
    AUDIO_INVOKE_SET_CONFIG_PARAM = 42,
    AUDIO_INVOKE_SET_GLOBAL_MUTE = 43,
    AUDIO_INVOKE_SET_VOLUME_MATRIX = 44,
    AUDIO_INVOKE_GET_VOLUME_MATRIX = 45,
    AUDIO_INVOKE_SET_ENCODE_PARAM_EXT = 46,
} AudioInvokeId;
枚举成员 取值 描述
AUDIO_INVOKE_HAID_CREATE 0 创建HAID实例
AUDIO_INVOKE_HAID_DESTROY 1 销毁HAID实例
AUDIO_INVOKE_HAID_SET_ENABLE 2 设置HAID使能
AUDIO_INVOKE_HAID_GET_ENABLE 3 获取HAID使能状态
AUDIO_INVOKE_HAID_SET_EVENT_CALL_BACK 4 设置HAID事件回调
AUDIO_INVOKE_HAID_SET_VOLUME 5 设置HAID音量
AUDIO_INVOKE_HAID_GET_VOLUME 6 获取HAID音量
AUDIO_INVOKE_HAID_SET_HARDWARE_CONFIG 7 设置HAID硬件配置
AUDIO_INVOKE_HAID_GET_HARDWARE_CONFIG 8 获取HAID硬件配置
AUDIO_INVOKE_HAID_START_CALIBRATION 9 启动HAID校准
AUDIO_INVOKE_HAID_STOP_CALIBRATION 10 停止HAID校准
AUDIO_INVOKE_HAID_SET_TEST_CONFIG 11 设置HAID测试配置
AUDIO_INVOKE_HAID_SET_IOCTL 12 设置HAID IOCTL
AUDIO_INVOKE_HAID_SET_CONFIG 13 设置HAID配置
AUDIO_INVOKE_HAID_GET_CONFIG 14 获取HAID配置
AUDIO_INVOKE_HAID_SET_ALL_CONFIG 15 设置HAID全部配置
AUDIO_INVOKE_HAID_GET_ALL_CONFIG 16 获取HAID全部配置
AUDIO_INVOKE_HAID_TONE_PLAY 17 播放HAID提示音
AUDIO_INVOKE_HAID_TONE_STOP 18 停止HAID提示音
AUDIO_INVOKE_HAID_SET_SCENE 19 设置HAID场景
AUDIO_INVOKE_HAID_GET_SCENE 20 获取HAID场景
AUDIO_INVOKE_HAID_SET_SPK_CALI_COEF 21 设置扬声器校准系数
AUDIO_INVOKE_HAID_SET_MIC_VOLUME 22 设置麦克风音量
AUDIO_INVOKE_HAID_GET_ENV_NOISE 23 获取环境噪声
AUDIO_INVOKE_TWS_SET_MODE 24 设置TWS模式
AUDIO_INVOKE_TWS_SET_ROLE 25 设置TWS角色
AUDIO_INVOKE_TWS_SET_CHANNEL 26 设置TWS通道
AUDIO_INVOKE_TWS_SET_PRODUCT_FORM 27 设置TWS产品形态
AUDIO_INVOKE_ANC_INIT 28 ANC初始化
AUDIO_INVOKE_ANC_DEINIT 29 ANC反初始化
AUDIO_INVOKE_ANC_OPEN 30 打开ANC
AUDIO_INVOKE_ANC_GET_ATTR 31 获取ANC属性
AUDIO_INVOKE_ANC_CLOSE 32 关闭ANC
AUDIO_INVOKE_ANC_SET_PARAM 33 设置ANC参数
AUDIO_INVOKE_ANC_GET_PARAM 34 获取ANC参数
AUDIO_INVOKE_LIVEMIC_SET_MIXMODE 35 设置实时麦混音模式
AUDIO_INVOKE_LIVEMIC_GET_MIXMODE 36 获取实时麦混音模式
AUDIO_INVOKE_LIVEMIC_SET_MICMODE 37 设置实时麦麦克风模式
AUDIO_INVOKE_LIVEMIC_GET_MICMODE 38 获取实时麦麦克风模式
AUDIO_INVOKE_RECORD_DB_VOLUME 39 记录数据库音量
AUDIO_INVOKE_READ_DB_VOLUME 40 读取数据库音量
AUDIO_INVOKE_SET_A2DP_CODEC_ATTR 41 设置A2DP编解码属性
AUDIO_INVOKE_SET_CONFIG_PARAM 42 设置配置参数
AUDIO_INVOKE_SET_GLOBAL_MUTE 43 设置全局静音
AUDIO_INVOKE_SET_VOLUME_MATRIX 44 设置音量矩阵
AUDIO_INVOKE_GET_VOLUME_MATRIX 45 获取音量矩阵
AUDIO_INVOKE_SET_ENCODE_PARAM_EXT 46 设置扩展编码参数

ToggleConfigType

typedef enum {
    TOGGLE_COUNT_TYPE_VOLUME = 0,
    TOGGLE_COUNT_TYPE_NOTIFY = 1,
    TOGGLE_COUNT_TYPE_INVALID = 4294967295,
} ToggleConfigType;
枚举成员 取值 描述
TOGGLE_COUNT_TYPE_VOLUME 0 音量切换计数类型
TOGGLE_COUNT_TYPE_NOTIFY 1 通知切换计数类型
TOGGLE_COUNT_TYPE_INVALID 4294967295 无效切换计数类型

Structures

InterruptDebugInfo

typedef struct {
    AudioStreamType streamType;
    AudioStrategy currentStrategy;
    AudioSession sessionID;
    int64_t streamCreateTime;
    int64_t streamDestroyTime;
} InterruptDebugInfo;

成员说明

成员名称 数据类型 描述
streamType AudioStreamType 音频流类型
currentStrategy AudioStrategy 当前音频策略
sessionID AudioSession 音频会话ID
streamCreateTime int64_t 流创建时间
streamDestroyTime int64_t 流销毁时间

DeviceDebugInfo

typedef struct {
    AudioDeviceInfo deviceInfo;
    AudioDeviceConnectState deviceState;
} DeviceDebugInfo;

成员说明

成员名称 数据类型 描述
deviceInfo AudioDeviceInfo 音频设备信息
deviceState AudioDeviceConnectState 设备连接状态

StreamDebugInfo

typedef struct {
    uint32_t state;
    int32_t streamIndex;
    AudioStreamInfo streamInfo;
    float streamVolume;
    float mixWeight;
    uint32_t curDevice;
} StreamDebugInfo;

成员说明

成员名称 数据类型 描述
state uint32_t 流状态
streamIndex int32_t 流索引
streamInfo AudioStreamInfo 音频流信息
streamVolume float 流音量
mixWeight float 混音权重
curDevice uint32_t 当前设备

AudioInterruptDebugInfo

typedef struct {
    uint32_t inputInterruptCnt;
    InterruptDebugInfo inputInterruptInfo;
    uint32_t outputInterruptCnt;
    InterruptDebugInfo outputInterruptInfo;
} AudioInterruptDebugInfo;

成员说明

成员名称 数据类型 描述
inputInterruptCnt uint32_t 输入中断计数
inputInterruptInfo InterruptDebugInfo 输入中断信息
outputInterruptCnt uint32_t 输出中断计数
outputInterruptInfo InterruptDebugInfo 输出中断信息

AudioStreamDebugInfo

typedef struct {
    uint32_t streamInfoCnt;
    StreamDebugInfo allstreamInfo;
} AudioStreamDebugInfo;

成员说明

成员名称 数据类型 描述
streamInfoCnt uint32_t 流信息计数
allstreamInfo StreamDebugInfo 全部流信息

AudioDeviceDebugInfo

typedef struct {
    uint32_t deviceInfoCnt;
    DeviceDebugInfo devicesInfo;
} AudioDeviceDebugInfo;

成员说明

成员名称 数据类型 描述
deviceInfoCnt uint32_t 设备信息计数
devicesInfo DeviceDebugInfo 设备信息

AudioServiceDebugInfo

typedef struct {
    AudioInterruptDebugInfo audioInterruptInfo;
    AudioStreamDebugInfo audioStreamInfo;
    AudioDeviceDebugInfo audioDeviceInfo;
} AudioServiceDebugInfo;

成员说明

成员名称 数据类型 描述
audioInterruptInfo AudioInterruptDebugInfo 音频中断信息
audioStreamInfo AudioStreamDebugInfo 音频流信息
audioDeviceInfo AudioDeviceDebugInfo 音频设备信息

AudioDeviceInfo

typedef struct {
    DeviceFlag flag;
    AudioDeviceType device;
    const char * name;
} AudioDeviceInfo;

成员说明

成员名称 数据类型 描述
flag DeviceFlag 设备标志
device AudioDeviceType 音频设备类型
name const char * 设备名称

AudioDeviceDesc

typedef struct {
    uint8_t * deviceName;
    AudioSourceType inputSourceType;
    uint32_t deviceId;
} AudioDeviceDesc;

成员说明

成员名称 数据类型 描述
deviceName uint8_t * 设备名称
inputSourceType AudioSourceType 输入源类型
deviceId uint32_t 设备ID

AudioOffloadInfo

typedef struct {
    AudioStreamType streamType;
    uint32_t samplerate;
    AudioCodecFormat format;
    uint32_t channel;
    uint32_t bitwidth;
} AudioOffloadInfo;

成员说明

成员名称 数据类型 描述
streamType AudioStreamType 音频流类型
samplerate uint32_t 采样率
format AudioCodecFormat 编解码格式
channel uint32_t 通道数
bitwidth uint32_t 位宽

AudioStreamInfo

typedef struct {
    AudioStreamType streamType;
    AudioSession sessionID;
    AudioCodecFormat format;
    uint32_t sampleRate;
    uint32_t bitWidth;
    int32_t bitRate;
    uint32_t channelCount;
    uint32_t deviceId;
    uint32_t connectedId;
    AudioChannelMode channelMask;
    AudioStreamFlag audioStreamFlag;
    AudioLinkDirection linkDir;
    uint16_t sampleFmt;
    bool disableSEA;
    uint32_t micType;
    bool isAlwaysWake;
    bool isSync;
    uint32_t frameLength;
} AudioStreamInfo;

成员说明

成员名称 数据类型 描述
streamType AudioStreamType 音频流类型
sessionID AudioSession 音频会话ID
format AudioCodecFormat 编解码格式
sampleRate uint32_t 采样率
bitWidth uint32_t 位宽
bitRate int32_t 比特率
channelCount uint32_t 通道数
deviceId uint32_t 设备ID
connectedId uint32_t 已连接设备ID
channelMask AudioChannelMode 声道掩码
audioStreamFlag AudioStreamFlag 音频流标志
linkDir AudioLinkDirection 链路方向
sampleFmt uint16_t 采样格式
disableSEA bool 禁用SEA
micType uint32_t 麦克风类型
isAlwaysWake bool 是否始终唤醒
isSync bool 是否同步
frameLength uint32_t 帧长度

AudioRendererConfig

typedef struct {
    AudioCodecFormat audioFormat;
    AudioStreamType streamType;
    uint32_t sampleRate;
    uint32_t sessionID;
    uint32_t channelCount;
    uint32_t deviceId;
    uint32_t connectedId;
    AudioLinkDirection linkDir;
    uint16_t sampleFmt;
    AudioBitWidth bitWidth;
    bool isSync;
    uint32_t frameLength;
} AudioRendererConfig;

成员说明

成员名称 数据类型 描述
audioFormat AudioCodecFormat 音频编解码格式
streamType AudioStreamType 音频流类型
sampleRate uint32_t 采样率
sessionID uint32_t 会话ID
channelCount uint32_t 通道数
deviceId uint32_t 设备ID
connectedId uint32_t 已连接设备ID
linkDir AudioLinkDirection 链路方向
sampleFmt uint16_t 采样格式
bitWidth AudioBitWidth 位宽
isSync bool 是否同步
frameLength uint32_t 帧长度

CapturerInputConfig

typedef struct {
    AudioCodecFormat audioFormat;
    AudioStreamType streamType;
    uint32_t sampleRate;
    uint32_t sessionID;
    uint32_t channelCount;
    AudioLinkDirection linkDir;
    bool disableSEA;
    uint32_t micType;
    AudioBitWidth bitWidth;
    bool isAlwaysWake;
    uint32_t frameLength;
} CapturerInputConfig;

成员说明

成员名称 数据类型 描述
audioFormat AudioCodecFormat 音频编解码格式
streamType AudioStreamType 音频流类型
sampleRate uint32_t 采样率
sessionID uint32_t 会话ID
channelCount uint32_t 通道数
linkDir AudioLinkDirection 链路方向
disableSEA bool 禁用SEA
micType uint32_t 麦克风类型
bitWidth AudioBitWidth 位宽
isAlwaysWake bool 是否始终唤醒
frameLength uint32_t 帧长度

CapturerBuffer

typedef struct {
    uint32_t frameCount;
    uint32_t size;
    uint8_t * data;
} CapturerBuffer;

成员说明

成员名称 数据类型 描述
frameCount uint32_t 帧计数
size uint32_t 数据大小
data uint8_t * 数据指针

AudioA2dpCodecAttr

typedef struct {
    uint16_t sampleRate;
    uint32_t bitRate;
    uint8_t codecType;
    uint8_t payload;
    uint8_t channel;
    uint8_t channelMode;
    uint8_t blockLength;
    uint8_t subband;
    uint8_t allocMethod;
    uint8_t minBitpool;
    uint8_t maxBitpool;
    uint8_t objectType;
    uint8_t rfa;
    uint8_t vbr;
} AudioA2dpCodecAttr;

成员说明

成员名称 数据类型 描述
sampleRate uint16_t 采样率
bitRate uint32_t 比特率
codecType uint8_t 编解码类型
payload uint8_t 载荷
channel uint8_t 通道
channelMode uint8_t 通道模式
blockLength uint8_t 块长度
subband uint8_t 子带
allocMethod uint8_t 分配方法
minBitpool uint8_t 最小比特池
maxBitpool uint8_t 最大比特池
objectType uint8_t 对象类型
rfa uint8_t 保留字段
vbr uint8_t 可变比特率标志

ToggleConfig

typedef struct {
    bool toggleValid;
    uint32_t toggleCount;
} ToggleConfig;

成员说明

成员名称 数据类型 描述
toggleValid bool 切换配置是否有效
toggleCount uint32_t 切换计数

Type definitions

AudioSession

typedef uint32_t AudioSession;

使用说明

音频会话标识类型,供 AudioManager 子模块接口使用

RendererCallback

typedef int32_t (*RendererCallback)(const void *, AudioCallbackEventType, const void *);

使用说明

音频渲染回调函数指针类型,在音频渲染事件(如非阻塞写入完成、Drain完成、渲染缓冲区满等)发生时被调用

CapturerCallback

typedef int32_t (*CapturerCallback)(const void *, AudioCallbackEventType, const void *);

使用说明

音频采集回调函数指针类型,在音频采集事件发生时被调用

Macros

MAX_INST_NUM

#define MAX_INST_NUM 6