2011-09-13 9 views
5

OS Xには、ハードウェアで再生される前にオーディオを事前に増幅するための2つのアプリケーションがあります:オーディオハイジャック(特定のアプリケーションの出力を事前増幅する)とブームシステムオーディオ)。これらのアプリケーションは、サウンドカードに送信される前に、既存のオーディオストリーム(高いプリアンプ設定)でイコライゼーションを適用することによって機能します。Pre-Amplify Audio OS X

私の質問は、システムのオーディオストリームをハイジャックし、それをサウンドカードに送る方法です。これはAPIのどこかにあるのですか、それともシステムライブラリを変更する必要がありますか?

+2

多くの同様の質問があります。 http://stackoverflow.com/questions/965045/osx-audio-hijack-style-audio-recording-from-other-applications-cocoa –

答えて

5

1)オーディオシステムの設定で表示される標準サウンドデバイスを作成します。これはカーネル拡張(kext)の形でなければなりません。 Appleのドキュメントを読んで作成するのは難しい - Soundflowerというアプリを見てみてください。

2)kextを読み込んで新しいオーディオデバイスを使用できるようにしたら、システムオーディオのデフォルト出力デバイスとして環境設定でそれを選択します。

3)オーディオを変更し、実際のシステム出力にパイプする必要があります。これは、a)新しいデバイスとb)コンピュータの内蔵出力デバイスにコールバック "IOProc"機能を追加する付属のアプリケーションで行うことができます。オーディオバッファをあるデバイスから別のデバイスにコピーし、オーディオをスピーカーにパイプすることができます。ボリュームを増やすには、バッファ内のすべてのバイトに何らかの係数を掛けます。 Soundflowerに付属のアプリを参照してください。

+0

- ポインタのためのポールrのおかげです。これは私が学んだことです。 – Colin