本文整理汇总了C#中NAudio.Wave.BufferedWaveProvider.ToSampleProvider方法的典型用法代码示例。如果您正苦于以下问题:C# BufferedWaveProvider.ToSampleProvider方法的具体用法?C# BufferedWaveProvider.ToSampleProvider怎么用?C# BufferedWaveProvider.ToSampleProvider使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NAudio.Wave.BufferedWaveProvider
的用法示例。
在下文中一共展示了BufferedWaveProvider.ToSampleProvider方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Play
public void Play()
{
asioOut = new AsioOut(settings.DeviceNumber);
inputAudioBufferedWaveProvider = new BufferedWaveProvider(WaveFormat.CreateIeeeFloatWaveFormat(Convert.ToInt32(settings.SampleRate), 1));
incomingAudioBufferedWaveProvider = new BufferedWaveProvider(WaveFormat.CreateIeeeFloatWaveFormat(Convert.ToInt32(settings.SampleRate), 1));
inputAudioPanningProvider = new PanningSampleProvider(inputAudioBufferedWaveProvider.ToSampleProvider());
incomingAudioPanningProvider = new PanningSampleProvider(incomingAudioBufferedWaveProvider.ToSampleProvider());
inputAudioPanningProvider.Pan = 0.0f;
mixingProvider = new MixingSampleProvider(WaveFormat.CreateIeeeFloatWaveFormat(Convert.ToInt32(settings.SampleRate), 2));
mixingProvider.AddMixerInput(inputAudioPanningProvider);
mixingProvider.AddMixerInput(incomingAudioPanningProvider);
mixingProvider.ReadFully = true;
asioOut.InitRecordAndPlayback(new SampleToWaveProvider(mixingProvider), 2, Convert.ToInt32(settings.SampleRate));
incomingBytes = new byte[Settings.GetInstance().BufferSize * 4];
asioOut.AudioAvailable += AsioOut_AudioAvailable;
asioOut.Play();
connection.Connected += delegate (object source, EventArgs args)
{
inputAudioPanningProvider.Pan = +1.0f;
incomingAudioPanningProvider.Pan = -1.0f;
isAudioReceiving = true;
isNewAudioAvailable = false;
receivingAudio.Start();
};
connection.Disconnected += delegate (object source, EventArgs args)
{
inputAudioPanningProvider.Pan = 0.0f;
isAudioReceiving = false;
};
connection.StartMessageReceiving();
}
示例2: DecompressFrame
private int DecompressFrame(Mp3Frame frame, byte[] buffer)
{
// decode frame
if (_decompressor == null)
{
WaveFormat waveFormat = new Mp3WaveFormat(frame.SampleRate, frame.ChannelMode == ChannelMode.Mono ? 1 : 2, frame.FrameLength, frame.BitRate);
_decompressor = new AcmMp3FrameDecompressor(waveFormat);
_waveProvider = new BufferedWaveProvider(_decompressor.OutputFormat);
_waveProvider.BufferDuration = TimeSpan.FromSeconds(5);
_channels = _waveProvider.WaveFormat.Channels;
_sampleProvider = _waveProvider.ToSampleProvider();
}
return _decompressor.DecompressFrame(frame, buffer, 0);
}