我一直在尝试让 iOS 的音频分接头处理器与 iPod 库一起工作,但运气不佳。
主要问题似乎是有时根本没有调用“进程回调”(尽管调用了准备回调)。
当 PROocess 回调开始被调用时,一切似乎都可以正常工作,直到我暂停音频。当我尝试取消暂停音频时,MTAudioProcessingTapGetSourceAudio 失败(错误:268451843 和 268435459),之后没有任何反应。
当我尝试将它与存储在我的文档目录中的波形文件一起使用时,它可以完美运行,始终调用 Process 并且暂停/取消暂停完美运行。
当我正在编写一个频谱分析应用程序时,我认为提取音频数据进行频谱分析可能花费的时间太长(特别是由于遗留原因,我将传入的音频从浮动多通道转换为短单通道)。为了解决这个问题,我尝试使用 dispatch_async 将缓冲数据传递到主线程以生成频谱。同样,这对于我的文档目录中的波形文件似乎工作得相当好,但对于来自 iPod 库的文件完全失败。
唉,由于回调的实时性,整个音频水龙头的东西都被记录在案,几乎不可能调试。
任何建议或想法将不胜感激!