使用Python在Windows上检测系统声音

时间:2014-02-27 01:29:24

标签: java python windows audio detect

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

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

Capturing speaker output in Java

我正在构建一个程序,只要系统发出声音就会播放mp3文件,但如果狗叫声,我不希望它会消失。

谢谢!

1 个答案:

答案 0 :(得分:0)

与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