Хотя для этого можно использовать библиотеку аудио. NET, я думаю, что самый простой способ сделать это - запустить команду вроде FFMpeg
или MPlayer
, чтобы сделать обрезку для вас, а затем отправить файл обратно вниз линия.
Например, с FFMpeg, вы можете сделать что-то вроде этого (от here культур до 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");
Единственная проблема заключается в том, что это занимает довольно много времени, и трудно сообщить о прогрессе пользователю.
Большое спасибо, это действительно полезно! Думаю, я мог бы запустить его как нить где-то на сервере, так как пользователю не нужно знать, когда все закончится. Насколько сложно настроить FFMpeg? – marcgg
Главное, что вам нужно сделать, это скачать 'ffmpeg.exe' и поместить его в удобную папку где-нибудь. Затем просто замените файл 'ffmpeg.exe' в примере на путь, в который вы помещаете EXE. Это в основном один EXE и IIRC, DLL. Самая большая проблема состоит в том, чтобы получить правильные аргументы командной строки, поскольку FFMpeg - это * огромная * программа - когда я ее использовал, я потратил немало времени на просмотр страниц руководства. –
Спасибо, я попробую это. Если это сработает, я приму этот ответ – marcgg