如何使用javascript在特定播放点获取mp3的音量
Posted
技术标签:
【中文标题】如何使用javascript在特定播放点获取mp3的音量【英文标题】:how to get volume level of mp3 at specific point of playback using javascript 【发布时间】:2014-09-16 18:28:09 【问题描述】:我有一个播放 mp3 的网页。我想创建每个 mp3 的可视化图表:音量与时间的关系,就像 Sound Cloud 所做的那样。我能想出的唯一想法是使用网络音频 api 解码 mp3,连接分析器节点,播放并记录不同时间的电平。肯定有更好的方法。有人知道是什么吗?
【问题讨论】:
【参考方案1】:您可以在decodeAudioData
之后获取完整的AudioBuffer
,然后以这种方式浏览示例(使用getChannelData()
)。样本将是从 -1 到 +1 的浮点数。
您真正需要做的就是将样本分组到n
长度的桶中,其中n
是AudioBuffer
的总长度除以要渲染波形的像素总数。然后只需找到每个桶中的最大绝对值,这些就是您要绘制的值。
不需要AnalyserNode
,因此您可以非常快速地完成所有操作,而不必实时完成。
【讨论】:
没问题。如果您遇到任何麻烦,请告诉我。以上是关于如何使用javascript在特定播放点获取mp3的音量的主要内容,如果未能解决你的问题,请参考以下文章
通过获取 .attr 使用 JavaScript/jquery 播放/暂停音频文件