From e9d7b1b7c98021602eedb8771f2dc8f891383c41 Mon Sep 17 00:00:00 2001 From: shuaikangzhou <863909694@qq.com> Date: Wed, 13 Dec 2023 20:45:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0ffmpeg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/DataBase/media_msg.py | 15 +++++++++------ app/DataBase/msg.py | 14 ++++++++++---- app/DataBase/output_pc.py | 17 ++++++++++++++--- app/resources/ffmpeg.exe | Bin 0 -> 36560896 bytes requirements_pc.txt | 2 +- 5 files changed, 34 insertions(+), 14 deletions(-) create mode 100644 app/resources/ffmpeg.exe diff --git a/app/DataBase/media_msg.py b/app/DataBase/media_msg.py index b188f8e..8e07183 100644 --- a/app/DataBase/media_msg.py +++ b/app/DataBase/media_msg.py @@ -55,17 +55,20 @@ class MediaMsg: silk_path = f"{output_path}\\{reserved0}.silk" pcm_path = f"{output_path}\\{reserved0}.pcm" mp3_path = f"{output_path}\\{reserved0}.mp3" - slik_path = silk_path.replace("/", "\\") + silk_path = silk_path.replace("/", "\\") pcm_path = pcm_path.replace("/", "\\") mp3_path = mp3_path.replace("/", "\\") - print(mp3_path) if os.path.exists(mp3_path): return mp3_path - open(silk_path, "wb").write(buf) + with open(silk_path, "wb") as f: + f.write(buf) + # open(silk_path, "wb").write() decode(silk_path, pcm_path, 44100) - system(f'ffmpeg.exe -loglevel quiet -y -f s16le -i "{pcm_path}" -ar 44100 -ac 1 "{mp3_path}"') - system(f'del "{silk_path}"') - system(f'del "{pcm_path}"') + cmd = f'''{os.path.join(os.getcwd(),'app','resources','ffmpeg.exe')} -loglevel quiet -y -f s16le -i {pcm_path} -ar 44100 -ac 1 {mp3_path}''' + system(cmd) + system(f'del {silk_path}') + system(f'del {pcm_path}') + print(mp3_path) return mp3_path def get_audio_text(self, content): diff --git a/app/DataBase/msg.py b/app/DataBase/msg.py index a3edea3..0f4dea4 100644 --- a/app/DataBase/msg.py +++ b/app/DataBase/msg.py @@ -203,10 +203,16 @@ class Msg: for dialog in temp: msg1 = dialog[0] msg2 = dialog[1] - res.append(( - (msg1[4], msg1[5], msg1[7].split(keyword), msg1[8]), - (msg2[4], msg2[5], msg2[7], msg2[8]) - )) + try: + res.append(( + (msg1[4], msg1[5], msg1[7].split(keyword), msg1[8]), + (msg2[4], msg2[5], msg2[7], msg2[8]) + )) + except TypeError: + res.append(( + ('', '', ['', ''], ''), + ('', '', '', '') + )) return res def get_messages_by_days(self, username_, is_Annual_report_=False, year_='2023'): diff --git a/app/DataBase/output_pc.py b/app/DataBase/output_pc.py index 3966dac..34ddb48 100644 --- a/app/DataBase/output_pc.py +++ b/app/DataBase/output_pc.py @@ -313,9 +313,20 @@ class ChildThread(QThread): ) elif self.output_type==Output.TXT: name = '你' if is_send else self.contact.remark - doc.write( - f'''{str_time} {name}\n{content.get('title')}\n引用:{refer_msg.get('displayname')}:{refer_msg.get('content')}\n\n''' - ) + if refer_msg: + referText = f"{refer_msg.get('displayname')}:{refer_msg.get('content')}" + emojiText = findall(r"(\[.+?\])", referText) + for emoji_text in emojiText: + if emoji_text in emoji: + referText = referText.replace(emoji_text, emoji[emoji_text]) + doc.write( + f'''{str_time} {name}\n{content.get('title')}\n引用:{refer_msg.get('displayname')}:{refer_msg.get('content')}\n\n''' + ) + else: + doc.write( + f'''{str_time} {name}\n{content.get('title')}\n引用:未知\n\n''' + ) + def system_msg(self, doc, message): str_content = message[7] diff --git a/app/resources/ffmpeg.exe b/app/resources/ffmpeg.exe new file mode 100644 index 0000000000000000000000000000000000000000..e576a7ccc37687eb6d3183f3ec163eec5a12503e GIT binary patch literal 36560896 zcmeFad3+Q_`aeFCbYOtdju
WcYs6&5HIblE5{Mc#+)+Vs7ZE?AM3_-r5fW!c
zX`8{gvL3taYD8UJ*!4mTsN^Ie9?0P;F@oUP;{bw32$%W2-&Nf+lS!iPcmMtI(sWPN
zQ%^ltJ@wR6)!kQJS7A%E*=!2_@941Es&M7MJn{GE|CFKn_`&Orx2^8;-jFJL(R)KC
z%)E83t8~unTjtz!yXy}(-EqfkkL&k0yXJWBaNT-`EB~7DuG?o%zj@ek$MtoasEZ41
zwjz6
zagrm2x$Be>@I7k4kWN|H$5EWri`vJG3Uz%MeL|=&J*>HZ0eq9l`841QKhu->oZc2S
zpBb1gjT0`#W0^hJ&&_q++0Wp?|Bd|&kvM*p{S-hnw4dLD53nQb=aJ|CpY7-QL*3fX
zi=y}!?B^788*e|oWLYQs`R+LZ*U5f%in7l3^R_JOWIt 7V>kw$0N%>)6TcBaRL(2
zd%l!$Jq9dh+vk`TjhSs9ds+nla7?PdFZjbNtcGL8mCjKFGGJEBgFifl_iQ9>2A{x$
zx9~0pCawzpiYxs2aHO&E7-k)JgoeYRq*Z oMvnP{Z{aUA7~gMHQd4yB_d!X}tf@TfABa`@=!l
z!QS$RQZ*hmw9H9Ix!-DsH9e$P?glKDIBGEHH<$RCD`kvYYhjEnAmpw{yOLa6n%M6^
zvIb4-+TTh~RX&JL3rvg|5Jd=fTpvn-^jY^)8H&fXddq0ODHMSW%~yScFoAfsHm(a7
z4JNt;Uw$nZsu3S2VVTln`6ILIG$0s6^GZW|AL_C$!j4XRi=tP|wyS<4l0Q`f2cjOm
zX6&Uv-D*01?etnghI8IWO#H|_wnXqfew!UP0XD(?wF)5Pux!TK7doEuom>fz`@`me
zPDXD^+JgMDP ssR$lqW1x95TdPu|hXGpDq9|B*g=6@1*L7N`bi4ZM
z(qkR$8H2FSAu1^&TUJhjhIRr7`!HH!oL>7vZ1xwT@xgL!LK6e;XobAa=$2i09f2!R
zB#-%^^p(g&CQsPMq^ro6RaCm6M)0dOd$A;aJ*W-pH(0gmdRQVytE*3}G$Wh-6@3YQ
zSFKHdGZ!8Q?57NpAtj*PC(nq}EtCw`*XjOb`La6wH_ml(@5ZP4=OOg*?-81;8VD}U
z*P)j2onjA9izGhHPy8z%DVyl`-hr+|+ d?K;D?mUUHaIpF`Z3}%kJGqzKl(%c-~p*r2=bg9Tb#=CA9fdiZNMo=PGS{
z1CEL1kzn~3@KyLwEJbJixlyakHp`)VA(bqvSF89eFmeWSUNS?cLjyV*(iWH9073|D&8fC6{b>
zIodJ&uQxhK6gF+okb=?%w>3gHeo*E647)D0a&5B+^dtE=+HB#mu}B?-P8Y*G-#v{p
zLJa?-2uv9lUrRNU%vrCz{S!$n0%1&DpdO7kMM2z
z?qcvCEVh>)24(~>htMm`N{BBRh_HV!!94*48r9=P5F;m$39A1JOzxE379s^Cn@td*
z3=F#v;fxi`e1(oM+KOSo6Bx;i=NXm4K(knatNFFsiA4X>L>bU*g8cL=V*;8J5zdTO
zv~9k6IC*RVfli1+Smk`Q!F)_D8krNIQ{2!8JVYHNqE+Y>Ku7&s5ZO2(cC&p(Sj
F?%owQ;_^lR_cX`aU8X2o
z@LHD<_ieT*s1>v=8f^uKT$Neu8K)Pdbl08gUj$f730pP@i7cu_nYTJt5wk7)uSfDh
z9E~dg_`i+D-~G!Rjho{}V}Yb)$pw~nXjJIV7NWk8?}?R5stN4q0?ebSJ=-r%HMMEm
z@n+tzQh}EsX-L@o*pv+q=;fR16fQ21^g*`yMYq_$!$MQ_e}z?nwmpkmfNA06h&-74
z%YWl2al9;X?9KT}4e%(bj;Dlx&$$`F8m
uKvtNz?f_3d5R5@tM`Q?13+U2TEji3FU&s
zcel@{SMnKHZJ@fPFZOWXej~K*Bsl1NowQDMQ)9`XBrmV4r`~-02yS*Y6?7j7UVghB
zRQ?4aY)ICkdJ}3zTanJ~d6VQsUlFvoBh+|i$1ZA|cru0B)ws4|3v4C-L>9s8yWdzb
z0y&8-emye0v7GThHUr|gc+NQvB;7hx`8|4gWb#
z6ss!aF^bH(&=miA2Qi6
z6X|2g19lB&4?gFGA;i+Er}*nF$OGpmHGSV-a-gQ$$LUWjIRJ$cD~kMGhzy*kgTh!{
zKm4-j#$}!Hb^f)Qavzv}Sav+go>4m&F@KX9J%`nd8z*S;{bR@g*T