【问题标题】:Detecting system sound on Windows using Python使用 Python 在 Windows 上检测系统声音
【发布时间】:2014-02-27 01:29:23
【问题描述】:

有没有办法检测系统声音而不是麦克风声音?我希望能够检测到我的系统何时发出声音,而不是麦克风何时接收到实际声音。

我发现这样做的一种方法是使用“软件或硬件中的音频环回(例如,将引线从扬声器“输出”插孔连接到麦克风“输入”插孔)。”

Capturing speaker output in Java

我正在构建一个程序,它会在系统发出声音时播放 mp3 文件,但我不希望它在狗吠时响起。

谢谢!

【问题讨论】:

    标签: java python windows audio detect


    【解决方案1】:

    pyaudio (http://people.csail.mit.edu/hubert/pyaudio/) 怎么样

    像这样:

    import pyaudio
    
    chunk = 1024
    
    p = pyaudio.PyAudio()
    
    stream = p.open(format=pyaudio.paInt16,
                    channels=1,
                    rate=44100,
                    input=True,
                    frames_per_buffer=chunk)
    
    data = stream.read(chunk)
    

    然后您可以计算音频样本的均方根 (RMS) 并从那里开始。

    已编辑: 您可以通过执行以下操作来查看可以使用的设备类型。 (http://people.csail.mit.edu/hubert/pyaudio/docs/#pyaudio.PyAudio.get_device_info_by_index)

    import pyaudio    
    p = pyaudio.PyAudio()
    
    for i in xrange(0,10):
        try:
            p.get_device_info_by_index(i)
        except Exception,e:print e
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-12
      • 2013-08-26
      • 2018-06-17
      • 1970-01-01
      • 2011-02-09
      • 2011-01-13
      • 1970-01-01
      相关资源
      最近更新 更多