How to play ISampleProvider

本文关键字:ISampleProvider play to How | 更新日期: 2023-09-27 17:56:35

我想将ISampleProvider转换为WaveStream,以便能够播放它。我该怎么做?

ISampleProvider mySamples = new mySampleProvider();
IWavePlayer mySpeaker = new WaveOut();
//Convert ISampleProvider to WaveStream Here
mySpeaker.Init(mySamples);
mySpeaker.Play();

其中 mySampleProvider 是从ISampleProvider继承但没有WaveStream作为基类的类。

How to play ISampleProvider

最新的 NAudio 在 IWavePlayer.Init 上有一个扩展方法,因此您的代码应该编译。您使用的是哪个版本的 NAudio?

此外,您无需将WaveStream传递给Init - 所需要的只是一个IWaveProvider

要将自己从ISampleProvider转换为IWaveProvider请使用SampleToWaveProviderSampleToWaveProvider16,它们也可以同时转换为16位和剪辑。