0

作为一名 Web 开发人员,我知道事件驱动的用户界面是如何编写的,但不了解其他代码系列(嵌入式软件,如汽车软件、装配线上的自动化软件、驱动程序或 CNN 上爬行的下三分之一等) .)

我正在查看 iTunes 可视化工具(示例)并且很好奇:

  1. 什么代码用于编写可视化工具?目标C?

  2. 它使用核心动画吗?该库提供什么类型的抽象?

  3. 代码是什么样的?它是用于生成疯狂图形的数学方程式列表吗?它是带有补间的关键帧列表吗?是否有一系列图像、分形、虫洞、花朵、闪光和一些将它们混合在一起的魔法。还是完全不同的东西?

我不是在寻找教程,只是了解与 Web 开发完全不同的东西是如何工作的。

哦,是的,我知道 iTunes 是闭源的,所以这一切都是猜测。

4

5 回答 5

3

对于特定的 iTunes Visualizer,我认为它是由 Flight404...in cinder 创建的。谷歌他的网站。我想他是几年前和安德鲁·贝尔一起做的

于 2012-04-06T05:09:54.007 回答
1

尽管默认的 iTunes 可视化器是用 Objective-C/C++ 编写的,但您也可以使用Mac 上的 XCode 中包含的Quartz Composer编写 iTunes 可视化器。它是一个基于节点的视觉效果合成环境。它有一个用于创建音乐可视化器的模板。

于 2010-04-06T13:25:09.880 回答
0

在我看来:

  1. 可能是 C 和/或 Objective-C 与OpenGL

  2. 可能。Core Animation 提供了可以非常轻松有效地制作动画的图层(图像)(淡入、淡出、平移、旋转等)。它可能使用与 OpenGL 相同的硬件加速。这些层可用于可视化器中的转换。

  3. 你的赌注和我的一样好,但你可能是对的。他们可能会使用一些数学方程式,这些方程式将许多变量(例如声音的幅度)作为输入并产生图像。

于 2010-04-06T02:43:36.490 回答
0

iTunes 似乎使用了 G-Force 可视化工具(或者至少,G-Force 已获得许可在 iTunes 8.x 中使用):

http://en.wikipedia.org/wiki/Music_visualization

http://en.wikipedia.org/wiki/SoundSpectrum

在更一般的意义上,可视化通常是各种几何元素的组合,其参数与某些声音测量(音量、音高等)、波形和频谱图相关联,并在这些源元素的顶部具有各种视觉转换/过滤器. 这就是为什么您倾向于在可视化中看到很多波浪线的原因——它们是表示波形和频谱的常见形式。

于 2010-04-06T02:44:51.817 回答
0

有点相关——如果你想学习如何像 iTunes 那样做“ol'skool”可视化,或者对于那些记得的人来说,WinAmp,并用 JavaScript 来做(然后你可以通过 React Native 或 Native Script 之类的东西来拥有它)为 iOS 或 Android 编译),请参阅 Ruth Johh 在华盛顿州西雅图举行的 CascadiaJS 2018 会议上的精彩演讲 —</p>

https://www.youtube.com/watch?v=Dt4I-96C-pg

于 2019-02-07T17:17:50.773 回答