Superpowered SDK - 监控麦克风输入

Superpowered SDK - Monitor mic input

我已经从 Superpowered SDK 下载并测试了 CrossExample android 应用程序,这是我的问题: 我如何实时收听 phone 的微型 phone?我需要一些示例代码... 我的目标是对音频输入应用一些过滤器 (microphone) 并立即收听结果。

非常感谢!

CrossExample 将仅演示使用不同的效果混合两个预定义的音频剪辑(来自项目的原始文件夹)。团队仍然没有发布示例来演示您正在寻找的功能。这不是微不足道的(但相当复杂),因此我建议您深入了解一些现有示例,直到它们发布更多 code/tutorials,这样您以后就可以更轻松地解决这些问题。

其实很容易获得音频输入。您只需在 SuperpoweredAndroidAudioIO 的构造函数中启用输入。为此,将第三个参数设置为 true,如下所示:

audioSystem = new SuperpoweredAndroidAudioIO(
    samplerate, buffersize, true, true, audioProcessing, this, -1, SL_ANDROID_STREAM_MEDIA, buffersize * 2);

现在您可以在示例的 process 方法中获得音频输入。这意味着

bool SuperpoweredExample::process(short int *output, unsigned int numberOfSamples)

相同的缓冲区用于输入和输出。输入被写入 short int *output,你可以从 unsigned int numberOfSamples 中获取长度。您可能需要将 short int *output 重命名为 short int *inputoutput 以进行说明。

确保在用输出数据覆盖之前处理输入。如果您想应用任何效果,只需在 process 方法中的 input/output 缓冲区上进行即可。

还要确保您在 AndroidManifest.xml 中拥有 RECORD_AUDIO 权限:

<uses-permission android:name="android.permission.RECORD_AUDIO" />