From 3a38835a15ef3c7415a4f54e315c362c6b142905 Mon Sep 17 00:00:00 2001 From: impressionyang Date: Fri, 17 Jun 2022 00:19:28 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20audio(pcm):=20add=20pcm=20convert?= =?UTF-8?q?=20=20=E6=B7=BB=E5=8A=A0=E4=BA=86=E7=AE=80=E5=8D=95=E7=9A=8416b?= =?UTF-8?q?it=20PCM=E6=95=B0=E6=8D=AE=E9=87=87=E6=A0=B7i=E4=BD=86=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=E5=8A=9F=E8=83=BD=20=20=201.=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E8=B7=B3=E8=BD=AC=EF=BC=9Ahtml\uac=5Fpcm=5Fd?= =?UTF-8?q?ata=5Fconvert.html=20=20=202.=20=E6=B7=BB=E5=8A=A0hex=5Fto=5Fin?= =?UTF-8?q?t=E7=9A=84=E5=B8=A6=E7=AC=A6=E5=8F=B7=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E6=96=B9=E6=B3=95=20end=20of=20segment=20=F0=9F=94=A7=20web(sw?= =?UTF-8?q?itch):=20add=20web=20pages=20switch=20feature=20=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BA=86=E9=A1=B5=E9=9D=A2=E8=B7=B3=E8=BD=AC=E7=9A=84?= =?UTF-8?q?=E6=A1=86=E6=9E=B6=20=20=201.=20=E6=B7=BB=E5=8A=A0=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E8=B7=B3=E8=BD=AC=E5=8A=9F=E8=83=BD=20=20=202.=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=BB=E9=A1=B5=E7=9B=B8=E5=85=B3=E7=9A=84?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E4=BB=A5=E5=8F=8A=E6=AC=A2=E8=BF=8E=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=20end=20of=20segment=20=E2=9C=A8=20utools(plugin):=20?= =?UTF-8?q?add=20utools=20plugin=20support=20=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BA=86utools=E7=9A=84=E6=8F=92=E4=BB=B6=E5=8A=9F=E8=83=BD=20?= =?UTF-8?q?=20=201.=20=E6=B7=BB=E5=8A=A0=E6=8F=92=E4=BB=B6=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=20=20=202.=20=E6=B7=BB=E5=8A=A0=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=E7=9A=84=E5=9B=BE=E6=A0=87=20end=20of=20segment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/hello.html | 7 ++-- html/uac_pcm_data_convert.html | 69 +++++++++++++++++++++++++++++++++ index.html | 20 +++++++--- js/hex_to_int_16bit.js | 33 ++++++++++++++++ logo.png | Bin 0 -> 48243 bytes plugin.json | 11 ++++++ 6 files changed, 130 insertions(+), 10 deletions(-) create mode 100644 html/uac_pcm_data_convert.html create mode 100644 js/hex_to_int_16bit.js create mode 100644 logo.png create mode 100644 plugin.json diff --git a/html/hello.html b/html/hello.html index a28c08e..8d1339c 100644 --- a/html/hello.html +++ b/html/hello.html @@ -2,11 +2,10 @@ - - - - + + + test diff --git a/html/uac_pcm_data_convert.html b/html/uac_pcm_data_convert.html new file mode 100644 index 0000000..80badb4 --- /dev/null +++ b/html/uac_pcm_data_convert.html @@ -0,0 +1,69 @@ + + + + + + + + + + + uac_pcm_data_convert + + + +
+ +
+
+

UAC PCM data convert

+ + +
+
+ +

+ +

