Я пытаюсь выполнить некоторый анализ аудио для визуализатора, работающего на моем компьютере.
Возможно ли получить доступ к выходному потоку аудиоданных непосредственно из браузера?
В настоящее время выполняется JavaScript сбиблиотеки three.js и meyda.
Я выяснил, как использовать API webAudio для анализа ввода с микрофона, но, похоже, не могу получить доступ к аудиовыходу на моем компьютере.
Я пытался подключить источник к месту назначения, используя
source.connect(audioContext.destination)
, но это, похоже, ничего не делает.
Это наша текущая конфигурация прослушивателя:
// // Listener
const bufferSize = 256;
let analyzer;
// The navigator object contains information about the browser.
// this async call initializes audio input from the user
navigator.mediaDevices.getUserMedia({ audio: true, video: false }).then(stream => {
if (!analyzer) initAnalyzer(stream)
})
function initAnalyzer(stream) {
const audioContext = new AudioContext();
// set audio source to input stream from microphone (Web Audio API https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamAudioSourceNode)
const source = audioContext.createMediaStreamSource(stream);
analyzer = Meyda.createMeydaAnalyzer({
audioContext: audioContext,
source: source,
bufferSize: bufferSize,
featureExtractors: [ 'amplitudeSpectrum', 'spectralFlatness' ], // ["rms", "energy"],
callback: features => null
});
analyzer.start();
}