|
|
1
3
OpenAL对于这个目的可能不是很好。我建议您使用SDL(也许可以使用SDL\u混音器)或PortAudio。两者都是跨平台的,而且都非常容易使用。 要使用OpenAL实现此目的,您必须轮询以查看在隐藏的循环缓冲区中累积了多少个样本。当你决定准备好的时候把它们拿出来。然后应用过滤器。然后将过滤后的数据附加到缓冲区。然后,将缓冲区排队到一个源上,并告诉该源播放(除非它已经在播放)。在我看来,OpenAL的优势在于应用3D效果。它在实时过滤方面没有那么好,尽管我希望如果您愿意接受输出延迟一点的话,它可以工作。我更喜欢使用回调模型而不是缓冲区对象模型进行过滤。 OpenAL: How to create simple "Microphone Echo" programm? 一条注释指出了处理的位置。 |
|
|
2
2
在iOS上,您需要使用音频队列或音频单元进行录制。对于应用实时效果,音频单元是最好的选择,尽管比音频队列复杂得多。 |
|
|
3
-1
苹果有两个(或更多)这样的样品。看看aurioTouch和SpeakHere。aurioTouch可以接收麦克风输入并回放,SpeakHere可以接收输入并录制,您可以很容易地修改它来回放。 |