C# NAudio获取mp3时长和大小
使用NAudio 获取mp3 时长以及大小
1.引用NAudio 库 (网络下载NAudio.dll项目引用 或者NuGet直接安装引用)
2.代码如下
public class Mp3File
{
/// <summary>
/// Mp3文件地址
/// </summary>
/// <param name="fileName"></param>
public Mp3File(string fileName)
{
using (Mp3FileReader mp3FileReader = new Mp3FileReader(fileName))
{
Duration = mp3FileReader.TotalTime;
mp3FileReader.Dispose();
}
FileInfo fileInfo = new FileInfo(fileName);
FileSize = this.SizeFormat(fileInfo.Length);
}
/// <summary>
/// 时长
/// </summary>
public TimeSpan Duration
{
get; private set;
}
/// <summary>
/// 大小
/// </summary>
public string FileSize
{
get; private set;
}
const int GB = 1024 * 1024 * 1024;
const int MB = 1024 * 1024;
const int KB = 1024;
//文件大小单位转换
string SizeFormat(long len)
{
if (len / GB >= 1)
{
return Math.Round(len / (float)GB, 2)+" GB";
}
if (len / MB >= 1)
{
return Math.Round(len / (float)MB, 2) + " MB";
}
if (len / KB >= 1)
{
return Math.Round(len / (float)KB, 2)+" KB";
}
return "--";
}
}
//调用例子
///解析时长
Mp3File mp3File = new Mp3File("mp3文件地址");
mp3File.FileSize //文件大小
mp3File.Duration //音频时长