代码拉取完成,页面将自动刷新
一个简单小工具。转换微软虚拟学院(MVA)XML字幕为SRT字幕
支持拖拽TXT或者XML文件到APP中。
最终把添加的文件转换为SRT格式字幕。
批量转换等。
支持到一周年更新版系统(14393)和.NET Native 解决了字幕中出现负数时间轴而导致的字幕问题。
已知BUG:2次拖入了同名文件导致BUG问题,下个版本添加判断。
如果出现00:00:21.626格式的字幕时间轴会无法获取到值,需要更改判断条件。
解决拖入UTF8编码的XML文件闪退问题
1.创建一个model有:开始、结束时间和字幕文本3个属性
private class SumString
{
public string begin { get; set; }
public string end { get; set; }
public string text { get; set; }
}
2.创建3个List来保存:开始、结束和字幕文本。
List<String> beginAttribute = new List<String>();//开始时间
List<String> endAttribute = new List<String>();//结束时间
List<String> text = new List<string>();//节点文本类容
3.读取XML:保存到beginAttribute、endAttribute和text。
由于UWPEncoding.GetEncoding()没有GB2312所以必须自己手动注册
#region 注册GB2312
EncodingProvider provider = CodePagesEncodingProvider.Instance;
Encoding.RegisterProvider(provider);
Encoding gb2312 = Encoding.GetEncoding("gb2312");
#endregion
#region 注册GB2312
EncodingProvider provider = CodePagesEncodingProvider.Instance;
Encoding.RegisterProvider( provider );
Encoding gb2312 = Encoding.GetEncoding( "gb2312" );
#endregion
var content = File.ReadAllText( path, gb2312 );
byte[] tempG = gb2312.GetBytes( content );
byte[] utf8 = Encoding.Convert( gb2312, Encoding.UTF8, tempG );
string utf8str = Encoding.UTF8.GetString( utf8 );
XmlDocument document = new XmlDocument();
document.LoadXml( utf8str );
var templist = document.GetElementsByTagName( "p" );
foreach ( XmlNode p in templist )
{
beginAttribute.Add( p.Attributes["begin"].Value );
endAttribute.Add( p.Attributes["end"].Value );
text.Add( p.InnerText.Trim() );
}
1.基本布局和一些动画的练习。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型