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

BIK*_*TOP 0 .net c# mp3

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

有没有办法读取MP3文件的时长属性?

Fᴀʀ*_*ɴᴀᴍ 8

不要重新发明轮子。使用外部库(例如 NAudio)来完成繁重的工作。

  • NAudio可在 GitHub 上获得。

你可以这样使用它:

Mp3FileReader reader = new Mp3FileReader("<YourMP3>.mp3");
TimeSpan duration = reader.TotalTime;
Run Code Online (Sandbox Code Playgroud)

当然,另一种选择是这个答案


BIK*_*TOP 5

谢谢大家的帮助。

我尝试使用 TagLib,它工作正常。

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

  • TagLib 的持续时间属性存在错误。大多数情况下实际时间只有 taglibs 持续时间的 70% (4认同)