public static bool ExtractAudioSegment(TASK Task) { try { Task.STATUS = (int)EnumManager.PARAM_TASK_STATUS.EN_COURS; Task.DATE_BEGIN_CONVERSION = DateTime.Now; string fileName = GetFileName(Task); CopyFileInTempFolder(fileName, Task); new TASK_Service().UpdateTask(Task); VideoFile VideoFile = new VideoFile(Task.FILE_URL_TEMP); VideoFile.GetVideoInfo(); // On set le debut du premier split TimeSpan begin = new TimeSpan(0); // on récupère la durée totale de la video long durationTotal = VideoFile.Duration.Ticks; int count = (fileName.LastIndexOf('.') + 1); fileName = fileName.Substring(0, count); Task.FILE_URL_DESTINATION = destinationFolder + @"\" + fileName + Task.FORMAT.FORMAT_NAME; // A voir pour l'extraction d'un morceau de son particulier VideoFile.ExtractAudioSegment(begin.Ticks, durationTotal, Task.FORMAT.FORMAT_NAME, Task.FILE_URL_DESTINATION); Task.STATUS = (int)EnumManager.PARAM_TASK_STATUS.EFFECTUE; Task.DATE_END_CONVERSION = DateTime.Now; new TASK_Service().UpdateTask(Task); return(true); } catch (Exception e) { Task.STATUS = (int)EnumManager.PARAM_TASK_STATUS.ERREUR; Task.DATE_END_CONVERSION = DateTime.Now; new TASK_Service().UpdateTask(Task); var trace = new TRACE() { FK_ID_TASK = Task.PK_ID_TASK, DATE_TRACE = DateTime.Now, NOM_SERVER = System.Environment.MachineName, DESCRIPTION = e.Message + " " + e.InnerException, METHOD = "Erreur lors de l'extraction audio", TYPE = "ERROR" }; new TRACE_Service().AddTrace(trace); return(false); } }