Firebug 字幕文件JSON地址获取代码
Firebug 字幕文件JSON地址获取代码
发布时间:2016-12-30 来源:查字典编辑
摘要:先前看TED视频,关于学校教育扼杀创造性的视频。视频很好,也有中文字幕等。下面也提供高清版本下载,很是欣喜。遗憾的是,字幕不提供下载。(或者...

先前看TED视频,关于 学校教育扼杀创造性的视频。

视频很好,也有中文字幕等。下面也提供高清版本下载,很是欣喜。

遗憾的是,字幕不提供下载。(或者说我没有找到)

俗话说,自己动手丰衣足食。直接拿Firebug找到字幕文件地址,下载下来看到是JSON格式的,随即想到直接用JS输出字符串就可以转换到srt字幕。

代码如下,非常简单的代码,实用就好,不求效率、安全和边界问题,只求最快解决我的问题~

不得不说,学一门编程语言很有意义,不论是什么,都能很方便解决一些实际的问题。这很开心。

JS仔细说来是一门很强大的语言,处理JSON和XML都很方便,大多数时候应付足够了。不过也会有力不从心的时候,尤其是对于系统的操作,总有很多缺陷。不过如果算上微软的JScript的话,也很可以了。曾经想学Python,现在也坦然了,随便用什么,喜欢就好。或许,这与我不再从事IT相关行业有关吧。够用就行咯~

复制代码 代码如下:

//读取chi_hans文件

$.getJSON("chi_hans",function(json) {

var c=json.captions,o=[];

for (var i=0,l=c.length; i<l; i++) {

o.push(i+1);

//这里的18500是时间偏移

o.push(timeline(c[i].startTime+18500)+" --> "

+timeline(c[i].startTime+c[i].duration+18500));

o.push(c[i].content);

o.push("");

//if (i==5) break;

}

//这里我输出到一个textarea

$("#output").text(o.join("r"));

});

//这是根据JSON里时间得到srt字幕里的时间

function timeline(time) {

t=new Date(time);

return [

leadZero(t.getUTCHours()),

leadZero(t.getUTCMinutes()),

leadZero(t.getUTCSeconds())

].join(":")+","+leadZero3(t.getUTCMilliseconds());

}

//加入前导零

function leadZero(s) {

if (s<10) {

return "0"+s;

}else {

return s;

}

}

//这也是前导零,三位数的

function leadZero3(s) {

var ret;

if (s<10) {

ret="00"+s;

}else if (s<100) {

ret= "0"+s;

}else {

ret=s;

}

return ret;

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类