【发布时间】:2011-06-30 09:48:28
【问题描述】:
我想为 iPhone 制作一个简单的鼓机应用程序。
现在我正在为它设计架构。经过一些研究,我决定坚持使用 Apple 的 Audio Unit Hosting Guide 中描述的方法来制作播放系统,这些技术也在 Audio Mixer sample 中介绍,它们的复杂性非常适合我目前的工程知识。 (混合 C++ 和 Objective-C 代码并使用 OpenAl 看起来很可怕)
但我一直在搞清楚,我将如何制作一个简单的音乐可视化器,我计划制作标准的频谱可视化器,显示代表不同频率分量强度的垂直条。
我无法决定用什么更好的方法来分析原始声音数据,我将提供给声音 I/O 模块,是否有任何 Objective-C 框架可以做到这一点?
我也不知道要使用什么类型的图形渲染?是否可以仅使用 Core Graphics 制作一个简单的可视化器,或者它只是 OpenGL 的一项工作?我想实现每秒大约 30 次更新以使其看起来流畅?
你能帮帮我吗?
【问题讨论】:
-
图形渲染至少可以参考Speak Here代码示例。它有一个带有垂直条的图形可视化工具..
-
我一直在尝试处理 Speak Here 代码,但它已经过时了(最新版本是 iPhone OS 2 出来的时候!)并且一些旧代码实际上会引发警告。我敢打赌,他们所做的很多事情都可以通过核心图形/动画来完成。我什至找不到一个关于为 AVAudioPlayer(或任何核心音频框架)制作可视化器的教程,这似乎很疯狂。
-
我已经使用 SDK 4.3 在 Xcode4 上成功构建了 Speak Here,看到他们已经更新了源代码。不管怎样,你当然可以用 CoreGraphics 做同样的事情,只是要慢很多。实际上,SpeakHere 有两种显示该仪表的替代方法 - 其中只有一种使用 OpenGL。
-
如果您更熟悉 C++,您应该尝试一下 openframeworks.cc - 它专为可视化/交互式应用程序而构建,并且有一些很好的示例可以实现您的目标。
标签: iphone objective-c audio rendering