Al grabar audio a través de PyAudio, ¿cómo se especifica el dispositivo de entrada exacto que se va a usar?
Mi computadora tiene dos micrófonos, uno incorporado y otro a través de USB, y quiero grabar usando el micrófono USB. La clase Stream tiene un input_device_index
para seleccionar el dispositivo, pero no está claro cómo se correlaciona este índice con los dispositivos. Por ejemplo, ¿cómo sé a qué dispositivo se refiere el índice 0? Si tuviera que adivinar, diría que 0 se refiere al dispositivo integrado mientras que 1 se refiere al dispositivo USB, pero me gustaría encontrar alguna forma programática de confirmar esto. En Linux, ¿hay alguna forma de obtener una lista de estos índices y los dispositivos a los que se refieren?
Solución del problema
puede usar get_device_info_by_host_api_device_index.
Por ejemplo:
import pyaudio
p = pyaudio.PyAudio()
info = p.get_host_api_info_by_index(0)
numdevices = info.get('deviceCount')
for i in range(0, numdevices):
if (p.get_device_info_by_host_api_device_index(0, i).get('maxInputChannels')) > 0:
print("Input Device id ", i, " - ", p.get_device_info_by_host_api_device_index(0, i).get('name'))
No hay comentarios.:
Publicar un comentario