| import os | |
| import argparse | |
| from pywxdump.db import MediaHandler | |
| def main(): | |
| parser = argparse.ArgumentParser(description="Extract audio from WeChat database") | |
| parser.add_argument("--db-path", type=str, required=True, | |
| help="Path to WeChat database file") | |
| parser.add_argument("--MsgSvrID", type=str, required=True, | |
| help="Message server ID of the audio") | |
| parser.add_argument("--save-path", type=str, | |
| default=os.path.join(os.path.dirname(__file__), "sample.wav"), | |
| help="Path to save the audio file (default: sample.wav in script directory)") | |
| parser.add_argument("--rate", type=int, default=24000, | |
| help="Sample rate for audio conversion (default: 24000)") | |
| args = parser.parse_args() | |
| config = { | |
| "key": "test1", | |
| "type": "sqlite", | |
| "path": args.db_path, | |
| } | |
| t1 = MediaHandler(config) | |
| t1.get_audio( | |
| MsgSvrID=args.MsgSvrID, | |
| is_play=True, | |
| is_wave=True, | |
| save_path=args.save_path, | |
| rate=args.rate, | |
| ) | |
| if __name__ == "__main__": | |
| main() | |