微軟虛擬學院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