Local-Voice/doubao/test_recording_fix.py
2025-09-19 20:49:20 +08:00

69 lines
2.1 KiB
Python

#!/usr/bin/env python3
"""
快速测试修复后的录音功能
验证回调模式是否解决了元组数据问题
"""
import sys
import time
import threading
def test_recording_fix():
"""测试录音修复"""
print("=== 测试录音修复 ===")
try:
# 导入修改后的模块
sys.path.append('/home/zhuchaowe/Local-Voice/doubao')
import audio_manager
import config
# 创建音频设备管理器
audio_device = audio_manager.AudioDeviceManager(
audio_manager.AudioConfig(**config.input_audio_config),
audio_manager.AudioConfig(**config.output_audio_config)
)
print("1. 打开音频输入流...")
input_stream = audio_device.open_input_stream()
if input_stream:
print("✓ 音频输入流打开成功")
else:
print("✗ 音频输入流打开失败")
return False
print("2. 测试读取音频数据...")
# 读取几秒钟的音频数据
for i in range(10):
audio_data = audio_device.read_audio_data(config.input_audio_config["chunk"])
if audio_data:
print(f"{i+1}次读取成功: {len(audio_data)} 字节")
if i == 0:
print(f"音频数据类型: {type(audio_data)}")
else:
print(f"{i+1}次读取失败")
time.sleep(0.1)
print("3. 停止录音...")
audio_device.stop_recording()
print("4. 清理资源...")
audio_device.cleanup()
print("✓ 所有测试通过!")
return True
except Exception as e:
print(f"✗ 测试失败: {e}")
import traceback
traceback.print_exc()
return False
if __name__ == "__main__":
success = test_recording_fix()
if success:
print("\n🎉 录音功能修复成功!")
print("现在可以运行 main.py 测试完整功能")
else:
print("\n❌ 录音功能仍有问题")
print("请检查错误信息并调整代码")