2011-02-10 23 views
2

C#でウィンドウの出力サウンドをプログラムで記録することは可能ですか? 「聞くもの」や「ステレオ出力」の機能(選択する必要はありません)から何かを録音するようなビットですか?C#でウィンドウのオーディオをキャプチャする

+0

これはサウンドカード固有のものだと思います。私は100%確実ではない。興味深い質問ですが、この質問は役に立ちますか? http://stackoverflow.com/questions/1292076/capture-sound-output-in-c – Crisfole

+0

@drachenstern:あなたの編集は*人が何を求めていたかではありませんでした。 – MusiGenesis

+0

@MusiGenesis私はどちらか他の方法を確信していませんでした。それは他の方法と思われました。 – jcolebrand

答えて

5

これはloopback recordingと呼ばれ、Windowsではとなります。これはです。ループバックをサポートしているサウンドカードを持っている場合(私はちょうどローエンドのToshibaノートパソコンをチェックしていますが、そうではありません)、C#で使いやすいwaveInOpenなどのAPIを使用してループバックデバイスから直接録音できます。注:この方法でオーディオを録音すると、オーディオ信号がアナログ出力に変換されてからループバックインターフェイスをサポートするように再デジタイズされるため、必然的に品質が低下します。

サウンドカードをお持ちでない場合、WASAPIでこれを行うことができます。私はWASAPIをC#で使うことができると思いますが、それは痛いようです。

+1

これは1つですか? http://www.pinvoke.net/default.aspx/winmm/waveinopen.html?diff=y – Crisfole

+1

http://winmm.codeplex.com/は、「winmm.dll」API機能の優れたC#ラッパーです。 – MusiGenesis

+0

上記のように、あなたのために良いコードサンプルが見つからない限り、 'waveInOpenEtc.' APIはC#で使用するロイヤル$ @&$!#&ですと言って、私の答えを明確にする必要があります。 – MusiGenesis

4

NAudioライブラリもチェックアウトしてください。

PS。 C++の関連性がありますhttp://blogs.msdn.com/b/matthew_van_eerde/archive/2008/12/16/sample-wasapi-loopback-capture-record-what-you-hear.aspx?PageIndex=2

+1

NAudioには、WASAPIループバックを使用してキャプチャするために使用できる 'WasapiCapture'クラスがあります。 – svick

+0

最近このプロセスを単純化する 'WasapiLoopbackCapture'クラスが追加されました。 2012年8月現在、v1.5リリースには含まれていませんので、ソースをダウンロードしてコンパイルして使用する必要がありました。 – Paccc

+1

** working ** solutionについてはhttp://stackoverflow.com/questions/18812224/c-sharp-recording-audio-from-soundcardをご覧ください –

関連する問題