我正在开发一种适用于 iOS 的数字音频工作站架构(主要是,但也尝试支持 OS X)。我正在慢慢浏览 Apple 的数英里文档和他们的框架引用。
我有 DSP 方面的经验,但 iOS 对我来说比较新,而且有很多对象、教程(即使是旧版本的 iOS)和具有不同 API 的不同框架。 我只想确保在开始时选择正确的选项,或两者的组合。
架构的目标是:
我希望我没有错过任何东西,但这些是最重要的目标。
我的研究
我已经浏览了大多数框架(虽然不是很详细),这就是我的发现。 Apple 列出了以下在 iOS 上使用音频的框架:
Media Player 和 AV Foundation 的 API 级别太高,不允许直接访问示例。另一端的 OpenAL 无法录制音频。这样就剩下 Audio Toolbox 和 Audio Unit 框架了。此处解释了许多差异:What's the difference between all these audio frameworks?
据我所知,Audio Toolbox 将是可行的方法,因为目前不需要 MIDI。但是Audio Toolbox上的信息和教程很少,可以进行更专业的控制,例如录音,播放等。但Audio Units的信息和教程要多得多。
我的第一个问题: 究竟什么是音频队列服务,它们属于什么框架?
然后是最后一个问题:
应该使用哪个框架来实现大部分预期目标?
您甚至可以建议混合和匹配框架、类,但我请您解释一下您的答案以及您将使用哪些类来更详细地实现目标。我鼓励尽可能使用最高级别的 API,但要实现目标所需的最低级别。也欢迎使用示例代码链接。
非常感谢您的帮助。
Audio Units 是最低级别的 iOS 音频 API,也是构建音频队列的 API。音频单元将为应用程序提供最低延迟,因此最接近实时处理。不过它是一个 C API,因此应用程序可能必须自己进行一些音频内存管理。
AVFoundation 框架可以让应用更轻松地访问音乐库 Assets 。
一个应用只能处理来自其他明确发布其音频数据的应用的声音,其中不包括音乐播放器应用,但确实包括一些使用 Apple 的 Inter-App Audio API 和第 3 方 Audiobus API 的应用。
关于ios - iOS 上的数字音频工作站架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17174447/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |