69 lines
2.1 KiB
Python
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("请检查错误信息并调整代码") |