From 40ddb8df30f511c9df32f0b090af61d78af2f7e7 Mon Sep 17 00:00:00 2001 From: xaoyaoo Date: Thu, 4 Jan 2024 09:48:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AF=AD=E9=9F=B3=E5=B1=95?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pywxdump/analyzer/export_chat.py | 2 +- pywxdump/api/api.py | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/pywxdump/analyzer/export_chat.py b/pywxdump/analyzer/export_chat.py index 471a5b7..05019a2 100644 --- a/pywxdump/analyzer/export_chat.py +++ b/pywxdump/analyzer/export_chat.py @@ -139,7 +139,7 @@ def get_msg_list(MSG_db_path, selected_talker="", start_index=0, page_size=500): if voicelength.isdigit(): voicelength = int(voicelength) / 1000 voicelength = f"{voicelength:.2f}" - content["msg"] = f"语音时长:{voicelength}秒\n翻译结果:{transtext}" + content["msg"] = f"语音时长:{voicelength}秒\n翻译结果:{transtext}" if transtext else f"语音时长:{voicelength}秒" content["src"] = os.path.join("audio", f"{StrTalker}", f"{CreateTime}_{MsgSvrID}.wav") elif type_id == (43, 0): # 视频 BytesExtra = read_BytesExtra(BytesExtra) diff --git a/pywxdump/api/api.py b/pywxdump/api/api.py index d0559bf..9f801af 100644 --- a/pywxdump/api/api.py +++ b/pywxdump/api/api.py @@ -9,7 +9,7 @@ import base64 import os from flask import Flask, request, render_template, g, Blueprint, send_file -from pywxdump import analyzer, read_img_dat +from pywxdump import analyzer, read_img_dat, read_audio from pywxdump.api.rjson import ReJson, RqJson from flask_cors import CORS @@ -172,7 +172,17 @@ def get_img(): @app.route('/api/audio', methods=["GET", 'POST']) def get_audio(): - pass + MsgSvrID = request.args.get("MsgSvrID") + MsgSvrID = request.json.get("MsgSvrID", MsgSvrID) + if not MsgSvrID: + return ReJson(1002) + wave_data = read_audio(MsgSvrID, is_wave=True, DB_PATH=g.media_path) + if not wave_data: + return ReJson(1001) + video_base64 = base64.b64encode(wave_data).decode("utf-8") + video_data = f"data:audio/wav;base64,{video_base64}" + return ReJson(0, video_data) + if __name__ == '__main__': @app.before_request