我正在针对一个库进行编译,该库创建一个 AudioRecord 对象,该对象捕获我的平板电脑的麦克风输入。
我没有能力修改预编译库,但我想给它一些预先录制的音频。
有没有办法在android中创建某种环回来完成这个?
谢谢。
Android(在撰写本文时)不支持此功能。作为应用程序开发人员,您不能将麦克风路径替换为其他音频源。
有些平台确实支持这种功能。例如,我在高通的 APQ8064 平台上通过将其中一个DAI 连接MultiMedia
到AFE_PCM_RX
混音器,将AFE_PCM_TX
DAI 连接到MultiMedia
混音器,然后从AFE_PCM_TX
设备中读取,完成了音频的环回。但这显然是非常特定于平台的,它需要您拥有一个根设备(并且可能访问设备的完整源代码,以便您可以制作自定义 ROM),并且对相关平台有很好的了解。
TL;DR:尝试这样做通常不值得。
是的,chrome 音频团队开发了一种优雅的工具,称为 Rick O'Rang 环回电缆。它在循环方面做得很好。它将通过音频输出通道输出音频输入,然后通过麦克风将其反馈回来。
硬件可以在这里找到--> https://source.android.com/devices/audio/images/loopback_circuit.png
它附带一个应用程序,可以在 Playstore 中找到,用于对延迟和其他音频参数进行广泛分析。但是由于您所需要的只是播放并录制它,您只需组装它,将其插入音频插孔并播放它就可以了。
您可以找到有关用于 android CTS 验证程序音频测试的音频环回加密狗的所有详细信息 @ https://source.android.com/devices/audio/loopback