我已经从Superpowered SDK下载并测试了CrossExample Android应用,这是我的问题: 我怎样才能实时收听手机的麦克风?我需要一些示例代码...... 我的目标是将一些滤波器应用于音频输入(麦克风)并立即收听结果。
非常感谢!
答案 0 :(得分:5)
实际上很容易获得音频输入。您只需在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
以获得澄清。
确保在使用输出数据覆盖输入之前处理输入。如果要应用任何效果,只需在处理方法中对输入/输出缓冲区执行此操作。
另外,请确保您RECORD_AUDIO
拥有AndroidManifest.xml
权限:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
答案 1 :(得分:0)
CrossExample将演示使用不同的效果混合两个预定义的音频剪辑(来自项目的原始文件夹)。团队仍然没有发布将展示您正在寻找的功能的示例。这不是一件容易的事(但相当复杂),所以我建议你深入了解一些现有的例子,直到他们发布更多的代码/教程,以便你以后更轻松地解决这些问题。