如何使用新的MediaStream API获得音频FFT?

时间:2018-10-20 13:28:22

标签: javascript html5-audio mediastream

在MDN文档中,navigator.getUserMedia被标记为已弃用,建议使用navigator.mediaDevices.getUserMedia

但是绝对没有任何有用的文档。

我有一个旧的脚本,该脚本用于获取音频的FFT以绘制频谱图,如下所示:

enter image description here

我现在想做类似的事情。我想获取音频的FFT,对其进行一些数学运算,然后再播放。

因此,按照新的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(父类)获取声音的文档。

那么如何从MediaStream API记录的声音中获取FFT采样?

0 个答案:

没有答案