2010-05-21 617 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」虛擬設備。