2017-02-22 1 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") 

그것은 아무것도 인쇄되지 않습니다를 게시하면.

내가 우분투 16.04를 실행하고있어 이동하여 내 기본 싱크를 설정 :

pacmd list-sinks 
pacmd set-default-sink 0 

내가 펄스 오디오, ALSA, 그리고 portaudio의 최신 버전을 가지고있다. 어떤 제안?

업데이트 : Audacity의 사운드 장치는 시스템 설정> 소리에도 나타나지만 볼 수 없습니다. 가능성이 enter image description here

+2

을 즐길 수? – Matthias

+0

어떤 pyaudio 버전을 사용하고 있습니까? 필자는 오디오 시스템에 익숙하며 아마도 소스 코드 문제를 해결하는 데 도움이 될 수 있습니다. 문제를 찾으려면 사람들은 소프트웨어 설정을 복제 할 수 있어야합니다. – user2133679

+0

@NullSalad 어떤 연설을 가지고 있습니까? –

답변

3

의 교체가 필요 깨진 파일 :

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

내가 설정 페이지의 모양 때문에 이것은 거의 확실 portaudio 문제라고 생각합니다 : 대담에서 나는 오류가 발생합니다.

  1. pip가 설치 한 "/usr/./libstdc++.so.6"을 검색하십시오.

  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) 5.0.1 버전으로 아나콘다으로 업그레이드하고 conda update --all을 실행 이전 된 libstdC++. so.6 파일이나 B)를 이름 경우 . "B"을 수행하는 경우 먼저 계란이나 whls를 수동으로 제거하여 처음부터 이전 소프트웨어를 설치할 기회가 없는지 잊지 마십시오.

이렇게하면 해결됩니다.

이것은 https://github.com/spatialaudio/python-sounddevice/issues/74 아마 비슷합니다 ;-)

+0

1 단계에서 lib는/usr /에 상대적으로 많은 위치에 설치되었습니다 : '/usr/lib/i386-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/share/gdb/auto-load/usr/lib/i386-linux-gnu/libstdC++. so.6.0.22-gdb.py ' 어떤 것을 선택해야합니까? –

+0

(위의 추악한 형식으로 미안하지만, 필자는 usr/share/아래에서 몇 가지를 제거해야했다. 필자가 생각한 공간 요구 사항은 다음과 같다 : P) –

+0

사실 참 많이. 그러나 나는이 스택에서 각 개별 경로의 이름을 1-11 값으로 지정했다. 교체 할 때 "이전"으로 이름을 바꿉니다. 1, 5, 7, 10을 3으로, 2, 6, 8, 9를 4로 바꿉니다. "11"은 파이썬 파일로 보이거나 오타입니까? 그래도 여전히 작동하지 않으면 1과 2 또는 5, 6 또는 7, 8로 대체하십시오. 이전 옵션이 모두 작동하지 않으면 3으로 교체하십시오. 디버깅 유형 ;-) ( – ZF007