是否可以使用NAudio修剪MP3文件?我正在寻找一种方法来获取一个标准的mp3文件,并采取一部分,并使其成为一个单独的MP3。
答案 0 :(得分:10)
从Nuget安装NAudio:
PM> Install-Package NAudio
添加using NAudio.Wave;
并使用以下代码:
void Main()
{
var mp3Path = @"C:\Users\Ronnie\Desktop\podcasts\hanselminutes_0350.mp3";
var outputPath = Path.ChangeExtension(mp3Path,".trimmed.mp3");
TrimMp3(mp3Path, outputPath, TimeSpan.FromMinutes(2), TimeSpan.FromMinutes(2.5));
}
void TrimMp3(string inputPath, string outputPath, TimeSpan? begin, TimeSpan? end)
{
if (begin.HasValue && end.HasValue && begin > end)
throw new ArgumentOutOfRangeException("end", "end should be greater than begin");
using (var reader = new Mp3FileReader(inputPath))
using (var writer = File.Create(outputPath))
{
Mp3Frame frame;
while ((frame = reader.ReadNextFrame()) != null)
if (reader.CurrentTime >= begin || !begin.HasValue)
{
if (reader.CurrentTime <= end || !end.HasValue)
writer.Write(frame.RawData,0,frame.RawData.Length);
else break;
}
}
}
快乐的小道。
答案 1 :(得分:2)
是的,MP3文件是一系列MP3帧,因此您只需从开头或结尾删除帧即可修剪文件。 NAudio可以解析MP3帧。
有关详细信息,请参阅this question。