【问题标题】:Javascript conceptJavascript 概念
【发布时间】:2012-01-26 14:42:39
【问题描述】:

我必须使用 Javascript 实现音频 (VU) 仪表。这个概念应该是新的,所以在 Javascript 中的任何集成都应该是非常令人兴奋的。

动画的输入数据将来自后端,如下所示:

*

bands=[[20, 1267], [1268, 2515], [2516, 3763], [3764, 5011], [5012, 6259], [6260, 7507], [7508, 8755], [8756, 10000]];
numBands=8;
scaleAllBands=0;
amplitude=[0, 0, 0, 0, 0, 0, 0, 0, 14, 13, 10, 13, 19, 16, 11, 14, 14, 9, 7, 16, 11, 7, 14, 14, 8, 6, 5, 4, 4, 5, 14, 12, 7, 16, 17, 10, 7, 30, 22, 16, 11, 16, 12, 8, 13, 9, 6, 4, 4, 4, 4, 5, 3, 3, 3, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 15, 14, 9, 6, 4, 3, 3, 15, 9, 7, ETC (much more)
spectrum=[[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], ETC (MUCH MORE)

*

问题是我不知道如何解释这些原始数据。我检查了一些动作脚本工作示例,以便我可以移植到 Javascript,但我没有找到任何使用这种输入的工作 AS 示例。

非常感谢任何解释这些数据的工作示例或想法。

【问题讨论】:

    标签: javascript flash actionscript-3 audio animation


    【解决方案1】:

    您似乎有两种数据。

    1. amplitude 是全局幅度(实际的 VU 表)。您只需要知道两个值之间的延迟并使用此值为单个条设置动画即可。您必须找到这些值中的最大值以获得更好的结果。

    2. bands 定义 8 波段分析仪的频率。您的显示器不需要这些频率。您只需显示 8 个条形图并使用 spectrum 中每个值列表中的值对其进行动画处理。在时间 t 索引为 i(介于 0 和 7 之间)的条形将显示值 spectrum[t][i]。

    【讨论】:

    • 您是否也有机会知道一种算法,仅通过读取音频文件的二进制文件来获取我作为示例提供的幅度原始数据?
    • 这取决于文件的编码。我认为使用 javascript 读取、解码、解析和分析 mp3 是一个坏主意,您应该在服务器端使用低级应用程序(java、c...)来确保更好的性能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多