我玩过 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”演示中,但它被忽略了——这意味着我将值放在 Volume 中,但没有任何变化。
是否可以放大来自麦克风的音频?如果是这样,有人可以显示示例代码片段吗?我在网上查过,但似乎找不到。