我在使用 iOS 音频框架创建简单应用时遇到了一些问题。我想通过麦克风录制音频并在录制时播放给用户。
我已经尝试了每个音频框架层(AVFoundation、Audio Queue API 和 RemoteIO),但只找到了旧文档和损坏的示例。这似乎是 AVFoundation 应该处理的一个简单请求,但我已经探索了以下内容其他 SO 问题,仍然发现自己盘旋了几个小时才能掌握这个窍门。以下是我的评论:
- iOS: Sample code for simultaneous record and playback (其他 SO 用户也表示接受的答案并不具体,即使延迟约 70 毫秒也难以实现。)
- Record and play audio Simultaneously (从 2010 年开始,级别很高,我已经下载了示例代码,但找不到同时播放和录制的工作示例)。
- Adjust the length of an AudioUnit Buffer (RemoteIO 现在让我很困惑,这真的是必需的吗?)
我还下载并查看了 SpeakHere和 AurioTouch来自 Apple 的示例项目。我保证如果没有数小时的谷歌搜索和挣扎,我不会发帖。可以看到"record audio and playback iOS simultaneously"返回许多过时和无效的示例。我知道我自己和社区真的可以从音频部分中的一些更新文档和示例中受益。对于这样一个简单的任务,RemoteIO 似乎太高级了。再次感谢您的帮助和考虑。
最佳答案
执行此操作的适当方法是通过 AudioUnit API,尽管这似乎是应该由更高级别的 API 处理的常见场景。
我写了一个小demo app使用音频单元。您可以自由试用我们的产品并根据您的目的对其进行修改。演示应用程序确实会录制音频并同时播放,但建议使用耳机观看效果。
关于ios - 同时录制和播放音频的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31871168/