android - 直接使用 libmedia\AudioFlinger 录制\播放音频

标签 android android-ndk audioflinger

我正在检查直接连接到 libmedia\AudioFlinger 以播放\录制原始音频的可能性(就像 AudioTrack\AudioRecord 那样)。

目的是解决这 2 个 Java 类的最小缓冲区大小限制。 我知道 2.3 引入了 OpenSL,但我想为 2.2 及更低版本这样做。

有人做过吗?是否有使用它的任何好的引用实现? 如果不是,您将如何链接到该库并使用它来解决最小缓冲区大小问题?

谢谢

最佳答案

遗憾的是,只有两个受支持的音频 API 可用,而您都提到了两者(AudioTrack 和 OpenSL)。任何低于此的级别,您都会干扰设备已经完成的音频混合,例如 SFX 和电话。此外,由于没有用于较低层音频的 API,您需要进行黑客攻击,出于明显的兼容性原因,这可能不是您想要做的。

关于android - 直接使用 libmedia\AudioFlinger 录制\播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5764784/

相关文章:

java - byte[] toString() 给出一个奇怪的字符串而不是实际值

android - JNI,使用 native 代码访问 SurfaceTexture

android - 是否可以在 Android 上访问扬声器信号?

android - 如何从REMOTE_SUBMIX中排除STREAM_SYSTEM

java - 显式类型参数 "<>"在 Android 4.1 上如何工作?

android - 在操作栏中隐藏菜单选项

android - 何时调用 glDeleteBuffers()

android - 直接在 Android NDK 端使用 tensorflow(不使用 JAVA api)

android - Android audioFlinger

java - 如何将捕获的图像放入应用程序并上传到服务器?