• 微软虚拟学院MVA 字幕获取方法


    微软虚拟学院(MVA)上有一些不错的视频教程,但是,蛋疼的一点那就是视频要不就慢,要不就卡,总之当你的思维跟着视频深入的时候,duang~,卡一下,说不定就要重头开始,所幸的是提供了视频下载,下载速度还不错。

    30分钟后,下好了,打开一看,又蛋疼了,没有字幕呀,人家也没提供字幕下载,并且在MVA论坛上,大家都对下载的视频没有字幕提出了意见,可人家不爱理怎么破,好吧,想办法。

    字母也是一种资源,那么打开控制台看一下吧,居然还真有

    拷贝下来,存为srt格式,直接丢到QQ影音上,字幕加载失败,原来文件开头多了这么一句“WEBVTT”,删除之,继续丢到QQ影音上,加载成功了,但是没有显示出来,这是怎么回事?继续百度Srt格式,好吧,时间线前面少了序号,应该加入1,2,3,4.。。,可是这么多行不可能手动加呀,自然就想到了用程序,只要在时间的每行前面加一个序号就可以了,思路是这样的

    观察时间,发现我们要插入的位置可以用正则表达式来选择,然后替换的时候,前面加一行序号就ok了,下面直接上代码了

    class Program
        {
            static void Main(string[] args)
            {
                using (StreamReader fs = new StreamReader("zimu.srt",Encoding.Default))
                {
                    string data = fs.ReadToEnd();
    
                    Regex regex=new Regex("
    [0-9][0-9]:[0-9][0-9]:[0-9][0-9].[0-9][0-9][0-9]");
    
                    var matches = regex.Matches(data);
    
                    int i = 1;
    
                    foreach (Match match in matches)
                    {
                        var oldValue = match.Groups["0"].Value;
    
                        var newValue = "
    " + i + oldValue;
    
                        i++;
    
                        data = data.Replace(oldValue, newValue);
                    }
    
                    Console.WriteLine(data);
    
                    using (FileStream fs2 = new FileStream("newzimu.srt", FileMode.OpenOrCreate))
                    {
                        byte[] bytes = Encoding.Default.GetBytes(data);
    
                        fs2.Write(bytes,0,bytes.Length);
                    }
                }
            }
        }

    将转换出来的文件丢到QQ影音上,哦了,搞定

    希望大家多多传播,让更多的人知道这个方法,系统全面的学习知识。

  • 相关阅读:
    第一周作业
    C语言I博客作业08
    十四周助教总结
    十三周助教总结
    C语言I博客作业07
    C语言II博客作业01
    学期总结
    C语言I博客作业08(未完成)
    C语言I博客作业07
    C语言I博客作业06
  • 原文地址:https://www.cnblogs.com/HelloMyWorld/p/4357515.html
Copyright © 2020-2023  润新知