AudioContext的频率数据与OfflineAudioContext的频率数据有很大不同

问题描述 投票:0回答:2

标题基本​​上说明了我的问题。我一直在比较使用在线和离线音频环境捕获的频率数据。它们似乎完全不同,因此我将MWE放在一起以显示差异。

[基本上只是上传任何音频文件,OfflineAudioContext将立即将其拾取并开始渲染。每当渲染达到5时,即播放歌曲的第二秒标记,它将输出当前频率数据。 OfflineAudioContext完全完成渲染后,您将看到页面上的音频控件得到更新,并且可以播放歌曲。歌曲到达5秒钟后,使用在线AudioContext,该分析仪的频率数据将输出到屏幕。

您将看到两者之间的频率数据变化很大,至少对于我一直投入的歌曲而言,变化很大。不知道我是不是完全了解OfflineAudioContext或其含义,但是如果有人遇到类似问题或对这里发生的事情有任何想法,我将不胜感激。

标题基本​​上说明了我的问题。我一直在比较使用在线和离线音频环境捕获的频率数据。他们似乎有很大的不同,所以我把这个放在一起...

javascript web-audio-api
2个回答
0
投票

假设您的测试文件是某种音乐文件,那么我希望结果会有所不同。除非您可以完全同时调用getByteFrequencyData,否则您将获得不同的结果,因为AnalyserNode中的数据将有所不同。而且由于getByteFrequencyData是从主线程调用的,并且必须从音频线程获取数据,所以很难确切地知道您拥有的数据。


0
投票

[如果有人遇到同样的问题,我终于弄清楚了问题所在。每当创建OfflineAudioContext时,我都会错误地对其进行初始化。我正在这样做

© www.soinside.com 2019 - 2024. All rights reserved.