Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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中使用mediaRecorder录制麦克风时,如何指定位深度和采样率?_Javascript_Audio Recording_Microphone_Mediarecorder - Fatal编程技术网

在javascript中使用mediaRecorder录制麦克风时,如何指定位深度和采样率?

在javascript中使用mediaRecorder录制麦克风时,如何指定位深度和采样率?,javascript,audio-recording,microphone,mediarecorder,Javascript,Audio Recording,Microphone,Mediarecorder,一般来说,标准CD的持续时间为74分钟,采样率为44.1KHZ,左右双声道(立体声)。其容量可使用以下公式计算: (44100*16*2)/8*(74*60)=783216000bytes 16是指钻头深度吗 下面是我用来录制的代码片段 const options = { mimeType: 'audio/webm;codecs=pcm', audioBitsPerSecond: 128 }; const recordedChunks = [] const mediaRecord

一般来说,标准CD的持续时间为74分钟,采样率为44.1KHZ,左右双声道(立体声)。其容量可使用以下公式计算:

(44100*16*2)/8*(74*60)=783216000bytes

16是指钻头深度吗

下面是我用来录制的代码片段

const options = {
    mimeType: 'audio/webm;codecs=pcm',
    audioBitsPerSecond: 128
};
const recordedChunks = []
const mediaRecorder = new MediaRecorder(stream, options)
mediaRecorder.addEventListener('dataavailable', function (e) {
    if (e.data.size > 0) {
        recordedChunks.push(e.data)
    }
})
mediaRecorder.addEventListener('stop', function () {
    fileReader.readAsDataURL(new Blob(recordedChunks))
})
mediaRecorder.start()

在搜索文档后,我没有找到位深度、通道和采样率选项。有什么想法吗?

您可以通过修改对象,然后使用MediaStreamTrack.applyConstraint(约束)将其应用于MediaStreamTrack来指定采样率、通道计数和位深度。MediaStreamTrack应该可以通过进入您的MediaRecorderMediaStream访问

(等式中的16表示钻头深度)


44100采样*16每个采样位*2个音频通道)/8每个字节位*(74分钟*60秒/分钟)=783216000字节

位深度是否意味着采样?我像这样指定参数:
navigator.mediaDevices.getUserMedia({audio:{sampleSize:16,channelCount:1,sampleRate:16000}})。然后(stream=>{var audioTrack=stream.getAudioTracks()[0];console.log(audioTrack.getSettings())}
,在chrome中,记录的音频设置是
{deviceId:“默认”,“回声取消”:false}
,似乎参数不起作用,mozilla文档也表明音频曲目属性不受支持。还有其他解决方案吗?嗨,有解决方案吗?