如何获取麦克风的sampleRate?

时间:2017-03-29 09:48:21

标签: javascript html5 frontend web-audio web-audio-api

我需要在JS中获取麦克风的sampleRate。 我试过这些方法:

//Example 1
var context = new window.AudioContext();
var sampleRate = context.sampleRate;

//Example 2
var audioTimer = 0;
var sampleRate = 0;
recorder.onaudioprocess = function() {
    var time = new Date().getTime();
    if (audioTimer) {
        sampleRate = (1000 * 2048) / (time - audioTimer);  //2048 - buffer size
    }
    audioTimer = time;
}

但我只为扬声器获得了sampleRate值,而不是麦克风

1 个答案:

答案 0 :(得分:0)

您希望使用MediaDevices API枚举设备并检查音频输入。 (https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices

但是,我指出这对Web Audio没有帮助 - 当您使用将流附加到音频图时,Web Audio将始终重新采样输出到输出设备采样率(和时钟)。将来,您应该能够以不同的采样率创建上下文,然后它(大部分)将起作用;但是,没有规定锁定实际的输入时钟。