Успешно използвах pyaudio за четене и запис на данни от микрофона. Бих искал да направя същото за изхода на звуковата карта. (т.е. възпроизвеждане на wav файл и отваряне на поток с pyaudio и четене кадър по кадър изхода на звуковата карта).
За четене на микрофон отворих pyaudio поток като следния
stream = pyaud.open(
format = pyaudio.paInt16,
channels = 1,
rate = 22050,
input_device_index = 0,
input = True)
когато променя input_device_index на 1, получавам следната грешка
IOError: [Errno Невалиден брой канали] -9998
По-долу е system_info за звуковата карта на macbook
Default Devices:
================
Default Input Device : 0
defaultSampleRate: 44100.0
defaultLowOutputLatency: 0.01
defaultLowInputLatency: 0.00199546485261
maxInputChannels: 2
structVersion: 2
hostApi: 0 (Core Audio)
index: 0
defaultHighOutputLatency: 0.1
maxOutputChannels: 0
name: Built-in Microph
defaultHighInputLatency: 0.0121541950113
--------------------------------
Default Output Device: 1
defaultSampleRate: 44100.0
defaultLowOutputLatency: 0.00655328798186
defaultLowInputLatency: 0.01
maxInputChannels: 0
structVersion: 2
hostApi: 0 (Core Audio)
index: 1
defaultHighOutputLatency: 0.0167120181406
maxOutputChannels: 2
name: Built-in Output
defaultHighInputLatency: 0.1
--------------------------------