在 iOS 中使用 Core Audio 同时播放和录音

Posted

技术标签:

【中文标题】在 iOS 中使用 Core Audio 同时播放和录音【英文标题】:Playback and Recording simultaneously using Core Audio in iOS 【发布时间】:2012-08-30 17:15:22 【问题描述】:

我需要使用 Core Audio 同时播放和录制。我真的不想使用 AVFoundation API (AVAudioPlayer + AVAudioRecorder) 来做这件事,因为我正在制作一个音乐应用程序并且不会有任何延迟问题。

我查看了以下来自 Apple 的源代码: aurioTouch MixerHost

我已经查看了以下帖子: ios: Sample code for simultaneous record and playback Record and play audio Simultaneously

我仍然不清楚如何使用 Core Audio 同时播放和录制相同的内容。任何关于我如何实现这一目标的指针都将非常可观。任何指向任何示例源代码的指针也会有很大帮助。

【问题讨论】:

问题是,如果我把我的应用程序发给你做同样的事情,它对你没有帮助,因为这是一个非常复杂的事情,你应该自己分析工作流程来理解它。 顺便说一下,我分析了 this sample project 来了解这个过程。这对我来说绰绰有余,分析它花了我两三天的时间,但我不是天才。当然,我也阅读了完整的 Audio Session Programming Guide 【参考方案1】:

RemoteIO 音频单元可用于同时录制和播放。有很多使用 RemoteIO (aurioTouch) 录制和使用 RemoteIO 播放的示例。只需启用单元输入和单元输出,并处理两个缓冲区回调。查看示例here

【讨论】:

我有aurioTouch的源代码。你能告诉我我可以在哪里寻找,以便我能得到一些想法。现在,我只想实现像playSound:<wave file> 这样的方法并能够记录它。 你能给我样品aurioTouch吗?提前致谢

以上是关于在 iOS 中使用 Core Audio 同时播放和录音的主要内容,如果未能解决你的问题,请参考以下文章

iOS 音频系列之一:Core Audio简介

如何在 iPhone 的 Core Audio (Audio Unit/ Remote IO) 中将录制的声音更改为男人的声音

unity如何防止audio同时播放

Core Audio 大(压缩)文件播放和内存占用

Core Audio:用于提升信号电平的音频单元

Core Audio框架详细解析(二) —— 基于CoreAudio的ios音频服务总结分析