/// <summary> /// Prepare an audio file. This will be a single segment of a larger audio file, modified based on the analysisSettings. /// </summary> /// <param name="outputDirectory"> /// The analysis Base Directory. /// </param> /// <param name="source"> /// The source audio file. /// </param> /// <param name="outputMediaType"> /// The output Media Type. /// </param> /// <param name="request"> /// The request. /// </param> /// <returns> /// The prepared file. /// </returns> public static AudioUtilityModifiedInfo PrepareFile( DirectoryInfo outputDirectory, FileInfo source, string outputMediaType, AudioUtilityRequest request, DirectoryInfo temporaryFilesDirectory, bool oldFormat = true) { var outputFileName = GetFileName( source.Name, outputMediaType, request.OffsetStart, request.OffsetEnd, oldFormat: oldFormat); var outputFile = new FileInfo(Path.Combine(outputDirectory.FullName, outputFileName)); return(PrepareFile(source, outputFile, request, temporaryFilesDirectory)); }
/// <summary> /// The prepare file. /// </summary> /// <param name="request"> /// The request. /// </param> public static AudioUtilityModifiedInfo PrepareFile(FileInfo sourceFile, FileInfo outputFile, AudioUtilityRequest request, DirectoryInfo temporaryFilesDirectory) { var audioUtility = new MasterAudioUtility(temporaryFilesDirectory); var sourceMimeType = MediaTypes.GetMediaType(sourceFile.Extension); var outputMimeType = MediaTypes.GetMediaType(outputFile.Extension); string outputDirectory = Path.GetDirectoryName(outputFile.FullName); if (!Directory.Exists(outputDirectory)) { Directory.CreateDirectory(outputDirectory); } audioUtility.Modify( sourceFile, sourceMimeType, outputFile, outputMimeType, request); var result = new AudioUtilityModifiedInfo { TargetInfo = audioUtility.Info(outputFile), SourceInfo = audioUtility.Info(sourceFile), }; return(result); }