C# から Windows のオーディオ ミキサーにアクセスする方法を示すリンクを次に示します。
http://www.codeguru.com/csharp/csharp/cs_graphics/sound/article.php/c10931
これにより、マイクのゲインとシステムの音量を設定できます。ただし、最初の部分はもう少し複雑です。基本的に、入力の記録を開始する必要があります (DirectSound または waveInXXXX API [私の個人的なお気に入り] を使用)。各バッファがオーディオでいっぱいになると、バッファの二乗平均平方根を計算し、これを使用して音量を見積もることができます。
編集: waveInXXXX API を使用してオーディオを録音する方法を示すプロジェクトへのリンク (私が使用して正常に変更したので、動作することがわかっています) は次のとおりです。
http://www.codeproject.com/KB/audio-video/cswavrec.aspx?df=90&fid=16677&mpp=25&noise=3&sort=Position&view=Quick&select=3005817
編集2:リンクを投稿するのにうんざりしているので、オーディオバッファの二乗平均平方根を計算するための実際の式を次に示します(ここのタイプはfloat []ですが、short []を処理するように簡単に変更できます。通常は waveInXXXX から取得するもの):
public static float RootMeanSquared(ref float[] audio)
{
double sumOfSquared = 0;
for (int i = 0; i < audio.Length; i++)
{
sumOfSquared += audio[i] * audio[i];
}
return (float)Math.Sqrt(sumOfSquared / (double)audio.Length);
}