2017-05-12 99 views
0

made這個線程在Raspberry PI堆棧交換和我的問題解決了。直到上週,我試圖再次運行我的Python應用程序(在Raspbian和Ubuntu 16.04中),這個錯誤再次出現。我有麻煩,PyAudio沒有檢測到輸入設備

我到目前爲止所做的一切。

  • 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) Invalid value for card arecord: main:722: audio open error: No such file or directory

  • 我已經正確安裝PortAudio版本19穩定。
  • 我仍然可以使用我像視頻通話等活動麥克風,...
  • 我使用Python 3

回答

0

這不是真的打算要一個答案,但它可能會有所幫助打印所有可用於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爲好。

+0

'p.get_device_count()'是'0'我想念我的文章。 – notalentgeek

+0

您是否驗證過USB端口仍然有效(嘗試其他端口)?您是否驗證過聲卡在其他電腦上正常工作?也許聲卡的電纜損壞。也可能與更高電流的PS可能有助於電源問題有關?或者使用有源USB集線器。 – Logic1

+1

我正在使用筆記本電腦,並提到「我仍然可以使用我的麥克風進行視頻通話等其他活動......」。我會嘗試新安裝我的Ubuntu。 – notalentgeek

0

那麼這個問題肯定是在PyAudio的一部分。然而,一些線程提到,主要的罪魁禍首是PyAudio和PortAudio之間的連接錯誤(儘管我已經編譯了適當的PortAudio 19版穩定版)。

此時我的解決方案是使用https://github.com/larsimmisch/pyalsaaudiopyalsaaudio。對於Python 2.x,您可以使用pip install pyalsaaudio來安裝它,但是對於Python 3.x,您需要從源代碼編譯它(請參閱其GitHub頁面中的說明)。需要注意的是,pyalsaaudio僅適用於Linux。使用pyalsaaudio我的Python應用程序正常工作。