微软虚拟学院(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 = ; foreach (Match match in matches)
{
var oldValue = match.Groups[""].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,,bytes.Length);
}
}
}
}

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

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

微软虚拟学院MVA 字幕获取方法的更多相关文章

  1. 看视频学SignalR—在微软虚拟学院学习SignalR

    SignalR把实时Web功能变得异常简单. 如果您希望在几个小时内对SignalR有一个直观的了解,观看微软虚拟学院(MVA)的视频教学Lighting Up Real-Time Web Commu ...

  2. 看视频学Bootstrap—在微软虚拟学院学习Bootstrap

    Bootstrap 是目前最流行的 HTML.CSS 和 JS 框架,用于开发响应式布局.移动设备优先的 WEB项目. 如果您希望在几个小时内对Bootstrap有一个直观的了解,观看微软虚拟学院(M ...

  3. 区域设置 ID (LCID) 表, 及获取方法

    区域设置 ID (LCID) 表, 及获取方法 中国的区域设置 ID 是 2052, 如果经常打开微软软件的安装目录应该经常见到.获取很简单, 有现成的 API 函数: GetThreadLocale ...

  4. 问题:MSChart.exe;结果:微软图表控件MsChart使用方法及各种插件下载地址

    微软图表控件MsChart使用方法及各种插件下载地址 (2012-08-10 17:32:33) 转载▼ 标签: 图表 控件 下载地址 kernel32 微软 it 分类: C# 昨天在网上看到了微软 ...

  5. php URL各部分获取方法(全局变量)

    php URL各部分获取方法(全局变量),主要介绍php全局变量$_SERVER的用法,有需要的朋友,可以参考下. 1.$_SESSION['PHP_SELF'] - 获取当前正在执行脚本的文件名 2 ...

  6. 如何通过WinDbg获取方法参数值

    引入 我们在调试的过程中,经常会通过查看方法的输入与输出来确定这个方法是否异常.那么我们要怎么通过 WinDbg 来获取方法的参数值呢? WinDbg 中主要包含三种命令:标准命令.元命令(以 . 开 ...

  7. monkeyrunner之坐标或控件ID获取方法-续

    在之前的文章中,介绍过控件坐标和ID的获取方法,这里,我们再介绍一个新的工具-uiautomatorviewer. Uiautomatorviewer是Android sdk自带的工具,位置在sdk/ ...

  8. AspectJ获取方法注解的信息

    在使用Aspectj获取方法注解信息的时候,可以使用下面的代码片段: /** * Get value of annotated method parameter */ private <T ex ...

  9. (转载)ios关闭虚拟键盘的几种方法

    在iOS应用开发中,有三类视图对象会打开虚拟键盘,进行输入操作,但如何关闭虚拟键盘,却没有提供自动化的方法.这个需要我们自己去实现.这三类视图对象分别是UITextField,UITextView和U ...

随机推荐

  1. MapReduce实例-基于内容的推荐(一)

    环境: Hadoop1.x,CentOS6.5,三台虚拟机搭建的模拟分布式环境 数据:下载的amazon产品共同采购网络元数据(需FQ下载)http://snap.stanford.edu/data/ ...

  2. yii2 rbac权限控制之菜单menu详细教程

    作者:白狼 出处:http://www.manks.top/article/yii2_rbac_menu本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...

  3. 项目管理学习笔记之五.沟通协调能力I

    项目管理个人能力培养--沟通协调能力在项目管理当中,怎么样把握好沟通?它有些什么的基本原则?是我们本章要讨论的. 一.电影<大腕>中的四段对话 冯小刚的电影<大腕>中有四段精神 ...

  4. Spring CharacterEncodingFilter

    <!-- 配置请求过滤器,编码格式设为UTF-8,避免中文乱码--> <filter> <filter-name>springUtf8Encoding</fi ...

  5. solrconfig.xml介绍

    说明:请务必先了解如下知识,否则阅读本文会晕. Solr术语介绍:SolrCloud,单机Solr,Collection,Shard,Replica,Core之间的关系 Solr通过三个主要文件来作配 ...

  6. mysql-2 mysql客户端

    mysql 官方客户端  MySQL-Workbench 下载链接http://dev.mysql.com/downloads/workbench/ 具体安装步骤就不写了,直接一直下一步就可以了. 下 ...

  7. dotNet使用HttpWebRequest模拟浏览器

    在编写网络爬虫时,HttpWebRequest几乎可以完成绝大多数网站的抓取,为了更好的使用这一技术,我将常用的几个功能进行了封装,以方便调用.这个类已经在多个项目中得到使用,主要解决了Cookies ...

  8. 【转】总结:2015这一年App Store审核指南都有哪些变化

    本文针对此前版本的<App Store审核指南>进行了更新,并标注了2015年苹果对<App Store审核指南>进行的一些调整. App Store Review Guide ...

  9. Linux命令中使用正则表达式

    在使用grep.awk和sed命令时,需要使用正则表达式.比如我通过grep找代码编译结果中是否有错误.或者是否有我代码的错误.这里说下正则表达式基本的应用: • 匹配行首与行尾.• 匹配数据集.• ...

  10. Android开发中XML布局的常用属性说明

    <!-- 常用属性说明: android:id="@+id/button" 为控件指定Id android:text="NNNNNNNNNN" 指定控件的 ...