首页 > 解决方案 > 当音频设备被拉出/断开时停止脚本pyaudio

问题描述

我有以下代码:

     def __init__(self):
        self.p = pyaudio.PyAudio()
        info = self.p.get_host_api_info_by_index(0)
        device_id = 0


        self.stream = self.p.open(format=FORMAT,
                                input_device_index=device_id,
                                channels=CHANNELS,
                                rate=RATE,
                                input=True,
                                output=True)

    def listen(self):
        print('Python listening script initiated!')
        while True:
                self.listen()

所有这些都在一个类中,并在需要时稍后调用。本质上,这部分代码使用 pyaudio 来监听环境。代码可以按要求工作,但是当我拔下麦克风上的插头或关闭麦克风时,代码会出错,因为它会继续尝试在没有麦克风的情况下录制。断开麦克风后如何立即终止脚本。

谢谢

标签: pythonmicrophonepyaudio

解决方案


推荐阅读