我正在使用python和dbus。我真正需要的是一种从麦克风输入我的python程序然后从程序中播放它的方法。我google了很多,似乎pyaudio可能会做的伎俩,但pyaudio不适用于我的ubuntu 10.04。
我看到的下一个选项是心灵感应。但我也不需要那么大的东西。看到心灵感应如何对dbus起作用,我觉得这可能是要走的路。
不幸的是我无法连接到Harware Abstraction LAyer并使用它来获取麦克风的输入。有没有办法做到这一点,还是我应该去其他地方寻找?
答案 0 :(得分:1)
这实际上与HAL或D-Bus无关。心灵感应绝对不是答案:它是一个IM框架。 :)如果我是你,我会通过GStreamer绑定查看pygst,这是Linux桌面上的标准多媒体框架。
您需要使用gconfaudiosrc
元素从默认麦克风中提取音频,然后将其发送到gconfaudiosink
。要检查这是否有效,请在终端中运行gst-launch-0.10 gconfaudiosrc ! gconfaudiosink
:您应该听到您在扬声器中说出的所有声音。
这blog post by the Internet's Jono Bacon可能是一个很好的起点。您可以尝试修改它以使用gconfaudiosrc
而不是filesrc
,decodebin
和audioconvert
。您还可以查看this tutorial; GStreamer Application Development Manual更加详细。