我正在使用 NAudio 播放器,请参阅http://naudio.codeplex.com/wikipage?title=MP3。一切正常,但是当我编写一个显示当前时间和持续时间的轨迹栏时,甚至可以搜索歌曲的任何位置,所以我使用计时器来更新当前时间mainOutputStream.CurrentTime
,但是格式不好看,然后我像这样重新格式化它:
string curTime = mainOutputStream.CurrentTime.ToString();
string[] format = curTime.Split(':');
format[2] = format[2].Remove(2);
curTime = format[1] + format[2];
但format[2] = format[2].Remove(2);
总是返回错误。并且似乎没有办法在时间跨度上获得持续时间,但我不喜欢使用 averageBytePerSecond 或类似的东西,所以无论如何可以更简单更好地完成这些工作吗?
上述参考中的所有变量
谢谢。
编辑:问题解决了~我用了这个方法:
获取持续时间:
string duration = mainOutputStream.TotalTime.ToString("mm\\:ss");
trackPosition.Maximum = (int)mainOutputStream.TotalTime.TotalSeconds;
获取当前时间:
string curTime = mainOutputStream.CurrentTime.ToString("mm\\:ss");
trackPosition.Value = (int)mainOutputStream.CurrentTime.TotalSeconds;