最近迷上了ubuntu(linux), 就为了看超酷的3D效果,把电脑重装系统了,以前是在虚拟机下装的ubuntu,但开不起效果! 装完后玩了3D效果一会后想看电影,不久前下了一个月才下玩的高清《霸王别姬》正好拿出来看看,结果发现字幕是英文的,不习惯,于是下了个中文字幕,发现字幕快了2秒钟左右,我在Movie Play播放器里找了好久也没找到调节字幕的,于是打开字幕文件看看能不能有其他办法,结果真发现办法了,特记录如下!
一、字幕文件分析(*.srt)
字幕每句话的格式是三行,
1.序号
2.开始时刻 --> 结束时刻
2.内容
于是我认为调节时间即可,比如要延时1秒,也即1000毫秒,那将字幕文件钟所有的时间都增加1000毫秒即可
如:00:00:45,978 延时1秒,变为00:00:46,978
二、修改文件步骤
1. 将文件读入一个字符串中,
2.获取字符串钟的时间
找到“ --> ",前后各读取12个字符
3.修改字符串中的所有时间
a.将字符串格式的时间转换为长整型的毫秒数格式
b.毫秒数格式的长整型加上要延时的毫秒数
c.将长整型格式转换为字符串格式
4.再将修改后的字符串写入文件
三、修改好字幕文件后再拖进播放器里即可,有时候还得重启播放器!
好的,不废话了,上代码!
linux(ubuntu)下GCC编译测试通过!
要急着看电影,没有做一些出错或越界处理,望读者包涵!