【问题标题】:How to crop a mp3 in ASP.NET + C#?如何在 ASP.NET + C# 中裁剪 mp3?
【发布时间】:2010-11-26 02:06:20
【问题描述】:

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

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

【问题讨论】:

    标签: c# asp.net file mp3 crop


    【解决方案1】:

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

    例如,使用 FFMpeg,您可以执行以下操作(从 here 裁剪到第 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");
    

    唯一的问题是它需要很长时间,而且很难向用户报告进度。

    【讨论】:

    • 非常感谢,这真的很有帮助!我想我可以将它作为服务器上某处的线程运行,因为用户不需要知道它何时结束。设置 FFMpeg 有多复杂?
    • 您需要做的主要事情是下载ffmpeg.exe 并将其放在某个方便的文件夹中。然后只需将示例中的ffmpeg.exe 替换为您放置EXE 的路径即可。它基本上是一个 EXE,IIRC 是一个 DLL。最大的问题实际上是获取正确的命令行参数,因为 FFMpeg 是一个 huge 程序 - 当我使用它时,我花了很多时间浏览手册页。
    • 谢谢,我会试试这个。如果可行,我会接受这个答案
    • 成功了,谢谢。我遇到了一些问题,在这里解决:stackoverflow.com/questions/1390559/…stackoverflow.com/questions/1390731/…
    • 整洁。我认为这个问题似乎有点熟悉......:D
    【解决方案2】:

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

    MP3 Format

    【讨论】:

      猜你喜欢
      • 2012-04-18
      • 1970-01-01
      • 2022-01-23
      • 2010-09-07
      • 2021-04-26
      • 1970-01-01
      • 2015-08-29
      • 2019-03-12
      • 1970-01-01
      相关资源
      最近更新 更多