我在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
,并且为您执行相同的计算。