PyAudio alsa Fehlermeldungen
Ich erhalte jedes Mal eine Fehlermeldung, wenn ich mit PyAudio einen Sound wiedergebe und Probleme beim Unterdrücken habe.
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
Ich habe die Lösung ausprobiertPyAudio funktioniert, gibt aber jedes Mal Fehlermeldungen aus Aber ich bekomme immer wieder eine Fehlermeldung
OSError: libasound.so: Shared Object-Datei kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis
Ich habe versucht, es zu ändernlibasound.so.2
aber dann friert es das Programm ein, wenn versucht wird, einen Sound abzuspielen, anstatt etwas zu tun.
Ich füge meinen Quellcode für die Verwendung von PyAudio hinzu. DasalsaMessageSuppress
Funktion wird bei der Initialisierung der Klasse aufgerufen.
def alsaMessageSuppress(self):
ERROR_HANDLER_FUNC = CFUNCTYPE(None, c_char_p, c_int, c_char_p, c_int, c_char_p)
def py_error_handler(filename, line, function, err, fmt):
print 'Debug Message Suppressed'
c_error_handler = ERROR_HANDLER_FUNC(py_error_handler)
asound = cdll.LoadLibrary('libasound.so.2')
# Set error handler
asound.snd_lib_error_set_handler(c_error_handler)
def soundThread(self, sound):
p = pyaudio.PyAudio()
duplicated_sound = wave.open(StringIO.StringIO(self.loaded_sounds[sound]), 'rb')
def callback(in_data, frame_count, time_info, status):
data = duplicated_sound.readframes(frame_count)
return (data, pyaudio.paContinue)
stream = p.open(format=p.get_format_from_width(duplicated_sound.getsampwidth()),
channels=duplicated_sound.getnchannels(),
rate=duplicated_sound.getframerate(),
output=True,
stream_callback=callback)
while stream.is_active():
sleep(.1)
stream.stop_stream()
stream.close()
#print "%s Finished" % sound
p.terminate()
duplicated_sound = None