Audio

概述

Audio模块接口定义。

音频接口涉及数据类型、驱动加载接口、驱动适配器接口、音频播放接口、音频录音接口等。

Since:

3.2

Version:

1.0

汇总

文件

名称 描述
AudioTypes.idl Audio模块接口定义中使用的数据类型。
IAudioAdapter.idl Audio适配器的接口定义文件。
IAudioCallback.idl Audio播放的回调函数定义文件。
IAudioCapture.idl Audio录音的接口定义文件。
IAudioManager.idl Audio适配器管理及加载的接口定义文件。
IAudioRender.idl Audio播放的接口定义文件。

名称 描述
AudioDeviceStatus struct
音频设备状态。
SceneDesc union
音频场景描述。
AudioPort struct
音频端口。
AudioAdapterDescriptor struct
音频适配器描述符。
AudioDeviceDescriptor struct
音频设备描述符。
AudioSceneDescriptor struct
音频场景描述符。
AudioSampleAttributes struct
音频采样属性。
AudioTimeStamp struct
音频时间戳。
AudioSubPortCapability struct
音频子端口的支持能力。
AudioPortCapability struct
音频端口的支持能力。
AudioMmapBufferDescripter struct
mmap缓冲区描述符。
AudioDevExtInfo struct
音频设备拓展信息。
AudioMixExtInfo struct
音轨拓展信息。
AudioSessionExtInfo struct
会话拓展信息。
AudioInfo struct
音频端口特定信息。
AudioRouteNode struct
音频路由节点。
AudioRoute struct
音频路由信息。
AudioEvent struct
音频事件。
IAudioAdapter interface
AudioAdapter音频适配器接口。
IAudioCallback interface
Audio回调接口。
IAudioCapture interface
AudioCapture音频录音接口。
IAudioManager interface
AudioManager音频适配器管理接口。
IAudioRender interface
AudioRender音频播放接口。

枚举