+ +
+
+ + +
+
+
+ + + + + + \ No newline at end of file diff --git a/index.html b/index.html index 6955b2c..56e9749 100644 --- a/index.html +++ b/index.html @@ -14,24 +14,24 @@
- +
+ + + \ No newline at end of file diff --git a/js/hex_to_int_16bit.js b/js/hex_to_int_16bit.js new file mode 100644 index 0000000..c14b88d --- /dev/null +++ b/js/hex_to_int_16bit.js @@ -0,0 +1,33 @@ +function hex2int(hexStr) { + let twoStr = parseInt(hexStr, 16).toString(2); // 将十六转十进制,再转2进制 + let bitNum = hexStr.length * 4; // 1个字节 = 8bit ,0xff 一个 "f"就是4位 + if (twoStr.length < bitNum) { + while (twoStr.length < bitNum) { + twoStr = "0" + twoStr; + } + } + if (twoStr.substring(0, 1) == "0") { + // 正数 + twoStr = parseInt(twoStr, 2); // 二进制转十进制 + return twoStr; + } else { + // 负数 + let twoStr_unsign = ""; + + // console.log("hex2int--->" + parseInt(twoStr, 2)); + twoStr = parseInt(twoStr, 2) - 1; // 补码:(负数)反码+1,符号位不变;相对十进制来说也是 +1,但这里是负数,+1就是绝对值数据-1 + // console.log("hex2int--->" + twoStr); + + twoStr = twoStr.toString(2); + twoStr_unsign = twoStr.substring(1, bitNum); // 舍弃首位(符号位) + // 去除首字符,将0转为1,将1转为0 反码 + twoStr_unsign = twoStr_unsign.replace(/0/g, "z"); + twoStr_unsign = twoStr_unsign.replace(/1/g, "0"); + twoStr_unsign = twoStr_unsign.replace(/z/g, "1"); + + // console.log("hex2int--->" + twoStr_unsign); + // console.log("hex2int--->" + (-twoStr_unsign)); + twoStr = parseInt(-twoStr_unsign, 2); + return twoStr; + } +} diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2c83c7cafbbaa134e09810504340a3c259c6f23e GIT binary patch literal 48243 zcmeGDg;&&1_&yHr(j5X4l2X!0HwY>$h_rMVlyo;NilBhRqM)>d2uOFYf+8R+-LZ6c z_cQDJ`}uy(bI$Xe^ZNsSD#vABv-6t!n(L0a=bm@kk5x&D7>FPc2q{eMzAglUy@L56 zzymFs*@FuZ2=tA;ii$Q&MTOPX-NnY<(Ha7|6CV^Wuhy!>_{-8XSC^OUX8c^-7ou0V zI+UtK%9OleCSMHj6Es>fVJe8ZxjVHt883{!%hXD(uc3JfUa_zW7C(*@)SbIVC`Zwe z$DHqOP0w#Jp|zCi#1C!51u#k97Tz;Kjf0v zVr07+$;9s?%tz0=OYQbZN4)dc*8GW-i`x@E@!@*zkf%~5Mf@IVOB4vBwj1{e;&fE# zX^h?u6vRKft$9vJ9x}KawSed_z+-R6D$r(=4&G5bnJO~=l0o%51N?a+1{`KVu9zbR&_wU~z{pd@ z#mULq*%PATZvE8L`UR_xy{8?kDoj(`FqDiI0%3)~?%&h*9p9MpOJy=hyS^T&n@V%` z*OVca4HF=yBcLS2p?VSz4MRtxv9beoK0)biQ{86US2Ee7?qs1wD6)TK;=C}T)<@#v z#xr5Dvpto>Qa;*xY`baNqFCU(A_mJ#n()a#_g7$E?vqTL-pYGCWx6es_c)XThWLN~ z{XausaXIrf8Bx$hzf~0njF*XCgB8|~WO7A9p_x@x;$mWAjzo>5q@+&=zv)0Tb8|Vx z#Kmd&Nem4QGf1Mby>Vmk$e_O=+gQ`s8)O@}si_f`wDq``z3c}8SW1YTtHuaZEEuA? zC_kU4vZhA0E~KWiGR&ax$%D_2zTz3R1fK4FJ0DTiY3t9`V26Wtr?VDpa=9JZu0(-= zS)q{AE@q^w6;vBL8s7r|C!J zh)PL(nMO(N)LxdF-`L^iv^-bVO_GN%B6V3OBA!#fZsO>G3&M2k92^}o6K2?xO{!3$8zR=G z*SzI-|6It-#UC@lnL=CGn{hJbPwUg(YUMcc{n0?YP)g#kFI`(-SFyFVb-A}LY=yh~ zXZ_{e>QF4#wdC#7lab`)WbFkJC8f0K#aG3*35DaXWo!))TA=gAG_fc+Ix6664tjOJ@ zI?3r;zdzzOS_p}HOItCaus$g&Y-KJR|tQf9lgXxs1vvLj?o+nIq)eaB=0v5xR!B{TE zceZ*t^gIDIv_E_}TL)h_k5dd5?j@%s=-!}Z?5pVP(EX zjY65-m37B&+63+Z4Ki))w$bQ%=4pD~vUUD*IUy+5jkqC+yO0BBx^OFuBfsYOEx`$! zaE5Q>*($P)*>ZWsH~7#yptk7J61AR>eOw%4SyS7D*X?4lMt61gygin}&V^E+>-sli7C zIk3!WC}Z{3ze#wG$RS#|1?Mm@61FUR_UkKU1F=wJ>FivT&=q92=}U-u;H9q@LFk== z(a@$J(Y!TKMMyy?A#&!e;rAK*ZyL(3qNRp6QVl6lYDVN{j{`MDA*~VQ