Web音频API分析器节点没有按预期工作
Web Audio API Analyzer Node not working as expected
我只是想在这个代码中读取1000Hz正弦波的FFT值。然而,控制台输出每1000次显示"-128"。为什么分析器节点不能在这里工作?
window.onload = init;
var sourceNode;
function init(){
var context = new AudioContext();
var osc = context.createOscillator();
var analyser = context.createAnalyser();
var gain = context.createGain();
sourceNode = context.createBufferSource();
var amplitudeArray = new Float32Array(analyser.frequencyBinCount);
osc.frequency.value=1000;
osc.start();
gain.gain.value=0.07;
osc.connect(analyser);
analyser.connect(gain);
gain.connect(context.destination);
analyser.getFloatFrequencyData(amplitudeArray);
for(var i=0;i<amplitudeArray.length;i++){
console.log(amplitudeArray[i]);
}
}
当振荡器启动时,您基本上要求分析器提供FFT数据。此时,内部缓冲区充满了零,因此输出为-128 dB。也就是说,一切都是零。
在调用analyzer . getfloatfrequencydata之前尝试等待一秒钟。您将看到输出不是一个常量-128。
在这种特殊情况下,因为您正在立即请求数据;虽然你已经调用了osc.start(),但音频系统还没有处理任何数据,所以当你调用getFloatFrequencyData()时,它充满了空数据。(FloatFrequencyData以分贝为单位,所以-128是噪声底限——也就是"零")。
如果你在start()和getFloatFrequencyData()调用之间有足够的时间间隔来处理一些音频,我希望你能看到一些数据
相关文章:
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 音频上下文在安卓上无法正常工作
- 加载音频的Javascript库无法工作
- 可以'不要让HTML5音频标签在移动浏览器上工作
- 为什么这个html5音频不能在chrome上工作,但在safari上工作得很好
- 浏览器内音频播放器如何工作
- 网络音频:无法让 ScriptProcessor 节点在 Chrome 中工作
- 无法使用谷歌应用引擎播放音频.它在本地工作
- 现场的 HTML 5 音频控件无法正常工作
- 在chrome中动态添加的音频html无法正常播放,在Firefox中正常工作
- Shadertoy的音频着色器是如何工作的
- 当屏幕关闭时,HTML5音频/javascript在android(谷歌chrome)上停止工作
- HTML5<音频>标记donesn'不能在Firefox和Internet Explorer上工作
- 网络音频Api:我如何添加一个工作卷积器
- html5应用程序音频不工作
- HTML5 的音频标签在 Firefox 中无法始终如一地工作
- HTML5网络音频-我可以'I don’工作得不到好处
- HTML音频不能在macbook和ios上工作,但可以在imac上工作——奇怪
- 为什么这个HTML5音频特定的javascript不能在Internet Explorer 9中工作?
- JavaScript变量不工作在HTML音频控制