名称 描述
AudioPortDirection { PORT_OUT = 1 , PORT_IN = 2 , PORT_OUT_IN = 3 } 音频端口的类型。
AudioPortPin {
PIN_NONE = 0 , PIN_OUT_SPEAKER = 1 , PIN_OUT_HEADSET = 2 , PIN_OUT_LINEOUT = 4 ,
PIN_OUT_HDMI = 8 , PIN_IN_MIC = 134217729 , PIN_IN_HS_MIC = 134217730 , PIN_IN_LINEIN = 134217732 ,
PIN_IN_USB_EXT = 134217736
}
音频端口上的Pin脚。
AudioCategory { AUDIO_IN_MEDIA = 0 , AUDIO_IN_COMMUNICATION = 1 , AUDIO_IN_RINGTONE = 2 , AUDIO_IN_CALL = 3 } 音频类型(场景)。
AudioFormat {
AUDIO_FORMAT_PCM_8_BIT = 1 , AUDIO_FORMAT_PCM_16_BIT = 2 , AUDIO_FORMAT_PCM_24_BIT = 3 , AUDIO_FORMAT_PCM_32_BIT = 4 ,
AUDIO_FORMAT_AAC_MAIN = 16777217 , AUDIO_FORMAT_AAC_LC = 16777218 , AUDIO_FORMAT_AAC_LD = 16777219 , AUDIO_FORMAT_AAC_ELD = 16777220 ,
AUDIO_FORMAT_AAC_HE_V1 = 16777221 , AUDIO_FORMAT_AAC_HE_V2 = 16777222 , AUDIO_FORMAT_G711A = 33554433 , AUDIO_FORMAT_G711U = 33554434 ,
AUDIO_FORMAT_G726 = 33554435
}
音频格式。
AudioChannelMask { AUDIO_CHANNEL_FRONT_LEFT = 1 , AUDIO_CHANNEL_FRONT_RIGHT = 2 , AUDIO_CHANNEL_MONO = 1 , AUDIO_CHANNEL_STEREO = 3 } 音频通道掩码。
AudioSampleRatesMask {
AUDIO_SAMPLE_RATE_MASK_8000 = 1 << 0 , AUDIO_SAMPLE_RATE_MASK_12000 = 1 << 1 , AUDIO_SAMPLE_RATE_MASK_11025 = 1 << 2 , AUDIO_SAMPLE_RATE_MASK_16000 = 1 << 3 ,
AUDIO_SAMPLE_RATE_MASK_22050 = 1 << 4 , AUDIO_SAMPLE_RATE_MASK_24000 = 1 << 5 , AUDIO_SAMPLE_RATE_MASK_32000 = 1 << 6 , AUDIO_SAMPLE_RATE_MASK_44100 = 1 << 7 ,
AUDIO_SAMPLE_RATE_MASK_48000 = 1 << 8 , AUDIO_SAMPLE_RATE_MASK_64000 = 1 << 9 , AUDIO_SAMPLE_RATE_MASK_96000 = 1 << 10 , AUDIO_SAMPLE_RATE_MASK_INVALID = 4294967295
}
音频采样频率掩码。
AudioPortPassthroughMode { PORT_PASSTHROUGH_LPCM = 1 , PORT_PASSTHROUGH_RAW = 2 , PORT_PASSTHROUGH_HBR2LBR = 4 , PORT_PASSTHROUGH_AUTO = 8 } 音频端口的数据透传模式。
AudioDeviceType {
AUDIO_LINEOUT = 1 << 0 , AUDIO_HEADPHONE = 1 << 1 , AUDIO_HEADSET = 1 << 2 , AUDIO_USB_HEADSET = 1 << 3 ,
AUDIO_USB_HEADPHONE = 1 << 4 , AUDIO_USBA_HEADSET = 1 << 5 , AUDIO_USBA_HEADPHONE = 1 << 6 , AUDIO_PRIMARY_DEVICE = 1 << 7 ,
AUDIO_USB_DEVICE = 1 << 8 , AUDIO_A2DP_DEVICE = 1 << 9 , AUDIO_DEVICE_UNKOWN
}
音频设备类型。
AudioEventType {
AUDIO_DEVICE_ADD = 1 , AUDIO_DEVICE_REMOVE = 2 , AUDIO_LOAD_SUCCESS = 3 , AUDIO_LOAD_FAILURE = 4 ,
AUDIO_UNLOAD = 5 , AUDIO_SERVICE_VALID = 7 , AUDIO_SERVICE_INVALID = 8 , AUDIO_CAPTURE_THRESHOLD = 9 ,
AUDIO_EVENT_UNKOWN = 10
}
音频事件类型。
AudioExtParamKey {
AUDIO_EXT_PARAM_KEY_NONE = 0 , AUDIO_EXT_PARAM_KEY_VOLUME = 1 , AUDIO_EXT_PARAM_KEY_FOCUS = 2 , AUDIO_EXT_PARAM_KEY_BUTTON = 3 ,
AUDIO_EXT_PARAM_KEY_EFFECT = 4 , AUDIO_EXT_PARAM_KEY_STATUS = 5 , AUDIO_EXT_PARAM_KEY_LOWPOWER = 1000
}
音频扩展参数键类型。
AudioSampleFormat {
AUDIO_SAMPLE_FORMAT_S8 = 0 , AUDIO_SAMPLE_FORMAT_S8P = 1 , AUDIO_SAMPLE_FORMAT_U8 = 2 , AUDIO_SAMPLE_FORMAT_U8P = 3 ,
AUDIO_SAMPLE_FORMAT_S16 = 4 , AUDIO_SAMPLE_FORMAT_S16P = 5 , AUDIO_SAMPLE_FORMAT_U16 = 6 , AUDIO_SAMPLE_FORMAT_U16P = 7 ,
AUDIO_SAMPLE_FORMAT_S24 = 8 , AUDIO_SAMPLE_FORMAT_S24P = 9 , AUDIO_SAMPLE_FORMAT_U24 = 10 , AUDIO_SAMPLE_FORMAT_U24P = 11 ,
AUDIO_SAMPLE_FORMAT_S32 = 12 , AUDIO_SAMPLE_FORMAT_S32P = 13 , AUDIO_SAMPLE_FORMAT_U32 = 14 , AUDIO_SAMPLE_FORMAT_U32P = 15 ,
AUDIO_SAMPLE_FORMAT_S64 = 16 , AUDIO_SAMPLE_FORMAT_S64P = 17 , AUDIO_SAMPLE_FORMAT_U64 = 18 , AUDIO_SAMPLE_FORMAT_U64P = 19 ,
AUDIO_SAMPLE_FORMAT_F32 = 20 , AUDIO_SAMPLE_FORMAT_F32P = 21 , AUDIO_SAMPLE_FORMAT_F64 = 22 , AUDIO_SAMPLE_FORMAT_F64P = 23
}
原始音频样本格式。
AudioChannelMode {
AUDIO_CHANNEL_NORMAL = 0 , AUDIO_CHANNEL_BOTH_LEFT , AUDIO_CHANNEL_BOTH_RIGHT , AUDIO_CHANNEL_EXCHANGE ,
AUDIO_CHANNEL_MIX , AUDIO_CHANNEL_LEFT_MUTE , AUDIO_CHANNEL_RIGHT_MUTE , AUDIO_CHANNEL_BOTH_MUTE
}
音频播放的通道模式。
AudioDrainNotifyType { AUDIO_DRAIN_NORMAL_MODE , AUDIO_DRAIN_EARLY_MODE } 音频数据结束类型。
AudioCallbackType {
AUDIO_NONBLOCK_WRITE_COMPELETED , AUDIO_DRAIN_COMPELETED , AUDIO_FLUSH_COMPLETED , AUDIO_RENDER_FULL ,
AUDIO_ERROR_OCCUR
}
回调函数通知事件类型。
AudioPortRole { AUDIO_PORT_UNASSIGNED_ROLE = 0 , AUDIO_PORT_SOURCE_ROLE = 1 , AUDIO_PORT_SINK_ROLE = 2 } 音频端口角色。
AudioPortType { AUDIO_PORT_UNASSIGNED_TYPE = 0 , AUDIO_PORT_DEVICE_TYPE = 1 , AUDIO_PORT_MIX_TYPE = 2 , AUDIO_PORT_SESSION_TYPE = 3 } 音频端口类型。
AudioSessionType { AUDIO_OUTPUT_STAGE_SESSION = 0 , AUDIO_OUTPUT_MIX_SESSION , AUDIO_ALLOCATE_SESSION , AUDIO_INVALID_SESSION } 端口会话类型。

