作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 Pizzicato JS 和 Three JS 来创建一个声音可视化器。但出于某种原因,在我获得频率数据后,它为每个波段返回的频率为 0。为了获得这些频率,我是否缺少某些东西,以便我可以使用三个 JS 来操纵我的网格,请告诉我?我附上了我的控制台窗口的屏幕截图,并在下面粘贴了我的代码以供引用。
var context = Pizzicato.context;
var analyser = context.createAnalyser();
var ambient = new Pizzicato.Sound('./mp3/ambient.mp3', playAmbient);
ambient.loop = true;
ambient.volume = 1;
ambient.connect(analyser);
var frequencyData = new Uint8Array(analyser.frequencyBinCount);
console.log("Frequency Data: " , frequencyData);
console.log("Frequency Data Length: " , frequencyData.length);`
function playAmbient(e)
{
console.log("playAmbient();");
ambient.play();
}
谢谢
最佳答案
所以我想通了,我期望频率数据在执行 console.log() 时返回每个波段的频率数组。实际上,我必须使用 getByteFrequencyData 方法接收我的频率数据。我已经粘贴了我的新代码集来引用未定义数据的问题。
context = Pizzicato.context;
analyser = context.createAnalyser();
sound = new Pizzicato.Sound(params, playAmbient);
sound.volume = 1;
sound.connect(analyser);
function playAmbient(e)
{
console.log("playAmbient();");
ambient.play();
}
setInterval(function () {
try{
var bufferLength = analyser.frequencyBinCount;
frequencyData = new Uint8Array(bufferLength);
// The statement below was missing, and in return it will then
// update my frequencies for each band given from my
// frequencyData.
analyser.getByteFrequencyData(frequencyData);
// Now I'm seeing the frequencies update in my console.log window
// when each interval is fired.
console.log(frequencyData);
}catch(error){
console.log(error);
}
}, 500);
关于javascript - Pizzicato JS - 无频率数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47626854/
我想使用 Pizzicato JS 和 Three JS 来创建一个声音可视化器。但出于某种原因,在我获得频率数据后,它为每个波段返回的频率为 0。为了获得这些频率,我是否缺少某些东西,以便我可以使用
第一件事 - Pizzicato 意味着你有点用手指捏 fiddle /大提琴/贝司,你会得到更多的吉他捏声而不是普通的 fiddle 。 当我使用随机程序将 midi 转换为 mp3 时 - 该程序
我是一名优秀的程序员,十分优秀!