GOOGLE ADS

viernes, 29 de abril de 2022

Cómo seleccionar un dispositivo de entrada específico con PyAudio

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_indexpara 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

Flutter: error de rango al acceder a la respuesta JSON

Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...