3

我在一个使用 C# 的 ASP.NET 项目中。用户可以上传他们的 MP3(我无法控制编码)并指定样本大小和样本起点。保存时,系统需要根据提供的信息创建此 MP3 的样本。

所以问题是:如何在 ASP.NET + C# 中裁剪 mp3?

4

2 回答 2

3

虽然您可以使用 .NET 音频库来执行此操作,但我认为最简单的方法是运行类似的命令FFMpegMPlayer为您进行裁剪,然后将文件发送回线路。

例如,使用 FFMpeg,您可以执行以下操作(从此处裁剪到第 90 秒):

ffmpeg -ss 90 -i 输入.mp3 输出.mp3

要启动 FFMpeg,请使用以下内容:

System.Diagnostics.Process p = new System.Diagnostics.Process();
Response.Write("Cutting MP3...");
Response.Flush();
p.StartInfo = new System.Diagnostics.ProcessStartInfo("ffmpeg.exe", "-s 90 -i " + inputFile + " " + outputFile);
p.Start();
p.WaitForExit();
Response.Write("Done");

唯一的问题是它需要相当长的时间并且很难将进度报告给用户。

于 2009-09-06T22:01:21.473 回答
0

您可以使用 MP3 帧头分割文件。使用简单的蛮力搜索,您可以将文件拆分为单独的帧并创建一个新的 MP3,只要您愿意。

MP3 格式

于 2009-09-06T22:05:23.117 回答