好的,我知道对于一些人来说,这似乎是一个非常简单的问题,但我真的卡在这里了。实际上,我正在使用Naudio构建音频播放器,我意识到在许多教程中,人们总是展示简单的方法来让你开始。然而,在我看来,他们总是忘记展示如何在实际应用中完成任务。例如,在使用 Naudio 播放音乐时,我会做出以下操作:
Void PlayAudioMusic(string FilePath)
{
using (var ms = File.OpenRead(FilePath))
using (var rdr = new Mp3FileReader(ms))
using (var wavStream = WaveFormatConversionStream.CreatePcmStream(rdr))
using (var baStream = new BlockAlignReductionStream(wavStream))
using (var waveOut = new WaveOut(WaveCallbackInfo.FunctionCallback()))
{
waveOut.Init(baStream);
waveOut.Play();
}
}
这对于在简单的控制台应用程序中进行测试非常有用。然而,如果你真的正在构建一个严肃的应用程序,这是没有用处的。例如,许多教程从来没有说过最关键的事情,比如:
- 处理资源的释放和何时释放
- 处理不同异常的最佳方法
- 在暂停、停止、倒带甚至退出应用程序之前要做什么
- 其他我甚至不知道存在的东西。由于我正在经历这个过程,并注意到我的应用程序抛出了太多的异常,有人能分享一下他用来处理这个问题的 Naudio 包装类吗?我相信这将回答我们中的许多人在尝试使用 Naudio 时遇到的问题。