C# 如何通过.NET/C获取mp3文件的持续时间?

C# 如何通过.NET/C获取mp3文件的持续时间?,c#,.net,mp3,C#,.net,Mp3,我需要创建一个mp3歌曲的M3U播放列表 有没有办法读取MP3文件的持续时间属性?不要重新发明轮子。使用NAudio这样的外部库来完成这项艰巨的工作 可从GitHub获得 您可以这样使用它: Mp3FileReader reader = new Mp3FileReader("<YourMP3>.mp3"); TimeSpan duration = reader.TotalTime; Mp3FileReader=新的Mp3FileReader(“.mp3”);

我需要创建一个mp3歌曲的M3U播放列表


有没有办法读取MP3文件的持续时间属性?

不要重新发明轮子。使用NAudio这样的外部库来完成这项艰巨的工作

  • 可从GitHub获得
您可以这样使用它:

Mp3FileReader reader = new Mp3FileReader("<YourMP3>.mp3");
TimeSpan duration = reader.TotalTime;
Mp3FileReader=新的Mp3FileReader(“.mp3”);
TimeSpan持续时间=reader.TotalTime;

当然,另一种选择是。

谢谢大家的帮助

我尝试使用TagLib,效果很好

TagLib.File f = TagLib.File.Create(<pathToFile>, TagLib.ReadStyle.Average);
var duration = (int)f.Properties.Duration.TotalSeconds;
TagLib.File f=TagLib.File.Create(,TagLib.ReadStyle.Average);
var duration=(int)f.Properties.duration.TotalSeconds;

我们是在这里为您搜索的,还是您自己真的进行过研究和尝试?以防您不知道。
有没有办法读取MP3文件的持续时间属性?
有!TagLib的duration属性有一个bug,可能重复。大多数情况下,实际时间仅为标记库的70%duration@StartCoding~z~谢谢你的警告。我决定改用
NReco.VideoInfo
。它从
ffmpeg
工具箱中包装
ffprobe
。如果一个人正在做大量的视频工作,
ffmpeg
已经在他的系统路径中。