首页 > 解决方案 > 将振荡器正确连接到音频流以创建图形 javascript

问题描述

我想将振荡器输出连接到画布 draw() 函数以创建示波器,但我无法正确理解如何正确连接音频流的逻辑。我想将振荡器用作源并将其与分析器连接,createMediaStreamSource(oscillator) 导致参数不受支持,并且像脚本一样连接现在它什么也没做。:

// create Oscilloscope                                                              ***OSCILLOSCOPE***
var analyser = audioCtx.createAnalyser();
var canvas = document.getElementById('scope');
var canvasCtx = canvas.getContext("2d");
var WIDTH = canvas.width;
var HEIGHT = canvas.height;

// setup scope buffer
analyser.fftSize = 2048;
var bufferLength = analyser.frequencyBinCount;
var dataArray = new Uint8Array(bufferLength);

// connect audiosource
oscillator.connect(analyser);
analyser.connect(audioCtx.destination); 

这是整个想法的一个小提琴: https ://codepen.io/silconsystem/pen/xMMwgJ

我希望你们中的一个人能把我引向正确的方向,谢谢你的时间提前

干杯,抢

标签: javascriptaudiomediaconnectoscilloscope

解决方案


我修复了它,我只需要在 startOsc() 函数中创建振荡器时调用与分析器的连接。当我回家时,我会为那些感兴趣的人更新小提琴。


推荐阅读