我目前正在尝试在内部设置采样频率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)
}
);
}
我不相信设置sampleRate
实际上getUserMedia
有效,因为当我检查具有不同值的 blob 大小时sampleRate
,它永远不会改变。每个 blob 始终在 6000 到 7000 的范围内。