【问题标题】:I have trouble with PyAudio does not detect input device我遇到了 PyAudio 无法检测到输入设备的问题
【发布时间】:2017-10-12 08:06:47
【问题描述】:

made Raspberry PI Stack Exchange 中的这个线程,我的问题得到了解决。直到上周我再次尝试运行我的 Python 应用程序(在 Raspbian 和 Ubuntu 16.04 中)这个错误再次出现。

OSError: [Errno -9996] 输入设备无效(无默认输出设备)

到目前为止我做了什么。

  • pyaudio.PyAudio().get_device_count() 返回0
  • arecord --device=hw:1,0 --format S16_LE --rate 44100 -c1 test.wav 返回此错误。

ALSA lib pcm_hw.c:1700:(_snd_pcm_hw_open) 卡的值无效 arecord: main:722: audio open error: No such file or directory

  • 我已经正确安装了 PortAudio 19 稳定版。
  • 我仍然可以将麦克风用于其他活动,例如视频通话、....
  • 我正在使用 Python 3。

【问题讨论】:

    标签: python pyaudio


    【解决方案1】:

    问题肯定出在 PyAudio 部分。但是,一些线程提到主要的罪魁祸首是 PyAudio 和 PortAudio 之间的连接错误(尽管我已经编译了正确的 PortAudio 19 版稳定版)。

    此时我的解决方案是使用来自https://github.com/larsimmisch/pyalsaaudiopyalsaaudio。对于 Python 2.x,您可以使用 pip install pyalsaaudio 安装它,但是对于 Python 3.x,您需要从源代码编译它(参见其 GitHub 页面中的说明)。需要注意的是pyalsaaudio 仅适用于 Linux。使用pyalsaaudio,我的 Python 应用程序正常工作。

    【讨论】:

      【解决方案2】:

      这并不是一个真正的答案,但它可能有助于打印 pyaudio 可用的所有设备的列表并查看您的 USB 声卡是否被识别。

      (以前项目的一些代码):

      p = pyaudio.PyAudio()
      for i in range(p.get_device_count()):#list all available audio devices
        dev = p.get_device_info_by_index(i)
        print((i,dev['name'],dev['maxInputChannels']))
      

      您可能还想查看alsa 和一些techniques to list available devices 以及可能还有alsamixer

      【讨论】:

      • p.get_device_count()0 我错过了我的帖子。
      • 您是否验证过 USB 端口仍然正常工作(尝试了其他端口)?您是否验证过声卡在其他 PC 上可以正常工作?可能是声卡的线坏了。也可能与更高安培数 PS 可能有帮助的电源问题有关?或使用有源 USB 集线器。
      • 我正在使用笔记本电脑,如前所述,“我仍然可以使用我的麦克风进行其他活动,例如视频通话......”。我会尝试重新安装我的 Ubuntu。
      猜你喜欢
      • 1970-01-01
      • 2020-12-30
      • 2021-03-30
      • 2021-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-04
      • 1970-01-01
      相关资源
      最近更新 更多