Naudio + WASAPI を使用してマイク オーディオをキャプチャする方法のサンプル コードを探しています。
(ディスクへの直接録音には興味がありません。必要なのは、オーディオエフェクトを実行するために入力バッファをリアルタイムで処理することです。)
私はたくさん検索しましたが、適切なサンプルをオンラインで見つけることができませんでした。
助けていただけますか?
PS BASS ライブラリと C# のサンプルも大歓迎です!
Naudio + WASAPI を使用してマイク オーディオをキャプチャする方法のサンプル コードを探しています。
(ディスクへの直接録音には興味がありません。必要なのは、オーディオエフェクトを実行するために入力バッファをリアルタイムで処理することです。)
私はたくさん検索しましたが、適切なサンプルをオンラインで見つけることができませんでした。
助けていただけますか?
PS BASS ライブラリと C# のサンプルも大歓迎です!
NAudioソース コードには、WASAPI を使用してオーディオをキャプチャする方法を示すデモ アプリが付属しています。を見てくださいNAudioDemo\RecordingDemo\RecordingPanel.cs
。
MSDN には多数のコード サンプルがありますが、NAudio は扱っていませんが、Windows オーディオ セッション API の使用方法を詳細に示すサンプルがいくつかあります。
WASAPI はネイティブ専用 API であるため、ネイティブ専用アプリからその API を使用する方法を示すサンプル プロジェクトと、CSharp から使用する API をラップするネイティブ コンポーネントを構築する方法を示すサンプルの両方があります。応用。C#/C++ サンプルへの直接リンクは見つかりませんでしたが、Windows 8 アプリ サンプルパッケージに含まれています。次に、API の管理されたラッパーを完全に作成するオプションがありますが、苦痛を楽しみ、マーシャリングの冒険を探している場合を除き、お勧めしません...
Windows Phone 向けに開発している場合は、WASAPI を使用して PCM オーディオ データをキャプチャおよびレンダリングする方法をカバーする WP8 SDK に VOIP サンプルがあります。
Mark が指摘したように、pcm データ バッファーのサイズは時間の経過とともに変化する可能性があります。これは、WASAPI が低レイテンシーのオーディオ API であるため、コンシューマー (アプリ) とプロデューサーの間の抽象化がほとんどないという事実が原因の 1 つです。 (ドライバー)可能な限り。ただし、独自のサイズのバッファリングを修正し、独自のバッファがいっぱいになったときにのみデータをアプリに渡すことを妨げるものは何もありません。