关键字

名称 描述
package ohos.hdi.audio.v1_0 音频接口的包路径。

枚举类型说明

AudioCallbackType

enum AudioCallbackType

描述:

回调函数通知事件类型。

枚举值 描述
AUDIO_NONBLOCK_WRITE_COMPELETED 非阻塞式写完成。
AUDIO_DRAIN_COMPELETED DrainBuffer完成,详情参考DrainBuffer()
AUDIO_FLUSH_COMPLETED Flush完成,详情参考Flush()
AUDIO_RENDER_FULL 录音缓冲区已满。
AUDIO_ERROR_OCCUR 发生了错误。

AudioCategory

enum AudioCategory

描述:

音频类型(场景)。

枚举值 描述
AUDIO_IN_MEDIA 媒体。
AUDIO_IN_COMMUNICATION 通信。
AUDIO_IN_RINGTONE 电话铃声。
AUDIO_IN_CALL 呼叫。

AudioChannelMask

enum AudioChannelMask

描述:

音频通道掩码。

定义音频声道的位置掩码。

枚举值 描述
AUDIO_CHANNEL_FRONT_LEFT 声道布局前左。
AUDIO_CHANNEL_FRONT_RIGHT 声道布局前右。
AUDIO_CHANNEL_MONO 单声道。
AUDIO_CHANNEL_STEREO 立体声,由左右声道组成。

AudioChannelMode

enum AudioChannelMode

描述:

音频播放的通道模式。

注意:

下面的模式是针对双通道立体声的音频播放而设置,其他不支持。

枚举值 描述
AUDIO_CHANNEL_NORMAL 正常模式,不做处理。
AUDIO_CHANNEL_BOTH_LEFT 两个声道全部为左声道声音。
AUDIO_CHANNEL_BOTH_RIGHT 两个声道全部为右声道声音。
AUDIO_CHANNEL_EXCHANGE 左右声道数据互换,左声道为右声道声音,右声道为左声道声音。
AUDIO_CHANNEL_MIX 左右两个声道输出为左右声道相加(混音)。
AUDIO_CHANNEL_LEFT_MUTE 左声道静音,右声道播放原右声道声音。
AUDIO_CHANNEL_RIGHT_MUTE 右声道静音,左声道播放原左声道声音。
AUDIO_CHANNEL_BOTH_MUTE 左右声道均静音。

AudioDeviceType

enum AudioDeviceType

描述:

音频设备类型。

枚举值 描述
AUDIO_LINEOUT LINEOUT设备。
AUDIO_HEADPHONE 耳机。
AUDIO_HEADSET 头戴式耳机。
AUDIO_USB_HEADSET USB头戴式耳机。
AUDIO_USB_HEADPHONE USB耳机。
AUDIO_USBA_HEADSET USB模拟头戴式耳机。
AUDIO_USBA_HEADPHONE USB模拟耳机。
AUDIO_PRIMARY_DEVICE 主音频设备。
AUDIO_USB_DEVICE USB音频设备。
AUDIO_A2DP_DEVICE 蓝牙音频设备。
AUDIO_DEVICE_UNKOWN 未知设备。

