{"ast":null,"code":"/*\npcm编码器+编码引擎\nhttps://github.com/xiangyuecn/Recorder\n\n编码原理:本编码器输出的pcm格式数据其实就是Recorder中的buffers原始数据(经过了重新采样),16位时为LE小端模式(Little Endian),并未经过任何编码处理\n\n编码的代码和wav.js区别不大,pcm加上一个44字节wav头即成wav文件;所以要播放pcm就很简单了,直接转成wav文件来播放,已提供转换函数 Recorder.pcm2wav\n*/\n(function (factory) {\n var browser = typeof window == \"object\" && !!window.document;\n var win = browser ? window : Object; //非浏览器环境,Recorder挂载在Object下面\n var rec = win.Recorder,\n ni = rec.i18n;\n factory(rec, ni, ni.$T, browser);\n})(function (Recorder, i18n, $T, isBrowser) {\n \"use strict\";\n\n Recorder.prototype.enc_pcm = {\n stable: true,\n fast: true,\n getTestMsg: function () {\n return $T(\"fWsN::pcm为未封装的原始音频数据,pcm音频文件无法直接播放,可用Recorder.pcm2wav()转码成wav播放;支持位数8位、16位(填在比特率里面),采样率取值无限制\");\n }\n };\n var NormalizeSet = function (set) {\n var bS = set.bitRate,\n b = bS == 8 ? 8 : 16;\n if (bS != b) Recorder.CLog($T(\"uMUJ::PCM Info: 不支持{1}位,已更新成{2}位\", 0, bS, b), 3);\n set.bitRate = b;\n };\n\n //*******标准UI线程转码支持函数************\n\n Recorder.prototype.pcm = function (res, True, False) {\n var set = this.set;\n NormalizeSet(set);\n var bytes = PcmEncode(res, set.bitRate);\n True(bytes.buffer, \"audio/pcm\");\n };\n var PcmEncode = function (pcm, bitRate) {\n if (bitRate == 8) {\n var size = pcm.length;\n var bytes = new Uint8Array(size);\n for (var i = 0; i < size; i++) {\n //16转8据说是雷霄骅的 https://blog.csdn.net/sevennight1989/article/details/85376149 细节比blqw的按比例的算法清晰点\n var val = (pcm[i] >> 8) + 128;\n bytes[i] = val;\n }\n ;\n } else {\n pcm = new Int16Array(pcm); //复制一份\n var bytes = new Uint8Array(pcm.buffer);\n }\n ;\n return bytes;\n };\n\n /**pcm直接转码成wav,可以直接用来播放;需同时引入src/engine/wav.js\n data: {\n \t\tsampleRate:16000 pcm的采样率\n \t\tbitRate:16 pcm的位数 取值:8 或 16\n \t\tblob:blob对象 或 ArrayBuffer(回调也将返回ArrayBuffer)\n \t}\n \tdata如果直接提供的blob将默认使用16位16khz的配置,仅用于测试\n True(wavBlob,duration,mime)\n False(msg)\n **/\n Recorder.pcm2wav = function (data, True, False) {\n if (!data.blob) {\n //Blob 测试用\n data = {\n blob: data\n };\n }\n ;\n var blob = data.blob;\n var sampleRate = data.sampleRate || 16000,\n bitRate = data.bitRate || 16;\n if (!data.sampleRate || !data.bitRate) {\n Recorder.CLog($T(\"KmRz::pcm2wav必须提供sampleRate和bitRate\"), 3);\n }\n ;\n if (!Recorder.prototype.wav) {\n False($T.G(\"NeedImport-2\", [\"pcm2wav\", \"src/engine/wav.js\"]));\n return;\n }\n ;\n var loadOk = function (arrB, dArrB) {\n var pcm;\n if (bitRate == 8) {\n //8位转成16位\n var u8arr = new Uint8Array(arrB);\n pcm = new Int16Array(u8arr.length);\n for (var j = 0; j < u8arr.length; j++) {\n pcm[j] = u8arr[j] - 128 << 8;\n }\n ;\n } else {\n pcm = new Int16Array(arrB);\n }\n ;\n var rec = Recorder({\n type: \"wav\",\n sampleRate: sampleRate,\n bitRate: bitRate\n });\n if (dArrB) rec.dataType = \"arraybuffer\";\n rec.mock(pcm, sampleRate).stop(function (wavBlob, duration, mime) {\n True(wavBlob, duration, mime);\n }, False);\n };\n if (blob instanceof ArrayBuffer) {\n loadOk(blob, 1);\n } else {\n var reader = new FileReader();\n reader.onloadend = function () {\n loadOk(reader.result);\n };\n reader.readAsArrayBuffer(blob);\n }\n ;\n };\n\n //********边录边转码支持函数,pcm转码超快,因此也是工作在UI线程(非Worker)*********\n Recorder.prototype.pcm_envCheck = function (envInfo, set) {\n //检查环境下配置是否可用\n return \"\"; //没有需要检查的内容\n };\n Recorder.prototype.pcm_start = function (set) {\n //如果返回null代表不支持\n NormalizeSet(set);\n return {\n set: set,\n memory: new Uint8Array(500000),\n mOffset: 0\n };\n };\n var addBytes = function (cur, buf) {\n var bufLen = buf.length;\n if (cur.mOffset + bufLen > cur.memory.length) {\n var tmp = new Uint8Array(cur.memory.length + Math.max(500000, bufLen));\n tmp.set(cur.memory.subarray(0, cur.mOffset));\n cur.memory = tmp;\n }\n cur.memory.set(buf, cur.mOffset);\n cur.mOffset += bufLen;\n };\n Recorder.prototype.pcm_stop = function (startCtx) {\n if (startCtx && startCtx.memory) {\n startCtx.memory = null;\n }\n };\n Recorder.prototype.pcm_encode = function (startCtx, pcm) {\n if (startCtx && startCtx.memory) {\n var set = startCtx.set;\n var bytes = PcmEncode(pcm, set.bitRate);\n if (set.takeoffEncodeChunk) {\n set.takeoffEncodeChunk(bytes);\n } else {\n addBytes(startCtx, bytes);\n }\n ;\n }\n ;\n };\n Recorder.prototype.pcm_complete = function (startCtx, True, False, autoStop) {\n if (startCtx && startCtx.memory) {\n if (autoStop) {\n this.pcm_stop(startCtx);\n }\n ;\n var buffer = startCtx.memory.buffer.slice(0, startCtx.mOffset);\n True(buffer, \"audio/pcm\");\n } else {\n False($T(\"sDkA::pcm编码器未start\"));\n }\n ;\n };\n});","map":{"version":3,"names":["factory","browser","window","document","win","Object","rec","Recorder","ni","i18n","$T","isBrowser","prototype","enc_pcm","stable","fast","getTestMsg","NormalizeSet","set","bS","bitRate","b","CLog","pcm","res","True","False","bytes","PcmEncode","buffer","size","length","Uint8Array","i","val","Int16Array","pcm2wav","data","blob","sampleRate","wav","G","loadOk","arrB","dArrB","u8arr","j","type","dataType","mock","stop","wavBlob","duration","mime","ArrayBuffer","reader","FileReader","onloadend","result","readAsArrayBuffer","pcm_envCheck","envInfo","pcm_start","memory","mOffset","addBytes","cur","buf","bufLen","tmp","Math","max","subarray","pcm_stop","startCtx","pcm_encode","takeoffEncodeChunk","pcm_complete","autoStop","slice"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/recorder-core/src/engine/pcm.js"],"sourcesContent":["/*\npcm编码器+编码引擎\nhttps://github.com/xiangyuecn/Recorder\n\n编码原理:本编码器输出的pcm格式数据其实就是Recorder中的buffers原始数据(经过了重新采样),16位时为LE小端模式(Little Endian),并未经过任何编码处理\n\n编码的代码和wav.js区别不大,pcm加上一个44字节wav头即成wav文件;所以要播放pcm就很简单了,直接转成wav文件来播放,已提供转换函数 Recorder.pcm2wav\n*/\n(function(factory){\n\tvar browser=typeof window==\"object\" && !!window.document;\n\tvar win=browser?window:Object; //非浏览器环境,Recorder挂载在Object下面\n\tvar rec=win.Recorder,ni=rec.i18n;\n\tfactory(rec,ni,ni.$T,browser);\n}(function(Recorder,i18n,$T,isBrowser){\n\"use strict\";\n\nRecorder.prototype.enc_pcm={\n\tstable:true,fast:true\n\t,getTestMsg:function(){\n\t\treturn $T(\"fWsN::pcm为未封装的原始音频数据,pcm音频文件无法直接播放,可用Recorder.pcm2wav()转码成wav播放;支持位数8位、16位(填在比特率里面),采样率取值无限制\");\n\t}\n};\n\nvar NormalizeSet=function(set){\n\tvar bS=set.bitRate,b=bS==8?8:16;\n\tif(bS!=b) Recorder.CLog($T(\"uMUJ::PCM Info: 不支持{1}位,已更新成{2}位\",0,bS,b),3);\n\tset.bitRate=b;\n};\n\n\n\n//*******标准UI线程转码支持函数************\n\nRecorder.prototype.pcm=function(res,True,False){\n\tvar set=this.set;\n\tNormalizeSet(set);\n\tvar bytes=PcmEncode(res,set.bitRate);\n\tTrue(bytes.buffer,\"audio/pcm\");\n};\n\nvar PcmEncode=function(pcm,bitRate){\n\tif(bitRate==8) {\n\t\tvar size=pcm.length;\n\t\tvar bytes=new Uint8Array(size);\n\t\tfor(var i=0;i>8)+128;\n\t\t\tbytes[i]=val;\n\t\t};\n\t}else{\n\t\tpcm=new Int16Array(pcm); //复制一份\n\t\tvar bytes=new Uint8Array(pcm.buffer);\n\t};\n\treturn bytes;\n};\n\n\n\n\n\n/**pcm直接转码成wav,可以直接用来播放;需同时引入src/engine/wav.js\ndata: {\n\t\tsampleRate:16000 pcm的采样率\n\t\tbitRate:16 pcm的位数 取值:8 或 16\n\t\tblob:blob对象 或 ArrayBuffer(回调也将返回ArrayBuffer)\n\t}\n\tdata如果直接提供的blob将默认使用16位16khz的配置,仅用于测试\nTrue(wavBlob,duration,mime)\nFalse(msg)\n**/\nRecorder.pcm2wav=function(data,True,False){\n\tif(!data.blob){//Blob 测试用\n\t\tdata={blob:data};\n\t};\n\tvar blob=data.blob;\n\tvar sampleRate=data.sampleRate||16000,bitRate=data.bitRate||16;\n\tif(!data.sampleRate || !data.bitRate){\n\t\tRecorder.CLog($T(\"KmRz::pcm2wav必须提供sampleRate和bitRate\"),3);\n\t};\n\tif(!Recorder.prototype.wav){\n\t\tFalse($T.G(\"NeedImport-2\",[\"pcm2wav\",\"src/engine/wav.js\"]));\n\t\treturn;\n\t};\n\t\n\tvar loadOk=function(arrB,dArrB){\n\t\tvar pcm;\n\t\tif(bitRate==8){\n\t\t\t//8位转成16位\n\t\t\tvar u8arr=new Uint8Array(arrB);\n\t\t\tpcm=new Int16Array(u8arr.length);\n\t\t\tfor(var j=0;jcur.memory.length){\n\t\tvar tmp=new Uint8Array(cur.memory.length+Math.max(500000,bufLen));\n\t\ttmp.set(cur.memory.subarray(0, cur.mOffset));\n\t\tcur.memory=tmp;\n\t}\n\tcur.memory.set(buf,cur.mOffset);\n\tcur.mOffset+=bufLen;\n};\n\nRecorder.prototype.pcm_stop=function(startCtx){\n\tif(startCtx&&startCtx.memory){\n\t\tstartCtx.memory=null;\n\t}\n};\nRecorder.prototype.pcm_encode=function(startCtx,pcm){\n\tif(startCtx&&startCtx.memory){\n\t\tvar set=startCtx.set;\n\t\tvar bytes=PcmEncode(pcm, set.bitRate);\n\t\t\n\t\tif(set.takeoffEncodeChunk){\n\t\t\tset.takeoffEncodeChunk(bytes);\n\t\t}else{\n\t\t\taddBytes(startCtx, bytes);\n\t\t};\n\t};\n};\nRecorder.prototype.pcm_complete=function(startCtx,True,False,autoStop){\n\tif(startCtx&&startCtx.memory){\n\t\tif(autoStop){\n\t\t\tthis.pcm_stop(startCtx);\n\t\t};\n\t\tvar buffer=startCtx.memory.buffer.slice(0,startCtx.mOffset);\n\t\tTrue(buffer,\"audio/pcm\");\n\t}else{\n\t\tFalse($T(\"sDkA::pcm编码器未start\"));\n\t};\n};\n\n\n\n\n}));"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}