Могу ли я получить доступ к локальному потоку аудиовыхода из Chrome с помощью API webAudio?

Я пытаюсь провести анализ звука для визуализатора, работающего на моем компьютере.

Можно ли получить доступ к выходному потоку аудиоданных непосредственно из браузера?

В настоящее время используется 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();
}

person Chris Petrone    schedule 19.09.2019    source источник


Ответы (1)


Невозможно получить звук с компьютера без внешнего программного обеспечения, такого как Audio Hijack. Извините!

person Hugh Rawlinson    schedule 22.03.2020