マイクから録音し、他の PC で録音を再生できるアプリケーションを作成しようとしています。ただし、この時点では、自分のコンピューターで再生して、動作させることができるようにしたいと考えています。
私は過去数時間 NAudio を見てきましたが、この目標を達成するのに役立つようです。
他の誰かがこれを経験したことがあるかどうか、またそれが可能かどうか疑問に思っていますか?
ありがとう、スチュアート
これを行う codeproject のサンプル プロジェクトがあります:
http://www.codeproject.com/KB/cs/Streaming_wave_audio.aspx
レイテンシがどれだけ低いかわかりません。
コーデックとしては、Speex をお勧めします (少なくとも音声については)。無料のオープン ソースであり、低レイテンシと低帯域幅を提供します。
Bass Audio Libraryは、検討する価値のあるもう1つの確かなオプションです。
NAudio は、オーディオのキャプチャと再生の開始点としては優れていますが、Mark が指摘したように、レイテンシが問題になる可能性があります。
次のステップに進み、ネットワーク経由でオーディオ データを送信する場合は、PCM または WAV が圧縮されていないため、データを圧縮するためのコーデックが必要になります。音声の場合は、WAV に必要な帯域幅のごく一部しか必要としません。C# を使用しているため、 NSpeexと呼ばれる Speex の C# ポートが利用可能です。これは一見の価値があるかもしれません。
それは可能ですが、WaveIn/WaveOut で低レイテンシーが得られる可能性は低いです (WASAPI でより良い結果が得られる可能性があります)。(最新のソース コードで) BufferedWaveProviderを使用して、マイクから録音されたオーディオを保存し、出力をサウンドカードに供給することができます。