如何在c#中采样音频?

如何在c#中采样音频?,c#,audio,signal-processing,multimedia,naudio,C#,Audio,Signal Processing,Multimedia,Naudio,如何以特定的采样率对音频波进行采样,然后从音频波中获取值?我在我的项目中使用了accord.net平台、naudio.net和alvas.audio。如何对音频文件进行采样?我的项目的后期阶段涉及到歌曲、语音、沉默等的检测。如果您正在使用,您可以查看。它打开音频文件或捕获设备,并以给定的采样率从中读取数据。如果已经安装了框架,则“开始”菜单中应该有“示例应用程序”文件夹的快捷方式。否则,就是, 您很可能对示例应用程序中的以下部分感兴趣,第一部分打开计算机的麦克风: // Create cap

如何以特定的采样率对音频波进行采样,然后从音频波中获取值?我在我的项目中使用了accord.net平台、naudio.net和alvas.audio。如何对音频文件进行采样?我的项目的后期阶段涉及到歌曲、语音、沉默等的检测。如果您正在使用,您可以查看。它打开音频文件或捕获设备,并以给定的采样率从中读取数据。如果已经安装了框架,则“开始”菜单中应该有“示例应用程序”文件夹的快捷方式。否则,就是,

您很可能对示例应用程序中的以下部分感兴趣,第一部分打开计算机的麦克风:

  // Create capture device
  var source = new AudioCaptureDevice(); 
  source.DesiredFrameSize = 4096;
  source.SampleRate = 22050;   
  source.NewFrame += source_NewFrame;
  source.AudioSourceError += source_AudioSourceError;

  // Start
  source.Start();
或本节,从内存中读取音频流:

  var output = new AudioOutputDevice(this.Handle, decoder.SampleRate, decoder.Channels);
  output.NewFrameRequested += output_NewFrameRequested;
  output.Stopped += output_PlayingFinished;
  output.FramePlayingStarted += output_FramePlayingStarted;
  output.Play();

这个问题没有什么意义,当你从文件中读取音频时,它已经被采样了。无论是哪个应用程序编写的文件都会处理它。如何选择
DesiredFrameSize
SampleRate
的值?