示例#1
0
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("请输入要转换的 srt 文件.");
                return;
            }

            var fileName = args[0];

            if (!File.Exists(fileName))
            {
                Console.WriteLine("文件不存在");
                return;
            }

            var srtdata = new SrtManagerT <Battuta>().LoadBattuteByFile(fileName);

            var bilibili = new BilibiliSrtFile();

            bilibili.font_size        = 0.4;
            bilibili.font_color       = "#FFFFFF";
            bilibili.background_alpha = 0.5;
            bilibili.background_color = "#9C27B0";
            bilibili.Stroke           = "none";
            bilibili.body             = new List <BilibiliSrtFile.Battuta>();

            foreach (var item in srtdata)
            {
                bilibili.body.Add(new BilibiliSrtFile.Battuta
                {
                    from     = item.FromSec,
                    to       = item.ToSec,
                    content  = item.Text,
                    location = 2,
                });
            }
            var fi            = new FileInfo(fileName);
            var ex            = fi.Extension;
            var writeFileName = fileName.Replace(ex, ".bcc");

            var json  = JsonConvert.SerializeObject(bilibili, Formatting.Indented);
            var bytes = Encoding.UTF8.GetBytes(json);

            File.WriteAllBytes(writeFileName, bytes);
        }
示例#2
0
        public IActionResult YoutubeSrtFileToBilibliFile(IFormCollection files)
        {
            if (files.Files.Count == 0)
            {
                return(Json("no file."));
            }

            var file = files.Files[0];

            using (var stream = file.OpenReadStream())
            {
                var bytes = new byte[file.Length];
                stream.Read(bytes, 0, (int)file.Length);

                var lines    = Encoding.UTF8.GetString(bytes).Split(@"\n");
                var battutes = new SrtManagerT <Battuta>().LoadBattute(lines);

                var bilibili = new BilibiliSrtFile();
                bilibili.font_size        = 0.4;
                bilibili.font_color       = "#FFFFFF";
                bilibili.background_alpha = 0.5;
                bilibili.background_color = "#9C27B0";
                bilibili.Stroke           = "none";
                bilibili.body             = new List <BilibiliSrtFile.Battuta>();

                foreach (var item in battutes)
                {
                    bilibili.body.Add(new BilibiliSrtFile.Battuta
                    {
                        from     = item.FromSec,
                        to       = item.ToSec,
                        content  = item.Text,
                        location = 2,
                    });
                }

                var json = JsonConvert.SerializeObject(bilibili);
                bytes = Encoding.UTF8.GetBytes(json);

                return(File(bytes, "text/json", "(b站格式)" + file.FileName.Replace(".srt", ".bcc")));
            }
        }