2010-02-02 82 views
5

我試圖將我的屏幕保護程序從windows移植到mac,並且它的一個功能是響應系統聲音輸出。在Windows上使用Direct Sound很容易,但是我找不到在mac上捕獲聲音輸出的任何示例。如果不寫內核擴展之類的東西,甚至有可能嗎?使用閃光燈也非常簡單 - 它甚至可以提供computeSpectrum方法來獲取原始數據或甚至fft轉換的數據。在mac上捕獲聲音輸出

我已經找到的所有程序都使用Soundflower或它們自己的內核擴展。但我不認爲要求安裝單獨的程序或使用內核擴展是一個好方法。

回答

4

考慮到Soundflower是開源的,你可以做的一件事就是看看他們是如何做到的。您不能複製&粘貼GPL代碼,但您肯定可以研究所使用的技術並創建您自己的解決方案(指向正確的方向)。

你不會在這裏找到Apple很有幫助。以這種方式,聲音捕捉可以用於各種惡意目的。我甚至不確定Core Audio是否可以在沒有黑客的情況下執行此操作。無論如何,你有一個你正在努力完成的工作實現。我會利用它。

+0

你知道任何地方使用Soundflower查看代碼嗎? – tig 2010-02-07 17:36:23

+0

我不推薦使用它。我建議對其進行逆向工程。你尋找的例子是Soundflower本身的源代碼。順便說一句,安裝內核擴展是透明的,如果你打包正確。 – pestilence669 2010-02-08 04:41:47

+0

我不喜歡它需要管理員權限才能安裝。但我認爲你是對的。 – tig 2010-02-09 17:16:25

-3

我現在不在我的Mac上,但我很肯定Quartz Composer只是爲這個東西提供了一個補丁。根據您使用何種語言編寫屏幕保護程序,將代碼移植到QC patch中可能相當容易。那麼......它可能並不容易,但它可能是可行的。

+0

我認爲你可以用代碼中的QC補丁做任何事情,對嗎? – 2010-02-02 22:04:11

+0

在Quartz Composer中,我發現只能處理輸入聲音而不輸出。另外我的屏幕保護程序不是很輕,所以我更喜歡使用OpenGL的Objective-C++。 – tig 2010-02-02 22:40:28