master
bel 2023-04-01 10:45:00 -06:00
parent 97006d95c8
commit 11789a5c98
1 changed files with 8 additions and 3 deletions

View File

@ -67,8 +67,10 @@ class Reader(threading.Thread):
def run(self): def run(self):
log("Reader.run: start") log("Reader.run: start")
while not self.should_stop(): while not self.should_stop():
mic = None
try: try:
with sr.Microphone(device_index=self.mic_idx()) as mic: mic = sr.Microphone(device_index=self.mic_idx())
mic.__enter__()
while not self.should_stop(): while not self.should_stop():
self.outq.put(self._run(mic)) self.outq.put(self._run(mic))
except Exception as e: except Exception as e:
@ -77,6 +79,9 @@ class Reader(threading.Thread):
traceback.print_exception(e) traceback.print_exception(e)
time.sleep(5) time.sleep(5)
log("Reader.run: error:", e) log("Reader.run: error:", e)
finally:
if mic:
mic.__exit__(None, None, None)
self.outq.put(None) self.outq.put(None)
log("Reader.run: stop") log("Reader.run: stop")