嗨,这是我的第一篇文章,所以我会尽力解释我的需要。
我的问题是,我正在使用特定的麦克风,如果需要,它可能会随时断开,因此我需要将其连接到PC的麦克风。这是代码
mic = None
for i in sr.Microphone.list_microphone_names():
print(i)
for index, name in enumerate(sr.Microphone.list_microphone_names()):
print("Microphone with name \"{1}\" found for `Microphone(device_index={0})`".format(index, name))
if str(name) == "Microphone (Blue Snowball)":
print("\n\n\n\n\n")
mic = sr.Microphone(sample_rate = 18000, device_index= index)
print("using Microphone with name \"{1}\" found for `Microphone(device_index={0})`".format(index, name))
print(mic)
if mic == None:
for index, name in enumerate(sr.Microphone.list_microphone_names()):
print("Microphone with name \"{1}\" found for `Microphone(device_index={0})`".format(index, name))
if str(name) == "Microphone (Realtek High Defini":
print("\n\n\n\n\n")
mic = sr.Microphone(sample_rate = 18000, device_index= index)
print("using Microphone with name \"{1}\" found for `Microphone(device_index={0})`".format(index, name))
print(mic)
print(mic)
上面的代码大约每5秒运行一次
现在的问题是当我断开麦克风的连接时,它仍然在那说
似乎sr.Microphone.list_microphone_names()
会在程序启动时获取所有音频设备,然后在运行期间再次调用它时,它不会更新该列表,而只是检索在启动时创建的列表。
现在,我需要一种方法来更新此列表或查看可操作的麦克风。我知道pyaudio确实看到此麦克风丢失,原因是设备索引发生了变化,但它不会更新列表
感谢先生的轻蔑
p.s我已经研究了4个小时,而我对pyaudio没有任何经验