私はC#を使用しているASP.NETプロジェクトに参加しています。ユーザーはMP3をアップロードして(私はエンコーディングを制御できません)、サンプルサイズとサンプル開始点を指定できます。保存時に、システムは提供された情報に基づいてこのMP3のサンプルを作成する必要があります。
したがって、問題は次のとおりです。ASP.NET+ C#でmp3をIcropするにはどうすればよいですか?
.NETオーディオライブラリを使用してこれを行うこともできますが、これを行う最も簡単な方法は、FFMpeg
またはのようなコマンドを実行MPlayer
してから、ファイルを行に送り返すことだと思います。
たとえば、FFMpegを使用すると、次のようなことができます(ここから90秒までトリミングされます)。
ffmpeg -ss 90 -i input.mp3 output.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");
唯一の問題は、かなり時間がかかり、進行状況をユーザーに報告するのが難しいことです。
MP3フレームヘッダーを使用してファイルを分割できます。単純なブルートフォース検索を使用して、ファイルを個別のフレームに分割し、必要な長さの新しいMP3を作成できます。