예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
            }
        }
예제 #3
0
        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);
            }
        }