我尝试使用 android ndk 录制音频。人们说我可以使用“frameworks/base/media/libmedia/AudioRecord.cpp”。但它在内核中。我如何访问和使用它?
最佳答案
C++ libmedia 库不是公共(public) API 的一部分。有些人使用它,但非常不鼓励这样做,因为它可能会在某些设备上和/或 future 的 Android 版本中损坏。
我开发了一个录音应用程序,相信我,音频支持在设备之间非常不一致,这非常棘手,所以 IMO 直接使用 libmedia 不是一个好主意。
使用公共(public) API 捕获原始音频的唯一方法是使用 Java AudioRecord类(class)。它将为您提供 PCM 数据,然后您可以选择将其传递给 C 优化例程。
或者,尽管这有点困难,但您可以围绕 Java AudioRecord 类编写 C/C++ 包装器,因为可以通过 JNI 实例化 Java 对象和调用方法。
关于android - 使用 Android NDK 录音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3297305/