首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在JavaScript的navigator.mediaDevices.getUserMedia中设置采样频率

在JavaScript的navigator.mediaDevices.getUserMedia中设置采样频率
EN

Stack Overflow用户
提问于 2018-09-24 20:54:17
回答 1查看 1.6K关注 0票数 1

我目前正在尝试设置navigator.mediaDevices.getUserMedia内部的采样频率。下面是一个代码片段:

代码语言:javascript
复制
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值检查斑点大小时,它永远不会改变。每个斑点始终在6000到7000的范围内。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-07 08:29:38

我发现了哪里出了问题。从2018年10月6日起,火狐不支持sampleRate约束。它应该在Chrome上支持,但它不起作用,我已经为Chromium:https://bugs.chromium.org/p/chromium/issues/detail?id=889851提交了一份错误报告

如果您需要亲自查看,Mozilla为支持的媒体约束做了一个非常好的演示:https://mdn.mozillademos.org/en-US/docs/Web/API/Media_Streams_API/Constraints$samples/Example_Constraint_exerciser?revision=1411870

您将在顶部看到支持的音频约束。如果你在火狐上输入这个链接,你会看到sampleRate没有列在那里。在Chrome上,它会被列出,但如果你在“请求的音频约束”输入框中输入{"sampleRate": 8000}并点击“应用约束”,你应该会在“实际音频设置”框中看到采样率不受影响。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52479944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档