本文整理汇总了C#中IWaveSource.ToMono方法的典型用法代码示例。如果您正苦于以下问题:C# IWaveSource.ToMono方法的具体用法?C# IWaveSource.ToMono怎么用?C# IWaveSource.ToMono使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IWaveSource
的用法示例。
在下文中一共展示了IWaveSource.ToMono方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: openToolStripMenuItem_Click
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
var openFileDialog = new OpenFileDialog()
{
Filter = CodecFactory.SupportedFilesFilterEn,
Title = "Select a file..."
};
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
Stop();
const FftSize fftSize = FftSize.Fft4096;
IWaveSource source = CodecFactory.Instance.GetCodec(openFileDialog.FileName);
var spectrumProvider = new BasicSpectrumProvider(source.WaveFormat.Channels,
source.WaveFormat.SampleRate, fftSize);
_lineSpectrum = new LineSpectrum(fftSize)
{
SpectrumProvider = spectrumProvider,
UseAverage = true,
BarCount = 50,
BarSpacing = 2,
IsXLogScale = true,
ScalingStrategy = ScalingStrategy.Sqrt
};
_voicePrint3DSpectrum = new VoicePrint3DSpectrum(fftSize)
{
SpectrumProvider = spectrumProvider,
UseAverage = true,
PointCount = 200,
IsXLogScale = true,
ScalingStrategy = ScalingStrategy.Sqrt
};
var notificationSource = new SingleBlockNotificationStream(source.ToSampleSource());
notificationSource.SingleBlockRead += (s, a) => spectrumProvider.Add(a.Left, a.Right);
_source = notificationSource.ToWaveSource(16);
_soundOut = new WasapiOut();
_soundOut.Initialize(_source.ToMono());
_soundOut.Play();
timer1.Start();
propertyGridTop.SelectedObject = _lineSpectrum;
propertyGridBottom.SelectedObject = _voicePrint3DSpectrum;
}
}