私は Naudio の例で遊んで、「WaveFileStream」関数を使用して開かれた WAV ファイルを増幅することができました。(コード例: AudioPlaybackPanel) これは正常に動作します:
後でチャネルにアクセスできるように、変数宣言を追加します。
SampleChannel waveFromFile;
そして、既存の関数では、次のように設定しました。
private ISampleProvider CreateInputStream(string fileName)
{
...
this.fileWaveStream = plugin.CreateWaveStream(fileName);
var waveChannel = new SampleChannel(this.fileWaveStream, true);
waveFromFile = waveChannel;
...
}
次に、AMPLIFY ボタンを追加すると、期待どおりに動作します。
float ampFactor = 1.0f;
private void ampButton_Click(object sender, EventArgs e)
{
ampFactor += 2;
if (ampFactor >= 9.0f)
ampFactor = 1.0f;
waveFromFile.Volume = ampFactor;
}
しかし、入力が WAV ファイルではなくマイクである場合、どうすればよいでしょうか?
NAudio の例を見て、このコードを "RecordingPanel" デモに追加しようとすると、無視されます。つまり、ボリュームに値を入れても変化はありません。
マイクから入ってくる音声を増幅することはできますか? もしそうなら、誰かがサンプルコードスニペットを見せてもらえますか? 私はオンラインで見ましたが、私はそれを見つけることができないようです。