2010-05-21 611 views
13

我一直在尝试使用PyAudio“劫持”Mac OS X系统音频,并保存为Python中的wav。也就是说,我不想从麦克风等输入设备录制。我想抓取任何或所有应用程序的声音输出。使用Python捕获Mac OS X系统音频输出

我遵循PyAudio网站上的教程,但这些似乎没有涵盖我的用例,当我尝试从输出流中读取时,我毫不奇怪地得到paCanNotReadFromAnOutputOnlyStream异常。很公平!有没有办法用PyAudio或其他FOSS Python库来提出建议?

回答

6

我发现一个名为SoundFlower的开源项目让我很快到达了我需要的地方。

  1. 我从Google Code安装了SoundFlower软件包。
  2. 打开系统偏好设置 - >声音
  3. 之所以选择Soundflower作为我的输出设备
  4. 之所以选择Soundflower作为我的输入设备

当时我能够记录使用PyAudio默认设备系统的音频。虽然这种情况下没有声音来自扬声器/耳机。我想知道您是否可以使用Jack OS X将音频从SoundFlower路由到系统音频输出。

2

如果您愿意安装额外的组件,您可以尝试使用Jack OS X将输入从源应用程序传输到PyAudio。

在PyAudio中,您将不得不使用将作为输入音频设备出现的“Jack Router”虚拟设备。