Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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)));
        }
Esempio n. 4
0
        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)));
        }