我在C#应用程序中使用NAudio库。我正在尝试将音频(* .mp3文件)定位到我想要的位置。
但是我不知道该怎么做。

//Play the file starting from 16th second
waveStream.Seek(16, SeekOrigin.Begin);

而且...演奏几乎从头开始,但不是从第16秒开始。我还找到了我认为正确的解决方案:
waveStream.Seek(waveStream.WaveFormat.AverageBytesPerSecond * 16, SeekOrigin.Begin);

似乎更接近事实了。我的决心是真的吗?如果没有,我该怎么办?

最佳答案

您可以直接在Position上设置WaveStream,必须将其转换为字节偏移量-因此,是的,将每秒的平均字节数乘以秒数将使您到达正确的位置(至少对于常规PCM WAV文件而言)。 WaveStream还具有一个名为CurrentTime的帮助程序属性,允许您使用TimeSpan,并且为您执行相同的计算。

09-10 03:34