AudioDrainNotifyType

enum AudioDrainNotifyType

描述:

音频数据结束类型。

枚举值 描述
AUDIO_DRAIN_NORMAL_MODE 曲目的所有数据播放完就结束。
AUDIO_DRAIN_EARLY_MODE 曲目的所有数据未播放完就结束,以便给音频服务做连续性曲目切换留出时间。

AudioEventType

enum AudioEventType

描述:

音频事件类型。

枚举值 描述
AUDIO_DEVICE_ADD 音频设备添加。
AUDIO_DEVICE_REMOVE 音频设备移除。
AUDIO_LOAD_SUCCESS 声卡加载成功。
AUDIO_LOAD_FAILURE 声卡加载失败。
AUDIO_UNLOAD 声卡卸载。
AUDIO_SERVICE_VALID 音频服务可用。
AUDIO_SERVICE_INVALID 音频服务不可用。
AUDIO_CAPTURE_THRESHOLD 录音阈值上报。
AUDIO_EVENT_UNKOWN 未知事件。

AudioExtParamKey

enum AudioExtParamKey

描述:

音频扩展参数键类型。

枚举值 描述
AUDIO_EXT_PARAM_KEY_NONE 分布式音频-无效事件。
AUDIO_EXT_PARAM_KEY_VOLUME 分布式音频-音量事件。
AUDIO_EXT_PARAM_KEY_FOCUS 分布式音频-焦点事件。
AUDIO_EXT_PARAM_KEY_BUTTON 分布式音频-媒体按钮事件。
AUDIO_EXT_PARAM_KEY_EFFECT 分布式音频-音频效果事件。
AUDIO_EXT_PARAM_KEY_STATUS 分布式音频-设备状态事件。
AUDIO_EXT_PARAM_KEY_LOWPOWER 低电量事件。

AudioFormat

enum AudioFormat

描述:

音频格式。

枚举值 描述
AUDIO_FORMAT_PCM_8_BIT 8bit位宽PCM(Pulse Code Modulation)格式。
AUDIO_FORMAT_PCM_16_BIT 16bit位宽PCM格式。
AUDIO_FORMAT_PCM_24_BIT 24bit位宽PCM格式。
AUDIO_FORMAT_PCM_32_BIT 32bit位宽PCM格式。
AUDIO_FORMAT_AAC_MAIN AAC(Advanced Audio Coding) MAIN格式。
AUDIO_FORMAT_AAC_LC AAC LC格式。
AUDIO_FORMAT_AAC_LD AAC LD格式。
AUDIO_FORMAT_AAC_ELD AAC ELD格式。
AUDIO_FORMAT_AAC_HE_V1 AAC HE_V1格式。
AUDIO_FORMAT_AAC_HE_V2 AAC HE_V2格式。
AUDIO_FORMAT_G711A PCM G711A格式。
AUDIO_FORMAT_G711U PCM G711u格式。
AUDIO_FORMAT_G726 PCM G726格式。

AudioPortDirection

enum AudioPortDirection

描述:

音频端口的类型。

枚举值 描述
PORT_OUT 音频输出端口。
PORT_IN 音频输入端口。
PORT_OUT_IN 音频输出输入端口。

AudioPortPassthroughMode

enum AudioPortPassthroughMode

描述:

音频端口的数据透传模式。

枚举值 描述
PORT_PASSTHROUGH_LPCM 立体声PCM。
PORT_PASSTHROUGH_RAW HDMI透传。
PORT_PASSTHROUGH_HBR2LBR 蓝光次世代音频降规格输出。
PORT_PASSTHROUGH_AUTO 根据HDMI EDID能力自动匹配。

AudioPortPin

enum AudioPortPin

描述:

音频端口上的Pin脚。

枚举值 描述
PIN_NONE 无效端口。
PIN_OUT_SPEAKER 喇叭输出。
PIN_OUT_HEADSET 有线耳机输出。
PIN_OUT_LINEOUT Lineout输出。
PIN_OUT_HDMI HDMI输出。
PIN_IN_MIC 麦克风输入。
PIN_IN_HS_MIC 有线耳机麦克风输入。
PIN_IN_LINEIN Linein输入。
PIN_IN_USB_EXT USB外部声卡输出。

AudioPortRole

enum AudioPortRole

描述:

音频端口角色。

