예제 #1
0
        private async void ButtonExtractSrt_Click(object sender, RoutedEventArgs e)
        {
            this.InputFile = SelectFile(this.InputFile);
            if (string.IsNullOrWhiteSpace(this.InputFile))
            {
                return;
            }

            using (var ffmpeg = new FFmpeg(FFmpegFileName))
            {
                ffmpeg.OnProgress  += OnProgressEvent;
                ffmpeg.OnCompleted += OnCompletedEvent;
                ffmpeg.OnData      += (s, args) => { OutputText(args.Data); };

                OutputText("***Start extract srt");

                try
                {
                    await Task.Run(() => ffmpeg.ExtractSubtitle(this.InputFile, Path.ChangeExtension(InputFile, "srt"), 0));
                }
                catch (Exception ex)
                {
                    OutputText("!!!! Exception: " + ex.Message);
                }

                OutputText("***Ready extract srt");
            }
        }