Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript'中设置采样频率;s navigator.mediaDevices.getUserMedia_Javascript_Audio_Audio Recording_Web Mediarecorder - Fatal编程技术网

在JavaScript'中设置采样频率;s navigator.mediaDevices.getUserMedia

在JavaScript'中设置采样频率;s navigator.mediaDevices.getUserMedia,javascript,audio,audio-recording,web-mediarecorder,Javascript,Audio,Audio Recording,Web Mediarecorder,我目前正在尝试在navigator.mediaDevices.getUserMedia中设置采样频率。以下是一段代码片段: navigator.mediaDevices.getUserMedia({audio: {"sampleRate": {"exact": 8000}}, video: false}).then(handleSuccess).catch(e => console.log(e)); var handleSuccess = function(stream) { m

我目前正在尝试在
navigator.mediaDevices.getUserMedia
中设置采样频率。以下是一段代码片段:

navigator.mediaDevices.getUserMedia({audio: {"sampleRate": {"exact": 8000}}, video: false}).then(handleSuccess).catch(e => console.log(e));

var handleSuccess = function(stream)
{
    mediaRecorder = new MediaRecorder(stream);
    mediaRecorder.start(1000); // the argument here is the duration of each audio chunk in milliseconds
    mediaRecorder.addEventListener
    ("dataavailable", event => 
        {
            blob = event.data;
            console.log(blob)
        }
    );
}

我不相信在
getUserMedia
中设置
sampleRate
实际上是有效的,因为当我用不同的
sampleRate
值检查blob大小时,它永远不会改变。每个斑点总是在6000到7000之间。

我发现了问题所在。截至2018年10月6日,Firefox不支持
sampleRate
约束。应该在Chrome上支持它,但它不起作用,我已经在中为Chrome提交了一份错误报告:

如果您需要亲自查看,Mozilla为支持的媒体限制做了一个非常好的演示:


您将在顶部看到支持的音频约束。如果您在Firefox上输入链接,您将看到
sampleRate
没有列出。在Chrome上,它是列出的,但是如果您在“请求的音频约束”输入框中输入
{“sampleRate”:8000}
,然后单击“应用约束”,您应该会在“实际音频设置”框中看到采样率不受影响。

我也有同样的问题。您是否通过任何其他机制更改了采样率?不幸的是,没有。我将使用下一个最佳选项--将采样率降低到所需的采样率。