2017-02-22 137 views
2

PyAudio找不到任何輸出設備

import pyaudio 
pa = pyaudio.PyAudio() 
pa.get_default_output_device_info() 

我得到:

IOError: No Default Output Device Available 

當我說:

p.get_device_count() 

它返回0L

當然如果我列出設備

for i in range(0, device_count): 
     print("Name: " + p.get_device_info_by_index(i)["name"]) 
     print("Index: " + p.get_device_info_by_index(i)["index"]) 
     print("\n") 

它不會打印出任何東西。

我運行Ubuntu 16.04,並通過去設置我的默認片:

pacmd list-sinks 
pacmd set-default-sink 0 

我的PulseAudio,ALSA,和portaudio的最新版本。有什麼建議麼?

更新:我也無法在Audacity上查看任何聲音設備,儘管它們出現在系統設置>聲音下。在Audacity中我得到的錯誤:

Error while opening sound device. Please check the recording device settings and the project sample rate.

我認爲這幾乎可以肯定是一個portaudio問題,因爲設置頁面的樣子: enter image description here

+2

這可能類似於https://github.com/spatialaudio/python-sounddevice/issues/74? – Matthias

+0

您使用的是哪個版本的pyaudio?我熟悉音頻系統,可能可以幫助您排查源代碼的故障。但要發現問題,人們需要能夠複製您的軟件設置。 – user2133679

+0

@NullSalad你有什麼話? –

回答

3

它可能是一個破碎的文件,需要更換。

  1. 搜索「/usr/./libstdc++.so.6」,其中pip安裝它。

  2. 搜索「/usr/lib/x86_64-linux-gnu/libstdc++.so.6」並複製到位置(1)。這應該解決它。

  3. 如果您安裝了Anaconda版本3 - 4.3.0或4.4.0或更低版本,請檢查「anaconda3/lib/libstdC++。so.6」並重新替換爲(2)。

或者A)重命名文件,並將從文件(2),其中重命名的舊的libstdC++。so.6文件或B)升級到蟒蛇到5.0.1版本,並運行conda update --all 。如果你做「B」不要忘記首先手動刪除蛋或whls,以確保沒有機會從那裏再次安裝舊軟件。

這應該爲您解決。

享受;-)

+0

在步驟1中,我已經在相對於/ usr /的許多位置安裝了lib:: '/usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.22 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/x86_64-linux-gnu/libstdC++。 so.6.0.22 /usr/lib32/libstdc++.so.6 /usr/lib32/libstdc++.so.6.0.22 /usr/libx32/libstdc++.so.6 /usr/libx32/libstdc++.so。 6.0.22 /usr/local/MATLAB/R2016a/sys/os/glnxa64/libstdc++.so.6.0.17 /usr/local/MATLAB/R2016a/sys/os/glnxa64/libstdc++.so.6.old /USR /股/ GDB /我應該選擇哪一個自動加載/ usr/lib目錄/ I386-Linux的GNU /的libstdC++。so.6.0.22-gdb.py ' ? –

+0

(對不起,上面的醜陋的格式,我也不得不刪除usr下/股/ ..幾對空間的需求,我認爲可能是無關緊要的:P) –

+0

它確實是很多。但是,我使用值1-11來命名這個堆棧中的每個單獨路徑。更換時將它們重命名爲「舊」。用1,3和2,6,8,9替換1,5,7,10 4.「11」似乎是一個python文件或者是一個錯字?如果仍然無效,請嘗試用1和2或5,6或7,8替換全部。或者,如果以前的所有選項都不起作用,則可以全部替換爲3。耗時的是類型調試;-( – ZF007