枚举值 描述
AUDIO_PORT_UNASSIGNED_ROLE 未指定端口角色。
AUDIO_PORT_SOURCE_ROLE 指定端口为发送端角色。
AUDIO_PORT_SINK_ROLE 指定端口为接受端角色。

AudioPortType

enum AudioPortType

描述:

音频端口类型。

枚举值 描述
AUDIO_PORT_UNASSIGNED_TYPE 未指定端口类型。
AUDIO_PORT_DEVICE_TYPE 指定端口为设备类型。
AUDIO_PORT_MIX_TYPE 指定端口为复合类型。
AUDIO_PORT_SESSION_TYPE 指定端口为会话类型。

AudioSampleFormat

enum AudioSampleFormat

描述:

原始音频样本格式。

枚举值 描述
AUDIO_SAMPLE_FORMAT_S8 8bit位宽有符号交织样本。
AUDIO_SAMPLE_FORMAT_S8P 8bit位宽有符号非交织样本。
AUDIO_SAMPLE_FORMAT_U8 8bit位宽无符号交织样本。
AUDIO_SAMPLE_FORMAT_U8P 8bit位宽无符号非交织样本。
AUDIO_SAMPLE_FORMAT_S16 16bit位宽有符号交织样本。
AUDIO_SAMPLE_FORMAT_S16P 16bit位宽有符号非交织样本。
AUDIO_SAMPLE_FORMAT_U16 16bit位宽无符号交织样本。
AUDIO_SAMPLE_FORMAT_U16P 16bit位宽无符号非交织样本。
AUDIO_SAMPLE_FORMAT_S24 24bit位宽有符号交织样本。
AUDIO_SAMPLE_FORMAT_S24P 24bit位宽有符号非交织样本。
AUDIO_SAMPLE_FORMAT_U24 24bit位宽无符号交织样本。
AUDIO_SAMPLE_FORMAT_U24P 24bit位宽无符号非交织样本。
AUDIO_SAMPLE_FORMAT_S32 32bit位宽有符号交织样本。
AUDIO_SAMPLE_FORMAT_S32P 32bit位宽有符号非交织样本。
AUDIO_SAMPLE_FORMAT_U32 32bit位宽无符号交织样本。
AUDIO_SAMPLE_FORMAT_U32P 32bit位宽无符号非交织样本。
AUDIO_SAMPLE_FORMAT_S64 64bit位宽有符号交织样本。
AUDIO_SAMPLE_FORMAT_S64P 64bit位宽有符号非交织样本。
AUDIO_SAMPLE_FORMAT_U64 64bit位宽无符号交织样本。
AUDIO_SAMPLE_FORMAT_U64P 64bit位宽无符号非交织样本。
AUDIO_SAMPLE_FORMAT_F32 32bit位宽浮点型交织样本。
AUDIO_SAMPLE_FORMAT_F32P 64bit位宽浮点型非交织样本。
AUDIO_SAMPLE_FORMAT_F64 64bit位宽双精度浮点型交织样本。
AUDIO_SAMPLE_FORMAT_F64P 64bit位宽双精度浮点型非交织样本。

AudioSampleRatesMask

enum AudioSampleRatesMask

描述:

音频采样频率掩码。

枚举值 描述
AUDIO_SAMPLE_RATE_MASK_8000 8K 采样频率。
AUDIO_SAMPLE_RATE_MASK_12000 12K 采样频率。
AUDIO_SAMPLE_RATE_MASK_11025 11.025K 采样频率。
AUDIO_SAMPLE_RATE_MASK_16000 16K 采样频率。
AUDIO_SAMPLE_RATE_MASK_22050 22.050K 采样频率。
AUDIO_SAMPLE_RATE_MASK_24000 24K 采样频率。
AUDIO_SAMPLE_RATE_MASK_32000 32K 采样频率。
AUDIO_SAMPLE_RATE_MASK_44100 44.1K 采样频率。
AUDIO_SAMPLE_RATE_MASK_48000 48K 采样频率。
AUDIO_SAMPLE_RATE_MASK_64000 64K 采样频率。
AUDIO_SAMPLE_RATE_MASK_96000 96K 采样频率。
AUDIO_SAMPLE_RATE_MASK_INVALID 无效的采样频率。

AudioSessionType

enum AudioSessionType

描述:

端口会话类型。

枚举值 描述
AUDIO_OUTPUT_STAGE_SESSION 会话绑定到指定输出流。
AUDIO_OUTPUT_MIX_SESSION 会话绑定到特定音轨。
AUDIO_ALLOCATE_SESSION 会话ID需重新申请。
AUDIO_INVALID_SESSION 无效会话类型。