Files
python----/持续录制音频.py
admin 2d8c1ea8f9 chore: 批量新增各类工具脚本与配置文件
1. 新增音频录制、下载、上传相关脚本
2. 新增数据库操作、API调用工具
3. 新增Excel数据处理脚本
4. 新增弱密码检测脚本
2026-06-14 17:47:15 +08:00

59 lines
2.1 KiB
Python

import requests
import time
from datetime import datetime
url = "http://10.68.66.174/mix.wav"
duration_minutes = 60 # 录制时长(分钟)
output_file = f"recording_{datetime.now().strftime('%Y%m%d_%H%M%S')}.wav"
duration_seconds = duration_minutes * 60
print(f"开始录制音频流...")
print(f"录制时长: {duration_minutes} 分钟")
print(f"保存路径: {output_file}")
start_time = time.time()
chunk_size = 8192
total_bytes = 0
last_print_time = 0
try:
response = requests.get(url, stream=True, timeout=60)
response.raise_for_status()
with open(output_file, 'wb') as f:
for chunk in response.iter_content(chunk_size=chunk_size):
if chunk:
f.write(chunk)
total_bytes += len(chunk)
elapsed = time.time() - start_time
# 每10秒打印一次进度
if int(elapsed) - last_print_time >= 10:
last_print_time = int(elapsed)
size_mb = total_bytes / (1024 * 1024)
remaining = int(duration_seconds - elapsed)
print(f"已录制: {int(elapsed)}秒 / {duration_seconds}秒 ({elapsed/duration_seconds*100:.1f}%), 大小: {size_mb:.2f}MB, 剩余: {remaining}秒")
# 达到指定时长后自动停止
if elapsed >= duration_seconds:
print(f"\n已达到指定录制时长 {duration_minutes} 分钟")
break
elapsed = time.time() - start_time
size_mb = total_bytes / (1024 * 1024)
print(f"\n录制完成!")
print(f"总时长: {int(elapsed)}秒 ({elapsed/60:.1f}分钟)")
print(f"文件大小: {size_mb:.2f}MB")
print(f"保存路径: {output_file}")
except KeyboardInterrupt:
elapsed = time.time() - start_time
size_mb = total_bytes / (1024 * 1024)
print(f"\n录制已手动停止")
print(f"总时长: {int(elapsed)}秒 ({elapsed/60:.1f}分钟)")
print(f"文件大小: {size_mb:.2f}MB")
print(f"保存路径: {output_file}")
except Exception as e:
print(f"错误: {e}")