Как использовать новый MediaStream API для получения аудио FFT? - PullRequest
0 голосов
/ 20 октября 2018

В документации MDN navigator.getUserMedia помечен как устаревший, и вместо него рекомендуется navigator.mediaDevices.getUserMedia.

Но там нет абсолютно никакой полезной документации.

У меня есть старый скрипт, который использовалчтобы получить БПФ аудио для рисования спектрографа, вот так:

enter image description here

Теперь я хочу сделать подобное.Я хочу получить БПФ аудио, выполнить некоторые математические операции с ним, а затем воспроизвести его.

Итак, следуя новому API, я понял это:

const media = await navigator.mediaDevices.getUserMedia({ audio: true });
const audio_track = media.getAudioTracks()[0];

Это показываетAudioStreamTrack если я войду в консоль:

AudioStreamTrack {
    kind: "audio",
    id: "{93774f91-7eae-4fe8-8183-d7adee83174b}",
    label: "default: Microphone (Realtek High Definition Audio)",
    enabled: true,
    muted: false,
    onmute: null,
    onunmute: null,
    readyState: "live",
    onended: null
}

Нет абсолютно никакой документации по этому классу.Также нет документации по получению звука от MediaStreamTrack, который является родительским классом.

Так как получить сэмплы FFT из звука, записанного с помощью MediaStream API?

...