Python PyAudio Как обновить список микрофонов при повторном подключении
WIndows 10. Python.
При работе с pyaudio выставляю индекс микрофона = 1. Гоняю цикл с микрофоном. При отключении внешнего микрофона от ноутбука перехватываю ошибку и продолжаю гонять цикл, в котором подхватывается все также микрофон с индексом = 1 (который теперь не внешний, а уже встроенный). Но данные в программе относительно информации о микрофоне обновить не могу. Вот так получаю список микрофонов:
def get_mics_list():
mics = []
p = pyaudio.PyAudio()
for i in range(p.get_device_count()):
if p.get_device_info_by_index(i)['name'] == 'Microsoft Sound Mapper - Input':
pass
elif p.get_device_info_by_index(i)['name'] == 'Microsoft Sound Mapper - Output':
break
else:
mics.append(p.get_device_info_by_index(i))
return mics
На выходе имею список словарей с информацией о каждом микрофоне в системе. Но при изменении микрофона в системе (например отключении микрофона), обновить информацию, используя эту функцию, не могу. Возвращает тот же список словарей, что и был до отключения микрофона. Почему так?