是的,这是this question的完全重复,但是给出并接受为答案的链接对我不起作用。它返回的值不正确(2分钟mp3将被列为1'30,3分钟将被列为2'20),并且没有明显的模式。

所以这又是:如何使用C#获得MP3的长度?

或者

我对MP3Header class做错了什么:

MP3Header mp3hdr = new MP3Header();
bool boolIsMP3 = mp3hdr.ReadMP3Information("1.mp3");
if(boolIsMP3)
  Response.Write(mp3hdr.intLength);

最佳答案

显然,此类使用fileSize/bitRate计算持续时间。这仅适用于恒定比特率,并且我假设您的MP3具有可变的bitRate ...

编辑:看看TagLib Sharp,它可以给你持续时间

09-13 11:16