0

是否可以捕获 16000 kHz 的采样率而不是 48000 kHz?目前,下面的代码捕获 48000 kHz 采样率。

var outputFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "NAudio");
Directory.CreateDirectory(outputFolder);
var outputFilePath = Path.Combine(outputFolder, "recorded.wav");
var capture = new WasapiLoopbackCapture();
var writer = new WaveFileWriter(outputFilePath, capture.WaveFormat);

var sampleRate = capture.WaveFormat.SampleRate;     <--- this returns 48000, but I need 16000

capture.DataAvailable += (s, a) =>
{
   
    writer.Write(a.Buffer, 0, a.BytesRecorded);
    if (writer.Position > capture.WaveFormat.AverageBytesPerSecond * 20)
    {
        capture.StopRecording();
    }
};
4

0 回答 0