public static void SplitWav(string fileName) { string outputPath = fileName.Remove(fileName.Length - Path.GetFileName(fileName).Length); try { long bytesTotal = 0; var splitter = new WavFileSplitter( value => Console.Write(string.Format("\rProgress: {0:0.0}%", value))); var sw = Stopwatch.StartNew(); bytesTotal = splitter.SplitWavFile(fileName, outputPath, CancellationToken.None); sw.Stop(); Console.Write(Environment.NewLine); Console.WriteLine( string.Format( "Data bytes processed: {0} ({1} MB)", bytesTotal, Math.Round((double)bytesTotal / (1024 * 1024), 1))); Console.WriteLine(string.Format("Elapsed time: {0}", sw.Elapsed)); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } }
static void Main(string[] args) { string fileName = string.Empty; string outputPath = string.Empty; if (args.Count() == 1) { fileName = args[0]; outputPath = fileName.Remove(fileName.Length - Path.GetFileName(fileName).Length); } else if (args.Count() == 2) { fileName = args[0]; outputPath = args[1]; } else { var v = Assembly.GetExecutingAssembly().GetName().Version; WriteLine( string.Format( "SimpleWavSplitterConsole v{0}.{1}.{2}", v.Major, v.Minor, v.Build)); Write(Environment.NewLine); WriteLine("Usage:"); WriteLine("SimpleWavSplitter.Console <file.wav> [<OutputPath>]"); Environment.Exit(-1); } try { long bytesTotal = 0; var splitter = new WavFileSplitter( value => Write(string.Format("\rProgress: {0:0.0}%", value))); var sw = Stopwatch.StartNew(); bytesTotal = splitter.SplitWavFile(fileName, outputPath, CancellationToken.None); sw.Stop(); Write(Environment.NewLine); WriteLine( string.Format( "Data bytes processed: {0} ({1} MB)", bytesTotal, Round((double)bytesTotal / (1024 * 1024), 1))); WriteLine(string.Format("Elapsed time: {0}", sw.Elapsed)); Environment.Exit(0); } catch (Exception ex) { WriteLine(ex.Message); WriteLine(ex.StackTrace); Environment.Exit(-1); } }
private void SplitWav(string fileName) { var outputPath = fileName.Remove(fileName.Length - Path.GetFileName(fileName).Length); try { long bytesTotal = 0; var splitter = new WavFileSplitter(value => _logger.LogInformation(string.Format("Progress: {0:0.0}%", value))); var sw = Stopwatch.StartNew(); bytesTotal = splitter.SplitWavFile(fileName, outputPath, CancellationToken.None); sw.Stop(); var message = $"Data bytes processed: {bytesTotal} ({Math.Round((double)bytesTotal / (1024 * 1024), 1)} MB)\r\nElapsed time: {sw.Elapsed}"; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(message)); _logger.LogInformation(message); } catch (Exception ex) { var errorMessage = $"Problem splitting {fileName}."; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(errorMessage)); _logger.LogError(ex, errorMessage); } }