『QQ:1353814576』

C# NAudio 实现剪切MP3音乐铃声


C# 使用NAudio 第三方库实现裁剪mp3音乐好听的片段 (可以做为手机铃声)

1.引用NAudio 库 (网络下载NAudio.dll项目引用 或者NuGet直接安装引用)

2.代码如下

/// <summary>
/// 截切mp3片段
/// </summary>
/// <param name="filePath">音频文件</param>
/// <param name="outputPath">输出位置</param>
/// <param name="start">开始时间/秒</param>
/// <param name="end">结束时间/秒</param>
void CutMp3(string filePath, string outputPath, int start, int end)
{
            var s = TimeSpan.FromSeconds(start);
            var e = TimeSpan.FromSeconds(end);
            try
            {
                //读取mp3音频文件
                using (var reader = new Mp3FileReader(filePath))
                {
                    //创建输出剪辑文件
                    using (var writer = File.Create(outputPath))
                    {
                        Mp3Frame frame;
                        //遍历音频每一帧
                        while ((frame = reader.ReadNextFrame()) != null)
                            if (reader.CurrentTime >= s)
                            {
                                if (reader.CurrentTime <= e)
                                {
                                    //时间数值属于音频时长正常范围 写入文件
                                    writer.Write(frame.RawData, 0, frame.RawData.Length);
                                }
                                else
                                {
                                    //超出音频时间范围跳出
                                    break;
                                }
                            }
                    }
                }
            }
            catch (Exception ex) { 

            }
}

3.方法调用例子

CutMp3("d://C哩C哩.mp3", "d://C哩C哩_剪切片段.mp3", 2, 10);