{"contents":"# -*- coding: utf-8 -*-#\n# -------------------------------------------------------------------------------\n# Name: OpenIMMedia.py\n# Description: 负责处理语音数据库\n# Author: xaoyaoo\n# Date: 2024/04/15\n# -------------------------------------------------------------------------------\nfrom .db_base import DatabaseBase\nfrom .utils import silk2audio, db_loger\n\n\nclass OpenIMMediaHandler(DatabaseBase):\n _class_name = \"OpenIMMedia\"\n OpenIMMedia_required_tables = [\"OpenIMMedia\"]\n\n def get_im_audio(self, MsgSvrID, is_play=False, is_wave=False, save_path=None, rate=24000):\n if not self.tables_exist(\"OpenIMMedia\"):\n return False\n sql = \"select Buf from OpenIMMedia where Reserved0=? \"\n DBdata = self.execute(sql, (MsgSvrID,))\n if not DBdata:\n return False\n if len(DBdata) == 0:\n return False\n data = DBdata[0][0] # [1:] + b'\\xFF\\xFF'\n try:\n pcm_data = silk2audio(buf_data=data, is_play=is_play, is_wave=is_wave, save_path=save_path, rate=rate)\n return pcm_data\n except Exception as e:\n db_loger.warning(e, exc_info=True)\n return False\n","is_binary":false,"path":"wxdump_linux/db/db_open_im_media.py","ref":""}