音频实现

本部分介绍了如何实现音频硬件抽象层 (HAL),提供了有关配置音频策略(文件格式、代码组织、预处理效果)的详细信息,并说明了如何配置共享库(创建 Android.mk 文件)。

实现音频 HAL

音频 HAL 由以下接口组成:

  • hardware/libhardware/include/hardware/audio.h:表示音频设备的主函数。
  • hardware/libhardware/include/hardware/audio_effect.h:表示可应用于音频的效果,如缩混、回音或噪音抑制。

您必须实现所有接口。

音频标头文件

要查看您可以定义的属性的参考,请参阅音频标头文件:

  • 在 Android 6.0 及更高版本中,请参阅 system/media/audio/include/system/audio.h
  • 在 Android 5.1 及更低版本中,请参阅 system/core/include/system/audio.h

例如,在 device/samsung/tuna/audio 中参阅 Galaxy Nexus 的实现。

后续步骤

除了实现音频 HAL 之外,您还必须创建音频策略配置文件,用于描述您的音频拓扑,并将 HAL 实现打包到共享库中。您还可以配置预处理效果,如自动增益控制和噪音抑制。