我刚刚创建了一个 Blob:
const audioBlob = new Blob(audioChunks, { 'type' : 'audio/wav; codecs=0' });
然后以base64格式将其发送到后端。使用以下代码将其保存到名为“test.wav”的文件中:
await writeFile('./temp/test.wav', Buffer.from(filename.replace('data:audio/wav; codecs=0;base64,', ''), 'base64'), 'base64');
在输出文件“test.wav”中,我得到的编解码器是opus,比特率为N / A,采样率为48000。我想将这些值更改为codec = wav,bitrate = 256kbps和sample rate = 16000。如何在node(或angular)中实现?
这里是我的前端代码链接。
audioChunks
变量是从哪里获取的? - AKXmimeType
属性。 不能仅仅假设在“dataavailable”回调中收到的数据块可以解释为PCM WAV,并创建具有该类型的blob。例如,我在WebM容器中看到了audio/webm;codecs=opus
,即OPUS。一旦您拥有已知格式的数据,就可以使用转码器(例如ffmpeg)将其转换为另一种格式。 - AKX