[UWP小白日记-5]转换MVA学院的XML字幕为SRT
开源地址:第二版开源地址GIT
暂时用不了了,在最新的WIN10 10586.494系统上回闪退,正在酝酿第二版 O(∩_∩)O哈哈~ 新版已经完工:第二版 地方MVA上好多教程,但是微软的所有中国网站都是些稀烂的玩意,慢得要死。看MVA就更别提了,下载速度还行,结果把视频下载下来没字幕。得正好自己在学UWP就自己动手写一个了。
关于扒字幕:一定要视频播放中,并且打开字幕才会出现Video_cc文件,也就是字幕文件。
.

TIPS:其实不用复制字幕直接下载字幕的XML文件即可,在图上的字幕文件上右键最后又一个copy Address link 然后下载即可,以前的方法蠢萌蠢萌的
在这里不得不吐槽下Edge浏览器打开这个字幕文件竟然是乱码
还有一点差点忘记了:粘贴到TXT的时候要另存为……改下编码unicode,安全起见,因为VS编码是unicode
因为字幕改成XML格式了,所以得转换为SRT或者ASS字幕(本文主要讲转SRT字幕),介于本菜鸟对XML不熟,所以我只能用正则表达式了。
先来看下成品:

播放视频:哈哈,开头有几个英文乱码(<v ->大家好,我是 Bob Tabor,在这个超过 75 个视频</v>),
懒得写正则去掉了。有兴趣的朋友可以自己去掉。修改字幕字体、颜色什么的大家搜索下SRT字幕格式就明白了

主要就4个方法代码:[文件打开选择器按钮事件]、[保存文件选择器按钮事件]、[匹配begin、end、字幕]和[格式为SRT字幕格式]。
文件打开选择器按钮事件:
保存文件选择器按钮事件
[匹配begin、end、字幕]
[格式为SRT字幕格式]
关于SRT字幕格式说明
每条字幕之间要有空行,不然直接满屏的字幕
UWP下载
其实是想传应用商店的,结果没信用卡(这辈子都没用过国内信用卡,更别提国际信用卡)开发者账户无法付款。
安装说明:动画上面我不是第一次安装了,如果一次安装会有一些选择项,建议都填Yes.

[UWP小白日记-5]转换MVA学院的XML字幕为SRT的更多相关文章
- [UWP小白日记-7]转换MVA学院的XML字幕为SRT (二)
瞎扯淡 上个版本,非常蠢用来N多的循环导致非常卡性能烂得不行,这次使用XmlDocument类来读取XML字幕 其实根本不用各种扒XML字幕,好吧我这是学习使用XmlDocument类,嗯就是这个样子 ...
- [UWP小白日记-9]页面跳转过度动画(二)
又打算动手写了 [UWP小白日记-6]页面跳转过度动画 上次写的,这次随着学习的进度使用新的玩法. 最近在搞GIT的学习,结果把好好的项目玩坏,都不知道当时是怎么想的拿在写的APP来玩GIT,害我重写 ...
- [UWP小白日记-11]在UWP中使用Entity Framework Core(Entity Framework 7)操作SQLite数据库(一)
前言 本文中,您将创建一个通用应用程序(UWP),使用Entity Framework Core(Entity Framework 7)框架在SQLite数据库上执行基本的数据访问. 准备: Enti ...
- [UWP小白日记-15]在UWP手机端实时限制Textbox的输入
说实话重来没想到验证输入是如此的苦逼的一件事情. 网上好多验证都是在输入完成后再验证,我的想法是在输入的时候就限制输入,这样我就不用再写代码来验证了 应为是手机端,所以不用判断其他非法字符,直 ...
- [UWP小白日记-8]一些零碎的东西
设置启动窗口大小 直接上代码了没什么好解释的了,既然能设置最小,那铁定就能设置最大 public MainPage() { //设定窗口启动显示大小 ApplicationView.Preferred ...
- [UWP小白日记-12]使用新的Composition API来实现控件的阴影
前言 看了好久官方的Windows UI Dev Labs示例好久才有点心得,真是头大.(其实是英语幼儿园水平(⊙﹏⊙)b) 真的网上关于这个API的资料可以说几乎没有. 正文 首先用这东西的添加WI ...
- [UWP小白日记-6]页面跳转过度动画
前言 在学习中发现页面导航默认是没有过度动画的,直接就导航过去太粗暴了( ̄へ ̄),于是打算上动画结果不言而喻自己进了坑完全不懂动画,然后就是各种疯狂(´・_・`)的搜索资料看了后终于有点头绪. 再后来 ...
- [UWP小白日记-3]记账项目-1
学了一段时间的UWP,来个项目试试手. 本来是想边做边学MVVMLight的结果感觉MVVM对于萌新来说太高难,以后再把这个项目改造成MVVMLight框架的项目. 下面进入正题. 中间那快空白打算放 ...
- [UWP小白日记-2]SQLite数据库DOME
数据库说简单点就是增删改查,但是对新手来说也是要爆肝的.作为一个新手爆肝无数次啊, 血的教训啊现在UWP的教程又少,说多了都是泪.留下来免得以后又爆肝.还有:一定要写注释!一定要写注释!一定要写注释! ...
随机推荐
- 【hanoi】hanoi移动次数和移动步骤
#include<stdio.h> #include<stdlib.h> //移动次数 int hanoi(int num) { ; ) { ; } else { all = ...
- 【CSS】圆角阴影边框CSS
.someClassName { width:300px; display: inline-block; padding: 5px 10px 6px; text-decoration: none; b ...
- Gink掉过的坑(一):将CCTableView导入到lua中
环境: 系统:win7 64位 cocos2dx:cocos2d-2.1rc0-x-2.1.3 Visual Studio: 2012 由于项目是用lua写的,需要将cocos2dx中的方法导入到lu ...
- java并发之固定对象与实例
java并发之固定对象与实例 Immutable Objects An object is considered immutable if its state cannot change after ...
- JavaScript 实现文本编辑器
JavaScript 实现文本编辑器 最近,我需要做一个非常基本的网页内容编辑功能.我不想使用 iframe ,我也不想要一个功能特别多的复杂编辑器,只需要很基本的内容编辑功能,例如粗体,斜体,列表, ...
- ckeditor:复制内容到ckeditor时,只保留文本,忽略其样式解决方法
打开ckeditor 包下的config.js,在 CKEDITOR.editorConfig= function(config){...}添加一句配置: config.forcePasteAsPla ...
- centos安装svn
原文链接:http://blog.csdn.net/liuyuan_jq/article/details/2110814 1.SVN简介由于前些年在版本的管理上采用的都是CVS系统,总体上而言还是很优 ...
- Linux操作系统学习_用户态与内核态之切换过程
因为操作系统的很多操作会消耗系统的物理资源,例如创建一个新进程时,要做很多底层的细致工作,如分配物理内存,从父进程拷贝相关信息,拷贝设置页目录.页表等,这些操作显然不能随便让任何程序都可以做,于是就产 ...
- PHP5.3 里面数组的的实现方式
typedef struct _Bucket { char *key; void *value; struct _Bucket *next; } Bucket; typedef struct _Has ...
- Jenkins安装plugin
Jenkins支持很多的plugin,这些plugin极大地丰富了Jenkins的功能.安装plugin有两种方式:自动安装和手动安装. 1.自动安装 这种方式非常简单,但前提是Jenkins必须连接 ...