修剪mp3文件使用NAudio

本文关键字:NAudio 文件 mp3 修剪 | 更新日期: 2023-09-27 18:12:37

是否可以使用NAudio来修剪MP3文件?我正在寻找一种方法来采取一个标准的mp3文件,并采取它的一部分,使其成为一个单独的mp3

修剪mp3文件使用NAudio

安装NAudio from Nuget:

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;
        }
    }
}

幸福的轨迹。

是的,MP3文件是MP3帧的序列,所以您可以简单地从开始或结束删除帧来修剪文件。NAudio可以解析MP3帧