如何在iPhone应用程序中创建简单的音乐可视化器?

24

我想为iPhone制作一个简单的鼓机应用。

现在我正在设计它的架构。经过一些研究,我决定坚持使用苹果公司音频单元托管指南中描述的方法来制作播放系统,这些技术也在音频混音器示例中介绍,它们的复杂度非常适合我的当前工程知识。(混合C++和Objective-C代码并使用OpenAl看起来很可怕)

但我卡在了如何制作简单的音乐可视化上,我计划做一个标准的频谱可视化器,显示表示不同频率分量强度的垂直条形图。

  1. 我无法决定用什么更好地分析原始音频数据,我要将其提供给声音I/O模块,是否有Objective-C框架可以实现?

  2. 另外,我不知道要使用什么类型的图形渲染?一个简单的可视化器只能使用核心图形吗,还是只能使用OpenGL?我希望每秒更新约30次,使其看起来平滑流畅?

你能帮我吗?


你可以参考Speak Here代码示例,至少用于图形渲染部分。它具有带有垂直条的图形可视化器。 - Swapnil Luktuke
我一直在尝试使用Speak Here代码,但它已经非常过时了(最新版本是在iPhone OS 2发布时!),而且一些旧代码实际上会引发警告。我敢打赌,他们所做的很多事情都可以通过核心图形/动画来完成。看起来很疯狂,我甚至找不到一个关于为AVAudioPlayer(或任何核心音频框架)制作可视化器的教程。 - Jack Lawrence
我已经成功地在 Xcode4 上使用 SDK 4.3 构建了 Speak Here,因为它们已经更新了源代码。不管怎样,你肯定可以用 CoreGraphics 做同样的事情,只是会慢很多。实际上,SpeakHere 有两种显示那个音量表的替代方法——其中只有一种使用了 OpenGL。 - Till
如果你更喜欢C++编程语言,那么可以尝试一下http://openframeworks.cc - 它专为可视化和交互式应用设计,并且提供了一些不错的示例来实现你的目标。 - Tom Tu
请点击此处查看:https://github.com/prodia/AudioVisualizer - Diana Prodan
1个回答

0

我的建议是利用cocos2d http://www.cocos2d-iphone.org/,这是一个非常好的框架,使开发人员能够轻松快速地实现IOS图形应用程序,而不必处理OpenGL的复杂性。

例如,您可以创建表示FFT bin行的小png文件,并根据音乐进行动画处理。使用cocos2d非常容易,因为它已经提供了API来加载png文件并对其进行动画处理。

再见


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接