如何以mp3/m4a JavaScript-recorder.js格式录制音频
在recorderjs中,如何以mp3/m4a JavaScript-recorder.js格式录制音频,javascript,audio,mp3,audio-recording,recorder.js,Javascript,Audio,Mp3,Audio Recording,Recorder.js,在recorderjs中,rec.exportWAV([callback][,type])用于生成包含WAV格式录制音频的Blob对象 但是WAV文件占用了很大的空间,30秒的时间大约是1mb。所以我想以占用较少空间的mp3/m4a格式录制音频 有没有办法以mp3/m4a格式录制音频 我想你应该检查一下这个链接: 您可以在此处更改音频类型,如下所示: type=type | | config.type | | |“音频/波形” 您可以通过在exportWAV函数中提及格式来更改录制的格式,如下
rec.exportWAV([callback][,type])
用于生成包含WAV格式录制音频的Blob对象
但是WAV文件占用了很大的空间,30秒的时间大约是1mb。所以我想以占用较少空间的mp3/m4a格式录制音频
有没有办法以mp3/m4a格式录制音频 我想你应该检查一下这个链接: 您可以在此处更改音频类型,如下所示:
type=type | | config.type | | |“音频/波形” 您可以通过在exportWAV函数中提及格式来更改录制的格式,如下所示:
recorder.exportWAV(function (blob) {
callback(blob);
// create WAV download link using audio data blob
// createDownloadLink();
// Clear the Recorder to start again !
recorder.clear();
}, "audio/mp3");
我使用上述解决方案的原因如下。Recorder.js不支持将捕获的音频编码为mp3。 它只能将16位单声道或立体声未压缩pcm录制为wav 要将大小减半,可以使用Recorder.js构造函数中的
numChannels:1
录制单声道声音,而不是双声道/立体声,如下所示:
var rec=新记录器(源,{numChannels:1})
numChannels
是Recorder.js的一项未经记录的功能(不再维护该库)
资料来源:
要录制成mp3,您可以使用:
请对此进行反馈据我所知,它只更改mime类型,没有对录制的数据进行任何压缩。当您将
audio/mpeg
而不是audio/wav
发送到exportWAV()
时,它只是(错误地)更改了wav Blob的mime类型,它不会神奇地开启mp3编码——为此,您需要LAME mp3编码库。你引用的教程在这方面是不正确的。我最近写了一篇文章。