/* wav编码器+编码引擎 https://github.com/xiangyuecn/Recorder 当然最佳推荐使用mp3、wav格式,代码也是优先照顾这两种格式 浏览器支持情况 https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats 编码原理:给pcm数据加上一个44直接的wav头即成wav文件;pcm数据就是Recorder中的buffers原始数据(重新采样),16位时为LE小端模式(Little Endian),实质上是未经过任何编码处理 */ (function(){ "use strict"; Recorder.prototype.enc_wav={ stable:true ,testmsg:"支持位数8位、16位(填在比特率里面),采样率取值无限制" }; Recorder.prototype.wav=function(res,True,False){ var This=this,set=This.set ,size=res.length ,sampleRate=set.sampleRate ,bitRate=set.bitRate==8?8:16; //编码数据 https://github.com/mattdiamond/Recorderjs https://www.cnblogs.com/blqw/p/3782420.html https://www.cnblogs.com/xiaoqi/p/6993912.html var dataLength=size*(bitRate/8); var buffer=new ArrayBuffer(44+dataLength); var data=new DataView(buffer); var offset=0; var writeString=function(str){ for (var i=0;i>8)+128; data.setInt8(offset,val,true); }; }else{ for (var i=0;i