【问题标题】:Multiple audio tracks waveforms多个音轨波形
【发布时间】:2014-04-04 17:16:26
【问题描述】:

我必须同时重现多个音轨,并且应该单独播放/暂停/恢复每个人。另外,我需要他们每个人的波形。

第一个问题,如果轨道是流媒体,是不可能制作波形的,对吗?据我了解,您需要拥有整个文件才能生成波形。

我正在考虑使用 SoundPool 来进行再现曲目的基本操作。 在这种情况下有没有更好的选择?任何第三方库?

另外,关于如何生成波形的任何信息?

谢谢!

【问题讨论】:

    标签: android audio soundpool waveform


    【解决方案1】:

    您只能为手头的音频数据创建波形。如果您可以预加载整个音轨(或其中的一部分),您可以即时构建波形。在完美场景中,回放会滞后于实际构建的波形。

    生成波形通常是采集样本,将它们提取下来,并适当地绘制振幅。您不希望 44,100 个样本最有可能代表一秒钟的视觉声音,但每秒 100 个样本可能会起作用。因此,对于每 441 个样本,计算最大幅度并根据需要绘制它。

    希望这会有所帮助。

    【讨论】:

    • “蒸馏”实际上应该是低通滤波,略低于您正在渲染的位图显示的奈奎斯特率。虽然计算平均值是一个低通滤波器,但它相当粗略.
    • 不,我们正在寻找要在此处绘制的幅度。在这种情况下,“蒸馏”意味着采集过多的样本(每秒 44,100 个)并使其成为一个更合理的数字,可以实际绘制在视图中(在我的示例中为每秒 100 个)。
    • 是的。那是真诚的sample rate conversion。如果你只是平均,你会得到锯齿伪影。
    • 对——但这不是用来玩的——这是用来画画的。计算每 441 的最大样本,然后绘制该点以绘制波形,根据我的经验,对于不需要能够放大超过该数量的应用程序来说效果很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 2011-12-14
    • 2019-11-07
    • 1970-01-01
    相关资源
    最近更新 更多