Javascript 基于PixiJS声音的音频频谱或音量分析器

Javascript 基于PixiJS声音的音频频谱或音量分析器,javascript,nativescript,web-audio-api,pixi.js,Javascript,Nativescript,Web Audio Api,Pixi.js,向PixiJS Sound API用户提出的问题。 如何让Web Audio live dataArray在PixiJS中绘制或创建可视化效果,而无需按照此规范进行额外编码?我想使用音量和频率数据来修改iOS游戏的PixiJS行为 我在做什么: // 1 - loading sound via PIXI.sound.Sound const sounds = {} PIXI.sound.Sound.from('music.mp3'); // 2 - sound is playi

向PixiJS Sound API用户提出的问题。 如何让Web Audio live dataArray在PixiJS中绘制或创建可视化效果,而无需按照此规范进行额外编码?我想使用音量和频率数据来修改iOS游戏的PixiJS行为

我在做什么:

// 1 - loading sound via PIXI.sound.Sound
    const sounds = {} 
    PIXI.sound.Sound.from('music.mp3');

// 2 - sound is playing, I set looping and volume
    sounds.music.play({ loop: true, singleInstance: true}); 
    sounds.music.volume = 0.05; 

// 3 - I reference to Web Audio Context AnalyserNode
// https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode

    const analyser = sounds.music.context.analyser
    analyser.fftSize = 2048;
    var bufferLength = analyser.frequencyBinCount;
    var dataArray = new Uint8Array(bufferLength);
    analyser.getByteTimeDomainData(dataArray);

// ad hoc temporarary loop but it could be inside ticker

   setInterval(function() {console.log(dataArray)}, 1000)


我认为它不适用于本机音频,如果您仍然想使用该库,您可能需要尝试WebView。Pixi-Sound库(它本身不是Pixi的默认部分)正在使用WebApi。我以这种方式加载声音,它们暴露AnalyzerNode-FFT-频率数据-应该可以很容易地获得这个数组。实际上,当引用Analyzer位于Pixi ticker循环内时,它可以工作。