[C#]中英文字幕合并的小程序
今天班里小组合作录了一个视频,我给它做了字幕的时间轴。为了让这个视频假装很高端的样子,我想再加上英文的字幕。中文的纯字幕文本先搞成一句一行,然后放到Google翻译上,复制英文保存在Eng.txt。
我用人人影视的字幕软件给中文先做好了时间轴,想要在加上英文的时候发现好像这个软件不那么容易实现。于是我就想自己写点代码自己实现这个需求。
代码其实是非常简单的,就是最简单的文件操作。做好时间轴的中文字幕保存在Chs.srt中,其格式为:
1
00:00:19,572 --> 00:00:21,069
很高兴能够在这里见到大家
2
00:00:21,645 --> 00:00:24,991
首先恭喜大家通过初试来到今天小组讨论的阶段
3
00:00:25,527 --> 00:00:28,532
能够厮杀到这个环节说明大家都是非常优秀的
每一句字幕是4行,我只要在第三行插入对应的那行英文就可以了。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace BilingualSrt
{
class Program
{
static void Main(string[] args)
{
StreamReader chsStream = new StreamReader("Chs.srt");
StreamReader engText = new StreamReader("Eng.txt");
StreamWriter outer = new StreamWriter("chs_eng.srt");
string cline = "";
int counter = 0;//用来给行数计数
while(true){
cline=chsStream.ReadLine();
if (cline == null)
break;
Console.WriteLine(cline);
switch (counter)
{
//第三行是字幕文本
case 2:
outer.WriteLine(cline);
string engLine = engText.ReadLine();
outer.WriteLine(engLine);
break;
//第一、二行是序号和时间
//第四行是空行
default:
outer.WriteLine(cline);
break;
}
counter++;
counter%= 4;
}
chsStream.Close();
engText.Close();
outer.Close();
}
}
}
最后完成的效果如下:
1
00:00:19,572 --> 00:00:21,069
很高兴能够在这里见到大家
Glad to be here to see you.
2
00:00:21,645 --> 00:00:24,991
首先恭喜大家通过初试来到今天小组讨论的阶段
Congratulations everyone came through the first test phase of the panel discussion today
3
00:00:25,527 --> 00:00:28,532
能够厮杀到这个环节说明大家都是非常优秀的
To be able to fight this link shows that we are very good
版权声明:本文为博主原创文章,未经博主允许不得转载。
[C#]中英文字幕合并的小程序的更多相关文章
- 微信小程序导航:官方工具+精品教程+DEMO集合(1月7更新)
1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=14764346784612:简易教程:https://mp.weixin.qq.com/debug ...
- 如何把原生小程序项目合并的mpvue项目中
当时的情景是这样的: 使用mpvue写微信小程序,写着写着项目写到一半了,突然间不想这样继续写了,想切换回原生小程序语法去写剩余部分. 如下图,红色框里的功能是已经用mpvue完成的功能,绿色框部分的 ...
- 如何为你的微信小程序体积瘦身?
众所周知,微信小程序在发布的时候,对提交的代码有1M大小的限制!所以,如果你正在写一个功能稍微复杂一点的小程序,就必须得时刻小心注意你的代码是不是快触及这个底线了. 在设计一个小程序之初,我们就需要重 ...
- 微信小程序常见问题集合(长期更新)
最新更新: 新手跳坑系列:推荐阅读:<二十四>request:fail错误(含https解决方案)(真机预览问题 跳坑指南<七十>如何让微信小程序服务类目审核通过 跳坑六十九: ...
- 【腾讯Bugly干货分享】打造“微信小程序”组件化开发框架
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/2nQzsuqq7Avgs8wsRizUhw 作者:Gc ...
- 【腾讯Bugly干货分享】微信小程序开发思考总结——腾讯“信用卡还款”项目实践
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/58212d0fa7a7574c4f4cc3c5 作者:peggy 小程序概述 1 ...
- 浅谈微信小程序对于创业者,意味着什么?
尽管这个话题,有点儿烂大街,然而作为开发者兼创业人,兹以为很有必要为自己梳理一番. 多年前,当萌生创业的念头时,我是这样在脑海里绘制这幅蓝图的: 我需要一个域名,一个服务器,并且备了案. 我需要至少一 ...
- 用jquery实现抽奖小程序
用jquery实现抽奖小程序 这些日子,到处都可以看到关于微信小程序的新闻或报到,在博客园中写关于微信小程序的也不少.但是今天我要说的不是微信小程序,而是用简单的jquery写的一个好玩的抽奖小程序. ...
- 【腾讯Bugly干货分享】聊一聊微信“小程序”
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ecdf5ef03abecd43216fd0 Dev Club 是一个交流移动 ...
随机推荐
- R 语言学习笔记
data() 调用内置数据集 help(women) 查看数据集women的帮助文档 当忘记函数名称时可以按关键字搜索:help.search(),简写为??“” str(var) 查看R对象内部结 ...
- 内存管理之二——Cocos2d-x学习历程(六)
1.工厂方法 工厂方法是程序设计中一个经典的设计模式,指的是基类中只定义创建对象的接口,将实际的实现推迟到子类中. CCObject* factoryMethod() { CCObject* ret ...
- c++常用IDE
vs2013. CodeLite (c/c++/PHP) codeBlocks Qt Creator Xcode
- leetcode Longest Valid Parentheses python
class Solution(object): def longestValidParentheses(self, s): """ :type s: str :rtype ...
- http keepalive and tcpkeepalive
http keepalive 减少tcp 连接 (三次握手的消耗) tcp keepalive 检测死链接的 session 在tcp连接中, src_ip + src_port + dest_ip ...
- Windows Server 2008 Enterprise使用12G内存
开启PAE选项,用以下命令解决这个问题: 1.开始运行cmd2.输入 BCDEdit /set PAE forceenable 后回车3.重起系统显示12GB内存,一切正常
- javascript 学习笔记(权威指南)
1.数组的sort()方法默认是按照字母排序的,下面举个栗子说明: 1)全是字母: var arr =["zu","fan","an",&q ...
- Ksoap 使用简介
转:http://www.open-open.com/bbs/view/1320111271749?sort=newest WebService 是一种基于SOAP协议的远程调用标准.通过WebSer ...
- what oop ?
最近在做一个app的后台代码.......到底是什么是Oop ,没有感觉到啊,,,,,
- 走进C标准库(1)——assert.h,ctype.h
默默觉得原来的阅读笔记的名字太土了,改了个名字,叫做走进C标准库. 自己就是菜鸟一只,第一次具体看C标准库,文章参杂了对<the standard C library>的阅读和对源码的一些 ...