|
視頻很好,也有中文字幕等。下面也提供高清版本下載,很是欣喜。
遺憾的是,字幕不提供下載。(或者說我沒有找到)
俗話說,自己動手豐衣足食。直接拿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技術:Firebug 字幕文件JSON地址獲取代碼,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。