微软虚拟学院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("\r\n[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 = "\r\n" + 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影音上,哦了,搞定

 

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM