我能够创建我想要的 avaudioplayer 和 avaudiorecorder 的确切功能,但当然遇到了延迟问题。因此,在阅读了网络上的几乎所有文章并查看了大量示例代码之后,我仍然不确定如何实现以下目标:
- 用户选择使用预卷/倒计时录制 2 小节长(每小节 4 拍)的样本
- 用户点击记录
- 节拍器开始,以 4 拍计(第一拍重音)
- 该应用程序会在下一个小节开始时自动开始录制
- 应用程序在第 3 小节结束时自动关闭录制(2 小节 + 前贴片)
- 然后,用户可以播放他们的录音或删除它并重新开始。
因此,使用 avaudioplayer 和 avaudiorecorder,我只需使用 audacity 将节拍器设置为正确的 bpm(为应用程序设置 bpm)创建了一个“caf”。然后我设置并播放 avaudioplayer 并使用 audiodidfinishsuccessfully 委托方法,执行一些逻辑来启动录音机,重新启动播放器,保持循环计数等以关闭录音和音频。
正如我所提到的,我几乎能够实现我所追求的用户体验,但延迟问题是不可接受的。
我一直在使用音频单元和远程 IO,并设置了一个带有播放回调和记录器回调等的项目,但现在面临如何根据上述描述进行这项工作的问题。我正在尝试为初学者解决以下问题:
- 如果我创建一个 1 beat caf 文件,我如何利用音频单元和远程 IO 播放 x 节拍然后停止?
- 我如何进行前卷并在 4 拍后开始录音回调
谁能给我一些想法或指出我正确的方向。正如我所提到的,我已经进行了大量研究,包括购买核心有声读物,阅读 atastypixel.com、timbolstad.com 等上的每篇文章,并浏览了苹果文档。
在此先感谢您的帮助。