操作这个步骤

非常清楚,以下是你现在的状态与我们要做的下一步判断和操作。


✅ 你当前的情况总结:

  1. 系统已检测到麦克风设备alsa_input.pci-0000...

  2. 你不是在 conda 环境中(所以 $CONDA_PREFIX 是空的)

  3. 之前 pyaudio 是可以列出设备的(例如 pulsedefault

  4. 现在即使退出 conda 环境,运行 pyaudio.PyAudio() 也直接崩溃


❗你的目标

✅ 我希望恢复到在系统原生环境中运行 Pythonpyaudio 能成功列出设备(pulse/default/hdmi)的状态。


✅ 下一步建议

你当前不在 conda 环境中,所以我们只需要 修复系统环境的 PortAudio 和 PyAudio 依赖关系,步骤如下:


✅【步骤一】清除旧的 PyAudio 并重新安装(系统 Python)

sudo apt purge python3-pyaudio
pip3 uninstall pyaudio -y

然后:

sudo apt install portaudio19-dev
pip3 install pyaudio --force-reinstall

✅【步骤二】验证是否恢复设备列表

然后运行你这段测试代码:

import pyaudio

p = pyaudio.PyAudio()

print("所有音频设备列表:")
for i in range(p.get_device_count()):
    info = p.get_device_info_by_index(i)
    name = info['name']
    max_input = info['maxInputChannels']
    max_output = info['maxOutputChannels']
    print(f"设备ID {i}: {name}, 输入通道数: {max_input}, 输出通道数: {max_output}")

p.terminate()

命令行中运行:

python3 mic_test.py

🔍 如果你还想确认 PyAudio 是用的系统的 PortAudio,可以运行:

ldd $(python3 -c "import pyaudio; print(pyaudio.__file__)")

你应该看到它链接的是 /usr/lib/x86_64-linux-gnu/libportaudio.so 而不是 conda 里的。


✅ 最终目标

如果你看到这样的输出:

设备ID 6: pulse, 输入通道数: 32, 输出通道数: 32
设备ID 7: default, 输入通道数: 32, 输出通道数: 32

说明你已经完全恢复成功


📌 注意:

这个过程完全是在系统环境下,不需要 Conda!

接下来你可以选择:

  • 如果你不再依赖 qt5env,你可以把项目部署在系统环境中。

  • 如果你仍然需要 Qt5 和 PyQt 功能,那我可以帮你复制系统 PyAudio 到 qt5env 中用,确保两边都能用。


是否要我继续帮你做这一步:将系统 PyAudio 能正常运行的配置,复制到 qt5env 环境中?只需回复 “需要”,我立刻给你。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值