繁体   English   中英

如何在JavaScript getusermedia中设置此参数?

[英]How can I set this parameter in JavaScript getusermedia?

我想以16khz的采样率实时记录JavaScript中的音频。 我有以下代码:

navigator.getUserMedia(
    {
        "audio": {
            "mandatory": {
                "googEchoCancellation": "false",
                "googAutoGainControl": "false",
                "googNoiseSuppression": "false",
                "googHighpassFilter": "false"
            },
            "optional": {
                "sampleRate": 16000 
            }
        },
    }, gotStream, function(e) {
        console.log(e);
    });

但这会引发错误:

index.html:1026未捕获的TypeError:无法在“导航器”上执行“ webkitGetUserMedia”:提供的值既不是数组,也不具有索引属性。

如何在JavaScript中以16khz实时录制音频?

几个问题:

  1. optional (现为advanced )采用数组,例如, optional: [{ sampleRate: 16000 }]
  2. 此约束语法已过时,仅在Chrome中有效。
  3. 在任何浏览器AFAIK中都尚未实现sampleRate

所以它行不通,至少现在还行不通。 将来,请使用spec语法

navigator.mediaDevices.getUserMedia({
  audio: {
    echoCancellation: {exact: false},
    sampleRate: 16000,
  }
})
.then(gotStream)
.catch(e => console.log(e));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM