private async void SaveButton_Click(object sender, RoutedEventArgs e) { if (Subtitle != null) { var picker = new FileSavePicker() { SuggestedStartLocation = PickerLocationId.VideosLibrary, SuggestedFileName = "新建字幕文件" }; if (_openedFile != null) { picker.SuggestedFileName = _openedFile.DisplayName; } picker.FileTypeChoices.Add("SubRip", new List <string>() { ".srt" }); picker.FileTypeChoices.Add("Advanced SubStation Alpha", new List <string>() { ".ass", ".ssa" }); var file = await picker.PickSaveFileAsync(); if (file != null) { SubRipParser subRipParser = new SubRipParser(); var subtitleString = subRipParser.SaveToString(Subtitle); await FileIO.WriteTextAsync(file, subtitleString, Windows.Storage.Streams.UnicodeEncoding.Utf8); } } }
private async void OpenSubFile(StorageFile file) { if (file != null) { using (var stream = await file.OpenReadAsync()) //using (var streamReader = new StreamReader(stream.AsStreamForRead(), true)) //{ // _openedFile = file; // var content = await streamReader.ReadToEndAsync().ConfigureAwait(true); // SubRipParser subRipParser = new SubRipParser(); // Subtitle = subRipParser.LoadFromString(content); // DialoguesViewModel.LoadSubtitle(Subtitle); // //修改选中编码 // EncodingsBox.SelectedItem = streamReader.CurrentEncoding.EncodingName; //} { _openedFile = file; SubRipParser subRipParser = new SubRipParser(); Subtitle = subRipParser.LoadFromStream(stream.AsStream(), Encoding.UTF8); DialoguesViewModel.LoadSubtitle(Subtitle); //修改选中编码 //EncodingsBox.SelectedItem = streamReader.CurrentEncoding.EncodingName; } OperationRecorderViewModel.LoadRecorder(DialoguesViewModel.OperationRecorder); } }
public void test_GetEnd() { var end = new SubRipParser().GetEnd("00:40:43,884 --> 00:40:46,786"); Assert.That(end, Is.EqualTo(new TimeSpan(0, 0, 40, 46, 786))); }
public void test_GetBegin() { var begin = new SubRipParser().GetBegin("00:40:43,884 --> 00:40:46,786"); Assert.That(begin, Is.EqualTo(new TimeSpan(0, 0, 40, 43, 884))); }