修改字幕乱码

This commit is contained in:
Harvey committed 2020-09-04 12:02:54 +08:00
1 parent ed009f9d4d
commit 92686dfcb6
13 files changed
+199 -154

No files matched your search

+1
View File
@@ -77,6 +77,7 @@ var art = new Artplayer({
style: { style: {
color: '#03A9F4', color: '#03A9F4',
}, },
encoding: 'utf-8',
bilingual: true, bilingual: true,
}, },
highlight: [ highlight: [
+70 -69
View File
@@ -1,12 +1,12 @@
1 1
00:00:01,500 --> 00:00:03,950 00:00:01,500 --> 00:00:03,950
歌名:One More Time,One More Chance One More Time,One More Chance
〖愿往事重来〗 愿往事重来
2 2
00:00:04,000 --> 00:00:05,950 00:00:04,000 --> 00:00:05,950
【新海诚动画】『秒速5センチメートル』 秒速5センチメートル
《秒速5厘米》主题曲 秒速5厘米
3 3
00:00:06,000 --> 00:00:08,950 00:00:06,000 --> 00:00:08,950
@@ -14,7 +14,8 @@
4 4
00:00:09,000 --> 00:00:11,950 00:00:09,000 --> 00:00:11,950
作词|作曲|演唱:山崎まさよし <山崎将义> 山崎まさよし
山崎将义
5 5
00:00:12,000 --> 00:00:15,950 00:00:12,000 --> 00:00:15,950
@@ -23,22 +24,22 @@
6 6
00:00:16,000 --> 00:00:20,250 00:00:16,000 --> 00:00:20,250
これ以上何をう失(し)なえば これ以上何をう失(し)なえば
【还要再失去什么】 还要再失去什么
7 7
00:00:20,300 --> 00:00:23,250 00:00:20,300 --> 00:00:23,250
心は许(ゆる)されるの 心は许(ゆる)されるの
【才能让心得到宽恕?】 才能让心得到宽恕?
8 8
00:00:23,300 --> 00:00:27,250 00:00:23,300 --> 00:00:27,250
どれ程(ほど)の痛(いた)みならば どれ程(ほど)の痛(いた)みならば
【还要再怎样痛苦】 还要再怎样痛苦
9 9
00:00:27,300 --> 00:00:30,250 00:00:27,300 --> 00:00:30,250
もう一度君に会(あ)える もう一度君に会(あ)える
【才能与你再次相见】 才能与你再次相见
10 10
00:00:30,300 --> 00:00:33,250 00:00:30,300 --> 00:00:33,250
@@ -47,7 +48,7 @@ One more time
11 11
00:00:33,300 --> 00:00:37,950 00:00:33,300 --> 00:00:37,950
季节(きせつ)よ うつろわないで 季节(きせつ)よ うつろわないで
【不愿看到季节的变迁】 不愿看到季节的变迁
12 12
00:00:38,000 --> 00:00:41,050 00:00:38,000 --> 00:00:41,050
@@ -56,27 +57,27 @@ One more time
13 13
00:00:41,100 --> 00:00:45,250 00:00:41,100 --> 00:00:45,250
ふざけあった时间(じかん)よ ふざけあった时间(じかん)よ
【曾与你嬉闹的时光啊】 曾与你嬉闹的时光啊
14 14
00:00:45,300 --> 00:00:49,250 00:00:45,300 --> 00:00:49,250
くいちがうときはいつも くいちがうときはいつも
【每次争执的时候】 每次争执的时候
15 15
00:00:49,300 --> 00:00:53,100 00:00:49,300 --> 00:00:53,100
仆が先(さき)に折(お)れたね 仆が先(さき)に折(お)れたね
【总是我先让步】 总是我先让步
16 16
00:00:53,150 --> 00:00:56,250 00:00:53,150 --> 00:00:56,250
わがままな性格(せいかく)が わがままな性格(せいかく)が
【你那任性的性格】 你那任性的性格
17 17
00:00:56,300 --> 00:00:59,250 00:00:56,300 --> 00:00:59,250
なおさら爱(いと)しくさせた なおさら爱(いと)しくさせた
【反而令你更加可爱】 反而令你更加可爱
18 18
00:00:59,300 --> 00:01:02,950 00:00:59,300 --> 00:01:02,950
@@ -85,7 +86,7 @@ One more chance
19 19
00:01:03,000 --> 00:01:07,250 00:01:03,000 --> 00:01:07,250
记忆(きおく)に足(あし)を取(と)られて 记忆(きおく)に足(あし)を取(と)られて
【回忆绊住我的脚步】 回忆绊住我的脚步
20 20
00:01:07,300 --> 00:01:10,250 00:01:07,300 --> 00:01:10,250
@@ -94,52 +95,52 @@ One more chance
21 21
00:01:10,300 --> 00:01:14,950 00:01:10,300 --> 00:01:14,950
次(つぎ)の场所を选(えら)べない 次(つぎ)の场所を选(えら)べない
【无法选择下个地方】 无法选择下个地方
22 22
00:01:15,000 --> 00:01:18,250 00:01:15,000 --> 00:01:18,250
いつでも捜(さが)しているよ いつでも捜(さが)しているよ
【总是在一直寻觅】 总是在一直寻觅
23 23
00:01:18,300 --> 00:01:21,950 00:01:18,300 --> 00:01:21,950
どっかに君の姿(すがた)を どっかに君の姿(すがた)を
【寻觅着你的身影】 寻觅着你的身影
24 24
00:01:22,000 --> 00:01:23,950 00:01:22,000 --> 00:01:23,950
向(むか)いのホーム 向(むか)いのホーム
【对面的月台上】 对面的月台上
25 25
00:01:24,000 --> 00:01:25,950 00:01:24,000 --> 00:01:25,950
路地裏(ろじうら)の窓(まど) 路地裏(ろじうら)の窓(まど)
【在小巷的窗口里】 在小巷的窗口里
26 26
00:01:26,000 --> 00:01:29,250 00:01:26,000 --> 00:01:29,250
こんなとこにいるはずもないのに こんなとこにいるはずもないのに
【尽管明知道你不可能在那里】 尽管明知道你不可能在那里
27 27
00:01:29,300 --> 00:01:33,250 00:01:29,300 --> 00:01:33,250
愿(ねが)いがもしも叶(かな)うなら 愿(ねが)いがもしも叶(かな)うなら
【若愿望能够实现】 若愿望能够实现
28 28
00:01:33,300 --> 00:01:36,550 00:01:33,300 --> 00:01:36,550
いますぐ君のもとへ いますぐ君のもとへ
【好想马上去到你身边】 好想马上去到你身边
29 29
00:01:36,600 --> 00:01:40,250 00:01:36,600 --> 00:01:40,250
できないことは もう何もない できないことは もう何もない
【如今我再也不会有丝毫退缩】 如今我再也不会有丝毫退缩
30 30
00:01:40,300 --> 00:01:47,300 00:01:40,300 --> 00:01:47,300
すべてかけて抱きしめてみせるよ すべてかけて抱きしめてみせるよ
【我会不顾一切将你紧紧拥抱】 我会不顾一切将你紧紧拥抱
31 31
00:01:47,350 --> 00:01:51,950 00:01:47,350 --> 00:01:51,950
@@ -152,22 +153,22 @@ One more chance
33 33
00:01:55,300 --> 00:01:59,250 00:01:55,300 --> 00:01:59,250
寂(さび)しさ纷(まぎ)らすだけなら 寂(さび)しさ纷(まぎ)らすだけなら
【如果只是为了排遣寂寞】 如果只是为了排遣寂寞
34 34
00:01:59,300 --> 00:02:02,950 00:01:59,300 --> 00:02:02,950
谁でもいいはずなのに 谁でもいいはずなのに
【其实不管是谁都无所谓】 其实不管是谁都无所谓
35 35
00:02:03,000 --> 00:02:07,250 00:02:03,000 --> 00:02:07,250
星が落(お)ちそうな夜(よる)だから 星が落(お)ちそうな夜(よる)だから
【唯有在星辰仿佛要坠落的夜晚】 唯有在星辰仿佛要坠落的夜晚
36 36
00:02:07,300 --> 00:02:10,250 00:02:07,300 --> 00:02:10,250
自分(じぶん)をいつわれない 自分(じぶん)をいつわれない
【我无法欺骗自己】 我无法欺骗自己
37 37
00:02:10,300 --> 00:02:13,250 00:02:10,300 --> 00:02:13,250
@@ -176,7 +177,7 @@ One more time
38 38
00:02:13,300 --> 00:02:17,250 00:02:13,300 --> 00:02:17,250
季节(きせつ)よ うつろわないで 季节(きせつ)よ うつろわないで
【不愿看到季节的变迁】 不愿看到季节的变迁
39 39
00:02:17,300 --> 00:02:20,250 00:02:17,300 --> 00:02:20,250
@@ -185,7 +186,7 @@ One more time
40 40
00:02:20,300 --> 00:02:24,600 00:02:20,300 --> 00:02:24,600
ふざけあった时间(じかん)よ ふざけあった时间(じかん)よ
【曾与你嬉闹的时光啊】 曾与你嬉闹的时光啊
41 41
00:02:24,650 --> 00:02:25,250 00:02:24,650 --> 00:02:25,250
@@ -194,46 +195,46 @@ One more time
42 42
00:02:25,300 --> 00:02:29,050 00:02:25,300 --> 00:02:29,050
いつでも捜(さが)しているよ いつでも捜(さが)しているよ
【总是在一直寻觅】 总是在一直寻觅
43 43
00:02:29,100 --> 00:02:32,250 00:02:29,100 --> 00:02:32,250
どっかに君(きみ)の姿(すがた)を どっかに君(きみ)の姿(すがた)を
【寻觅着你的身影】 寻觅着你的身影
44 44
00:02:32,300 --> 00:02:34,250 00:02:32,300 --> 00:02:34,250
交差点(こうさてん)でも 交差点(こうさてん)でも
【每个十字路口】 每个十字路口
45 45
00:02:34,300 --> 00:02:36,250 00:02:34,300 --> 00:02:36,250
梦の中でも 【每次梦境之中】 梦の中でも 每次梦境之中
46 46
00:02:36,300 --> 00:02:39,950 00:02:36,300 --> 00:02:39,950
こんなとこにいるはずもないのに こんなとこにいるはずもないのに
【尽管明知道你不可能在那里】 尽管明知道你不可能在那里
47 47
00:02:40,000 --> 00:02:43,250 00:02:40,000 --> 00:02:43,250
奇迹(きせき)がもしも起(お)こるなら 奇迹(きせき)がもしも起(お)こるなら
【若奇迹将会发生】 若奇迹将会发生
48 48
00:02:43,300 --> 00:02:46,950 00:02:43,300 --> 00:02:46,950
今すぐ君に见せたい 今すぐ君に见せたい
【我希望马上就能见到你】 我希望马上就能见到你
49 49
00:02:47,000 --> 00:02:50,250 00:02:47,000 --> 00:02:50,250
新しい朝(あさ) これからの仆 新しい朝(あさ) これからの仆
【无论崭新的清晨 还是今后的自己】 无论崭新的清晨 还是今后的自己
50 50
00:02:50,300 --> 00:02:57,250 00:02:50,300 --> 00:02:57,250
言えなかった「好き」という言叶も 言えなかった「好き」という言叶も
【或是那句没能说出口的「喜欢你」】 或是那句没能说出口的「喜欢你」
51 51
00:02:57,300 --> 00:03:04,450 00:02:57,300 --> 00:03:04,450
@@ -246,102 +247,102 @@ One more time
53 53
00:03:06,000 --> 00:03:13,950 00:03:06,000 --> 00:03:13,950
夏の想い出がまわる 夏の想い出がまわる
【夏日的回忆在脑海中回旋】 夏日的回忆在脑海中回旋
54 54
00:03:14,000 --> 00:03:20,950 00:03:14,000 --> 00:03:20,950
ふいに消(き)えた鼓动(こどう) ふいに消(き)えた鼓动(こどう)
【刹那间消失的悸动】 刹那间消失的悸动
55 55
00:03:21,000 --> 00:03:24,950 00:03:21,000 --> 00:03:24,950
いつでも捜(さが)しているよ いつでも捜(さが)しているよ
【总是在一直寻觅】 总是在一直寻觅
57 57
00:03:25,000 --> 00:03:27,950 00:03:25,000 --> 00:03:27,950
どっかに君の姿(すがた)を どっかに君の姿(すがた)を
【寻觅着你的身影】 寻觅着你的身影
58 58
00:03:28,000 --> 00:03:29,950 00:03:28,000 --> 00:03:29,950
明(あ)け方(がた)の街(まち) 明(あ)け方(がた)の街(まち)
【在拂晓的街头】 在拂晓的街头
59 59
00:03:30,000 --> 00:03:31,950 00:03:30,000 --> 00:03:31,950
桜木町(さくらぎちょう)で 桜木町(さくらぎちょう)で
【在种满樱树的小镇】 在种满樱树的小镇
60 60
00:03:32,000 --> 00:03:35,950 00:03:32,000 --> 00:03:35,950
こんなとこに来(く)るはずもないのに こんなとこに来(く)るはずもないのに
【尽管明知道你不可能在那里】 尽管明知道你不可能在那里
61 61
00:03:36,000 --> 00:03:39,250 00:03:36,000 --> 00:03:39,250
愿(ねが)いがもしも叶(かな)うなら 愿(ねが)いがもしも叶(かな)うなら
【若愿望能够实现】 若愿望能够实现
62 62
00:03:39,300 --> 00:03:43,050 00:03:39,300 --> 00:03:43,050
今すぐ君のもとへ 今すぐ君のもとへ
【现在马上去到你身边】 现在马上去到你身边
63 63
00:03:43,100 --> 00:03:46,800 00:03:43,100 --> 00:03:46,800
できないことは もう何(なに)もない できないことは もう何(なに)もない
【如今我再也不会有丝毫退缩】 如今我再也不会有丝毫退缩
64 64
00:03:46,850 --> 00:03:50,600 00:03:46,850 --> 00:03:50,600
すべてかけて抱きしめてみせるよ すべてかけて抱きしめてみせるよ
【我会不顾一切紧紧将你拥抱】 我会不顾一切紧紧将你拥抱
65 65
00:03:50,650 --> 00:03:54,250 00:03:50,650 --> 00:03:54,250
いつでも捜(さが)しているよ いつでも捜(さが)しているよ
【总是在一直寻觅】 总是在一直寻觅
66 66
00:03:54,300 --> 00:03:57,700 00:03:54,300 --> 00:03:57,700
どっかに君のかけらを どっかに君のかけらを
【寻觅着你的片断】 寻觅着你的片断
67 67
00:03:57,750 --> 00:03:59,250 00:03:57,750 --> 00:03:59,250
旅先(たびさき)の店(みせ) 旅先(たびさき)の店(みせ)
【在旅途中的小店】 在旅途中的小店
68 68
00:03:59,300 --> 00:04:01,450 00:03:59,300 --> 00:04:01,450
新闻(しんぶん)の隅(すみ) 新闻(しんぶん)の隅(すみ)
【在报纸的角落】 在报纸的角落
69 69
00:04:01,500 --> 00:04:04,950 00:04:01,500 --> 00:04:04,950
こんなとこにあるはずもないのに こんなとこにあるはずもないのに
【尽管明知道你不可能在那里】 尽管明知道你不可能在那里
70 70
00:04:05,000 --> 00:04:08,250 00:04:05,000 --> 00:04:08,250
奇迹(きせき)がもしも起(お)こるなら 奇迹(きせき)がもしも起(お)こるなら
【若奇迹将会发生】 若奇迹将会发生
71 71
00:04:08,300 --> 00:04:12,250 00:04:08,300 --> 00:04:12,250
今すぐ君に见せたい 今すぐ君に见せたい
【我希望现在就能见到你】 我希望现在就能见到你
72 72
00:04:12,300 --> 00:04:16,050 00:04:12,300 --> 00:04:16,050
新しい朝(あさ) これからの仆 新しい朝(あさ) これからの仆
【无论崭新的清晨 还是今后的自己】 无论崭新的清晨 还是今后的自己
73 73
00:04:16,100 --> 00:04:19,400 00:04:16,100 --> 00:04:19,400
言えなかった「好き」という言叶も 言えなかった「好き」という言叶も
【或是那句没能说出口的「喜欢你」】 或是那句没能说出口的「喜欢你」
74 74
00:04:19,450 --> 00:04:19,950 00:04:19,450 --> 00:04:19,950
@@ -350,42 +351,42 @@ One more time
75 75
00:04:20,000 --> 00:04:22,950 00:04:20,000 --> 00:04:22,950
いつでも捜(さが)してしまう いつでも捜(さが)してしまう
【总是在一直寻觅】 总是在一直寻觅
76 76
00:04:23,000 --> 00:04:26,950 00:04:23,000 --> 00:04:26,950
どっかに君の笑颜(えがお)を どっかに君の笑颜(えがお)を
【寻觅着你的笑容】 寻觅着你的笑容
77 77
00:04:27,000 --> 00:04:30,250 00:04:27,000 --> 00:04:30,250
急行(きゅうこう)待ちの 踏切(ふみきり)あたり 急行(きゅうこう)待ちの 踏切(ふみきり)あたり
【哪怕在等待列车通过的铁路道口】 哪怕在等待列车通过的铁路道口
78 78
00:04:30,300 --> 00:04:34,250 00:04:30,300 --> 00:04:34,250
こんなとこにいるはずもないのに こんなとこにいるはずもないのに
【虽然明明知道你不可能在那里】 虽然明明知道你不可能在那里
79 79
00:04:34,300 --> 00:04:37,950 00:04:34,300 --> 00:04:37,950
命(いのち)が缲(く)り返(かえ)すならば 命(いのち)が缲(く)り返(かえ)すならば
【如果生命能够重来】 如果生命能够重来
80 80
00:04:38,000 --> 00:04:41,050 00:04:38,000 --> 00:04:41,050
何度(なんど)も君のもとへ 何度(なんど)も君のもとへ
【无论几次我都要去你身边】 无论几次我都要去你身边
81 81
00:04:41,100 --> 00:04:45,150 00:04:41,100 --> 00:04:45,150
欲(ほ)しいものなど もう何もない 欲(ほ)しいものなど もう何もない
【那时我一定别无所求】 那时我一定别无所求
82 82
00:04:45,200 --> 00:04:52,750 00:04:45,200 --> 00:04:52,750
君のほかに大切なものなど 君のほかに大切なものなど
【再也没有什么比你更加重要】 再也没有什么比你更加重要
83 83
00:04:52,800 --> 00:05:10,950 00:04:52,800 --> 00:05:10,950
+69 -68
View File
@@ -3,12 +3,12 @@
1 1
00:00:01.500 --> 00:00:03.950 00:00:01.500 --> 00:00:03.950
歌名:One More Time,One More Chance 歌名:One More Time,One More Chance
〖愿往事重来〗 愿往事重来
2 2
00:00:04.000 --> 00:00:05.950 00:00:04.000 --> 00:00:05.950
【新海诚动画】『秒速5センチメートル』 秒速5センチメートル
《秒速5厘米》主题曲 秒速5厘米
3 3
00:00:06.000 --> 00:00:08.950 00:00:06.000 --> 00:00:08.950
@@ -16,7 +16,8 @@
4 4
00:00:09.000 --> 00:00:11.950 00:00:09.000 --> 00:00:11.950
作词|作曲|演唱:山崎まさよし <山崎将义> 山崎まさよし
山崎将义
5 5
00:00:12.000 --> 00:00:15.950 00:00:12.000 --> 00:00:15.950
@@ -25,22 +26,22 @@
6 6
00:00:16.000 --> 00:00:20.250 00:00:16.000 --> 00:00:20.250
これ以上何をう失(し)なえば これ以上何をう失(し)なえば
【还要再失去什么】 还要再失去什么
7 7
00:00:20.300 --> 00:00:23.250 00:00:20.300 --> 00:00:23.250
心は许(ゆる)されるの 心は许(ゆる)されるの
【才能让心得到宽恕?】 才能让心得到宽恕?
8 8
00:00:23.300 --> 00:00:27.250 00:00:23.300 --> 00:00:27.250
どれ程(ほど)の痛(いた)みならば どれ程(ほど)の痛(いた)みならば
【还要再怎样痛苦】 还要再怎样痛苦
9 9
00:00:27.300 --> 00:00:30.250 00:00:27.300 --> 00:00:30.250
もう一度君に会(あ)える もう一度君に会(あ)える
【才能与你再次相见】 才能与你再次相见
10 10
00:00:30.300 --> 00:00:33.250 00:00:30.300 --> 00:00:33.250
@@ -49,7 +50,7 @@ One more time
11 11
00:00:33.300 --> 00:00:37.950 00:00:33.300 --> 00:00:37.950
季节(きせつ)よ うつろわないで 季节(きせつ)よ うつろわないで
【不愿看到季节的变迁】 不愿看到季节的变迁
12 12
00:00:38.000 --> 00:00:41.050 00:00:38.000 --> 00:00:41.050
@@ -58,27 +59,27 @@ One more time
13 13
00:00:41.100 --> 00:00:45.250 00:00:41.100 --> 00:00:45.250
ふざけあった时间(じかん)よ ふざけあった时间(じかん)よ
【曾与你嬉闹的时光啊】 曾与你嬉闹的时光啊
14 14
00:00:45.300 --> 00:00:49.250 00:00:45.300 --> 00:00:49.250
くいちがうときはいつも くいちがうときはいつも
【每次争执的时候】 每次争执的时候
15 15
00:00:49.300 --> 00:00:53.100 00:00:49.300 --> 00:00:53.100
仆が先(さき)に折(お)れたね 仆が先(さき)に折(お)れたね
【总是我先让步】 总是我先让步
16 16
00:00:53.150 --> 00:00:56.250 00:00:53.150 --> 00:00:56.250
わがままな性格(せいかく)が わがままな性格(せいかく)が
【你那任性的性格】 你那任性的性格
17 17
00:00:56.300 --> 00:00:59.250 00:00:56.300 --> 00:00:59.250
なおさら爱(いと)しくさせた なおさら爱(いと)しくさせた
【反而令你更加可爱】 反而令你更加可爱
18 18
00:00:59.300 --> 00:01:02.950 00:00:59.300 --> 00:01:02.950
@@ -87,7 +88,7 @@ One more chance
19 19
00:01:03.000 --> 00:01:07.250 00:01:03.000 --> 00:01:07.250
记忆(きおく)に足(あし)を取(と)られて 记忆(きおく)に足(あし)を取(と)られて
【回忆绊住我的脚步】 回忆绊住我的脚步
20 20
00:01:07.300 --> 00:01:10.250 00:01:07.300 --> 00:01:10.250
@@ -96,52 +97,52 @@ One more chance
21 21
00:01:10.300 --> 00:01:14.950 00:01:10.300 --> 00:01:14.950
次(つぎ)の场所を选(えら)べない 次(つぎ)の场所を选(えら)べない
【无法选择下个地方】 无法选择下个地方
22 22
00:01:15.000 --> 00:01:18.250 00:01:15.000 --> 00:01:18.250
いつでも捜(さが)しているよ いつでも捜(さが)しているよ
【总是在一直寻觅】 总是在一直寻觅
23 23
00:01:18.300 --> 00:01:21.950 00:01:18.300 --> 00:01:21.950
どっかに君の姿(すがた)を どっかに君の姿(すがた)を
【寻觅着你的身影】 寻觅着你的身影
24 24
00:01:22.000 --> 00:01:23.950 00:01:22.000 --> 00:01:23.950
向(むか)いのホーム 向(むか)いのホーム
【对面的月台上】 对面的月台上
25 25
00:01:24.000 --> 00:01:25.950 00:01:24.000 --> 00:01:25.950
路地裏(ろじうら)の窓(まど) 路地裏(ろじうら)の窓(まど)
【在小巷的窗口里】 在小巷的窗口里
26 26
00:01:26.000 --> 00:01:29.250 00:01:26.000 --> 00:01:29.250
こんなとこにいるはずもないのに こんなとこにいるはずもないのに
【尽管明知道你不可能在那里】 尽管明知道你不可能在那里
27 27
00:01:29.300 --> 00:01:33.250 00:01:29.300 --> 00:01:33.250
愿(ねが)いがもしも叶(かな)うなら 愿(ねが)いがもしも叶(かな)うなら
【若愿望能够实现】 若愿望能够实现
28 28
00:01:33.300 --> 00:01:36.550 00:01:33.300 --> 00:01:36.550
いますぐ君のもとへ いますぐ君のもとへ
【好想马上去到你身边】 好想马上去到你身边
29 29
00:01:36.600 --> 00:01:40.250 00:01:36.600 --> 00:01:40.250
できないことは もう何もない できないことは もう何もない
【如今我再也不会有丝毫退缩】 如今我再也不会有丝毫退缩
30 30
00:01:40.300 --> 00:01:47.300 00:01:40.300 --> 00:01:47.300
すべてかけて抱きしめてみせるよ すべてかけて抱きしめてみせるよ
【我会不顾一切将你紧紧拥抱】 我会不顾一切将你紧紧拥抱
31 31
00:01:47.350 --> 00:01:51.950 00:01:47.350 --> 00:01:51.950
@@ -154,22 +155,22 @@ One more chance
33 33
00:01:55.300 --> 00:01:59.250 00:01:55.300 --> 00:01:59.250
寂(さび)しさ纷(まぎ)らすだけなら 寂(さび)しさ纷(まぎ)らすだけなら
【如果只是为了排遣寂寞】 如果只是为了排遣寂寞
34 34
00:01:59.300 --> 00:02:02.950 00:01:59.300 --> 00:02:02.950
谁でもいいはずなのに 谁でもいいはずなのに
【其实不管是谁都无所谓】 其实不管是谁都无所谓
35 35
00:02:03.000 --> 00:02:07.250 00:02:03.000 --> 00:02:07.250
星が落(お)ちそうな夜(よる)だから 星が落(お)ちそうな夜(よる)だから
【唯有在星辰仿佛要坠落的夜晚】 唯有在星辰仿佛要坠落的夜晚
36 36
00:02:07.300 --> 00:02:10.250 00:02:07.300 --> 00:02:10.250
自分(じぶん)をいつわれない 自分(じぶん)をいつわれない
【我无法欺骗自己】 我无法欺骗自己
37 37
00:02:10.300 --> 00:02:13.250 00:02:10.300 --> 00:02:13.250
@@ -178,7 +179,7 @@ One more time
38 38
00:02:13.300 --> 00:02:17.250 00:02:13.300 --> 00:02:17.250
季节(きせつ)よ うつろわないで 季节(きせつ)よ うつろわないで
【不愿看到季节的变迁】 不愿看到季节的变迁
39 39
00:02:17.300 --> 00:02:20.250 00:02:17.300 --> 00:02:20.250
@@ -187,7 +188,7 @@ One more time
40 40
00:02:20.300 --> 00:02:24.600 00:02:20.300 --> 00:02:24.600
ふざけあった时间(じかん)よ ふざけあった时间(じかん)よ
【曾与你嬉闹的时光啊】 曾与你嬉闹的时光啊
41 41
00:02:24.650 --> 00:02:25.250 00:02:24.650 --> 00:02:25.250
@@ -196,46 +197,46 @@ One more time
42 42
00:02:25.300 --> 00:02:29.050 00:02:25.300 --> 00:02:29.050
いつでも捜(さが)しているよ いつでも捜(さが)しているよ
【总是在一直寻觅】 总是在一直寻觅
43 43
00:02:29.100 --> 00:02:32.250 00:02:29.100 --> 00:02:32.250
どっかに君(きみ)の姿(すがた)を どっかに君(きみ)の姿(すがた)を
【寻觅着你的身影】 寻觅着你的身影
44 44
00:02:32.300 --> 00:02:34.250 00:02:32.300 --> 00:02:34.250
交差点(こうさてん)でも 交差点(こうさてん)でも
【每个十字路口】 每个十字路口
45 45
00:02:34.300 --> 00:02:36.250 00:02:34.300 --> 00:02:36.250
梦の中でも 【每次梦境之中】 梦の中でも 每次梦境之中
46 46
00:02:36.300 --> 00:02:39.950 00:02:36.300 --> 00:02:39.950
こんなとこにいるはずもないのに こんなとこにいるはずもないのに
【尽管明知道你不可能在那里】 尽管明知道你不可能在那里
47 47
00:02:40.000 --> 00:02:43.250 00:02:40.000 --> 00:02:43.250
奇迹(きせき)がもしも起(お)こるなら 奇迹(きせき)がもしも起(お)こるなら
【若奇迹将会发生】 若奇迹将会发生
48 48
00:02:43.300 --> 00:02:46.950 00:02:43.300 --> 00:02:46.950
今すぐ君に见せたい 今すぐ君に见せたい
【我希望马上就能见到你】 我希望马上就能见到你
49 49
00:02:47.000 --> 00:02:50.250 00:02:47.000 --> 00:02:50.250
新しい朝(あさ) これからの仆 新しい朝(あさ) これからの仆
【无论崭新的清晨 还是今后的自己】 无论崭新的清晨 还是今后的自己
50 50
00:02:50.300 --> 00:02:57.250 00:02:50.300 --> 00:02:57.250
言えなかった「好き」という言叶も 言えなかった「好き」という言叶も
【或是那句没能说出口的「喜欢你」】 或是那句没能说出口的「喜欢你」
51 51
00:02:57.300 --> 00:03:04.450 00:02:57.300 --> 00:03:04.450
@@ -248,102 +249,102 @@ One more time
53 53
00:03:06.000 --> 00:03:13.950 00:03:06.000 --> 00:03:13.950
夏の想い出がまわる 夏の想い出がまわる
【夏日的回忆在脑海中回旋】 夏日的回忆在脑海中回旋
54 54
00:03:14.000 --> 00:03:20.950 00:03:14.000 --> 00:03:20.950
ふいに消(き)えた鼓动(こどう) ふいに消(き)えた鼓动(こどう)
【刹那间消失的悸动】 刹那间消失的悸动
55 55
00:03:21.000 --> 00:03:24.950 00:03:21.000 --> 00:03:24.950
いつでも捜(さが)しているよ いつでも捜(さが)しているよ
【总是在一直寻觅】 总是在一直寻觅
56 56
00:03:25.000 --> 00:03:27.950 00:03:25.000 --> 00:03:27.950
どっかに君の姿(すがた)を どっかに君の姿(すがた)を
【寻觅着你的身影】 寻觅着你的身影
57 57
00:03:28.000 --> 00:03:29.950 00:03:28.000 --> 00:03:29.950
明(あ)け方(がた)の街(まち) 明(あ)け方(がた)の街(まち)
【在拂晓的街头】 在拂晓的街头
58 58
00:03:30.000 --> 00:03:31.950 00:03:30.000 --> 00:03:31.950
桜木町(さくらぎちょう)で 桜木町(さくらぎちょう)で
【在种满樱树的小镇】 在种满樱树的小镇
59 59
00:03:32.000 --> 00:03:35.950 00:03:32.000 --> 00:03:35.950
こんなとこに来(く)るはずもないのに こんなとこに来(く)るはずもないのに
【尽管明知道你不可能在那里】 尽管明知道你不可能在那里
60 60
00:03:36.000 --> 00:03:39.250 00:03:36.000 --> 00:03:39.250
愿(ねが)いがもしも叶(かな)うなら 愿(ねが)いがもしも叶(かな)うなら
【若愿望能够实现】 若愿望能够实现
61 61
00:03:39.300 --> 00:03:43.050 00:03:39.300 --> 00:03:43.050
今すぐ君のもとへ 今すぐ君のもとへ
【现在马上去到你身边】 现在马上去到你身边
62 62
00:03:43.100 --> 00:03:46.800 00:03:43.100 --> 00:03:46.800
できないことは もう何(なに)もない できないことは もう何(なに)もない
【如今我再也不会有丝毫退缩】 如今我再也不会有丝毫退缩
63 63
00:03:46.850 --> 00:03:50.600 00:03:46.850 --> 00:03:50.600
すべてかけて抱きしめてみせるよ すべてかけて抱きしめてみせるよ
【我会不顾一切紧紧将你拥抱】 我会不顾一切紧紧将你拥抱
64 64
00:03:50.650 --> 00:03:54.250 00:03:50.650 --> 00:03:54.250
いつでも捜(さが)しているよ いつでも捜(さが)しているよ
【总是在一直寻觅】 总是在一直寻觅
65 65
00:03:54.300 --> 00:03:57.700 00:03:54.300 --> 00:03:57.700
どっかに君のかけらを どっかに君のかけらを
【寻觅着你的片断】 寻觅着你的片断
66 66
00:03:57.750 --> 00:03:59.250 00:03:57.750 --> 00:03:59.250
旅先(たびさき)の店(みせ) 旅先(たびさき)の店(みせ)
【在旅途中的小店】 在旅途中的小店
67 67
00:03:59.300 --> 00:04:01.450 00:03:59.300 --> 00:04:01.450
新闻(しんぶん)の隅(すみ) 新闻(しんぶん)の隅(すみ)
【在报纸的角落】 在报纸的角落
68 68
00:04:01.500 --> 00:04:04.950 00:04:01.500 --> 00:04:04.950
こんなとこにあるはずもないのに こんなとこにあるはずもないのに
【尽管明知道你不可能在那里】 尽管明知道你不可能在那里
69 69
00:04:05.000 --> 00:04:08.250 00:04:05.000 --> 00:04:08.250
奇迹(きせき)がもしも起(お)こるなら 奇迹(きせき)がもしも起(お)こるなら
【若奇迹将会发生】 若奇迹将会发生
70 70
00:04:08.300 --> 00:04:12.250 00:04:08.300 --> 00:04:12.250
今すぐ君に见せたい 今すぐ君に见せたい
【我希望现在就能见到你】 我希望现在就能见到你
71 71
00:04:12.300 --> 00:04:16.050 00:04:12.300 --> 00:04:16.050
新しい朝(あさ) これからの仆 新しい朝(あさ) これからの仆
【无论崭新的清晨 还是今后的自己】 无论崭新的清晨 还是今后的自己
72 72
00:04:16.100 --> 00:04:19.400 00:04:16.100 --> 00:04:19.400
言えなかった「好き」という言叶も 言えなかった「好き」という言叶も
【或是那句没能说出口的「喜欢你」】 或是那句没能说出口的「喜欢你」
73 73
00:04:19.450 --> 00:04:19.950 00:04:19.450 --> 00:04:19.950
@@ -352,42 +353,42 @@ One more time
74 74
00:04:20.000 --> 00:04:22.950 00:04:20.000 --> 00:04:22.950
いつでも捜(さが)してしまう いつでも捜(さが)してしまう
【总是在一直寻觅】 总是在一直寻觅
75 75
00:04:23.000 --> 00:04:26.950 00:04:23.000 --> 00:04:26.950
どっかに君の笑颜(えがお)を どっかに君の笑颜(えがお)を
【寻觅着你的笑容】 寻觅着你的笑容
76 76
00:04:27.000 --> 00:04:30.250 00:04:27.000 --> 00:04:30.250
急行(きゅうこう)待ちの 踏切(ふみきり)あたり 急行(きゅうこう)待ちの 踏切(ふみきり)あたり
【哪怕在等待列车通过的铁路道口】 哪怕在等待列车通过的铁路道口
77 77
00:04:30.300 --> 00:04:34.250 00:04:30.300 --> 00:04:34.250
こんなとこにいるはずもないのに こんなとこにいるはずもないのに
【虽然明明知道你不可能在那里】 虽然明明知道你不可能在那里
78 78
00:04:34.300 --> 00:04:37.950 00:04:34.300 --> 00:04:37.950
命(いのち)が缲(く)り返(かえ)すならば 命(いのち)が缲(く)り返(かえ)すならば
【如果生命能够重来】 如果生命能够重来
79 79
00:04:38.000 --> 00:04:41.050 00:04:38.000 --> 00:04:41.050
何度(なんど)も君のもとへ 何度(なんど)も君のもとへ
【无论几次我都要去你身边】 无论几次我都要去你身边
80 80
00:04:41.100 --> 00:04:45.150 00:04:41.100 --> 00:04:45.150
欲(ほ)しいものなど もう何もない 欲(ほ)しいものなど もう何もない
【那时我一定别无所求】 那时我一定别无所求
81 81
00:04:45.200 --> 00:04:52.750 00:04:45.200 --> 00:04:52.750
君のほかに大切なものなど 君のほかに大切なものなど
【再也没有什么比你更加重要】 再也没有什么比你更加重要
82 82
00:04:52.800 --> 00:05:10.950 00:04:52.800 --> 00:05:10.950
+3 -1
View File
@@ -664,9 +664,11 @@ art.plugins.networkMonitor.sample(30000);
Custom subtitle Custom subtitle
| propertie | type | Description | | propertie | type | Description |
| --------- | -------- | ---------------------------------------- | | ----------- | --------- | ---------------------------------------- |
| `url` | `String` | Subtitle url, support vtt and srt format | | `url` | `String` | Subtitle url, support vtt and srt format |
| `style` | `Object` | Subtitle style | | `style` | `Object` | Subtitle style |
| `encoding` | `String` | Subtitle encoding |
| `bilingual` | `Boolean` | Whether bilingual subtitles |
[Run Code](/Configuration.subtitle) [Run Code](/Configuration.subtitle)
+6 -1
View File
@@ -319,11 +319,13 @@ art.contextmenu.add({
- Type: `Object` - Type: `Object`
| propertie | type | Description | | propertie | type | Description |
| --------- | ---------- | ---------------- | | ---------- | --------------- | --------------------- |
| `init` | `Function` | Init subtitle | | `init` | `Function` | Init subtitle |
| `show` | `setter` | Show or hide | | `show` | `setter` | Show or hide |
| `switch` | `Function` | Switch subtitle | | `switch` | `Function` | Switch subtitle |
| `url` | `getter` | get subtitle url | | `url` | `getter` | get subtitle url |
| `encoding` | `getter/setter` | Get and set encoding |
| `style` | `Function` | Modify subtitle style |
[Run Code](/Properties.subtitle) [Run Code](/Properties.subtitle)
@@ -333,6 +335,7 @@ var art = new Artplayer({
url: '/assets/sample/video.mp4', url: '/assets/sample/video.mp4',
subtitle: { subtitle: {
url: '/assets/sample/subtitle.srt', url: '/assets/sample/subtitle.srt',
bilingual: true,
}, },
controls: [ controls: [
{ {
@@ -340,6 +343,7 @@ var art = new Artplayer({
index: 10, index: 10,
html: 'subtitle 01', html: 'subtitle 01',
click: function () { click: function () {
art.subtitle.style('color', 'green');
art.subtitle.switch('/assets/sample/subtitle.srt', 'srt subtitle name'); art.subtitle.switch('/assets/sample/subtitle.srt', 'srt subtitle name');
}, },
}, },
@@ -348,6 +352,7 @@ var art = new Artplayer({
index: 20, index: 20,
html: 'subtitle 02', html: 'subtitle 02',
click: function () { click: function () {
art.subtitle.style('color', 'red');
art.subtitle.switch('/assets/sample/subtitle.vtt', 'vtt subtitle name'); art.subtitle.switch('/assets/sample/subtitle.vtt', 'vtt subtitle name');
}, },
}, },
+20 -6
View File
@@ -144,7 +144,7 @@
} }
} }
var css = ".art-undercover{background:#000;position:fixed;top:0;left:0;display:none;height:100%;width:100%;opacity:.9;z-index:10}.art-video-player{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;margin:0 auto;z-index:20;width:100%;height:100%;outline:0;zoom:1;font-family:Roboto,Arial,Helvetica,sans-serif;color:#eee;text-align:left;direction:ltr;font-size:14px;line-height:1.3;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none}.art-video-player *{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.art-video-player ::-webkit-scrollbar{width:5px}.art-video-player ::-webkit-scrollbar-thumb{background-color:#666}.art-video-player ::-webkit-scrollbar-thumb:hover{background-color:#ccc}.art-video-player .art-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1.5}.art-video-player .art-icon svg{fill:#fff}.art-video-player img{max-width:100%;vertical-align:top}.art-video-player>object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}@supports ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){.art-video-player .art-backdrop-filter{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);background-color:rgba(0,0,0,.7)!important}}.art-video-player .art-video{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;width:100%;height:100%;background-color:#000;cursor:pointer}.art-video-player .art-subtitle{display:none;position:absolute;z-index:20;bottom:10px;width:100%;padding:0 20px;text-align:center;color:#fff;font-size:20px;pointer-events:none;text-shadow:.5px .5px .5px rgba(0,0,0,.5)}.art-video-player .art-subtitle p{word-break:break-all;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin:10px 0 0;line-height:1}.art-video-player.art-subtitle-show .art-subtitle{display:block}.art-video-player.art-control-show .art-subtitle{bottom:50px}.art-video-player .art-danmuku{z-index:30}.art-video-player .art-danmuku,.art-video-player .art-layers{position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.art-video-player .art-layers{display:none;z-index:40}.art-video-player .art-layers .art-layer{pointer-events:auto}.art-video-player.art-layer-show .art-layers{display:block}.art-video-player .art-mask{display:none;z-index:50;left:0;top:0;right:0;bottom:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.art-video-player .art-mask,.art-video-player .art-mask .art-state{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute}.art-video-player .art-mask .art-state{right:30px;bottom:55px;width:60px;height:60px;opacity:.6}.art-video-player.art-mask-show .art-mask,.art-video-player .art-mask .art-state{display:-webkit-box;display:-ms-flexbox;display:flex}.art-video-player .art-loading{display:none;position:absolute;z-index:70;left:0;top:0;right:0;bottom:0;width:100%;height:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;pointer-events:none}.art-video-player.art-loading-show .art-loading{display:-webkit-box;display:-ms-flexbox;display:flex}.art-video-player .art-bottom{position:absolute;z-index:60;left:0;right:0;bottom:0;height:100px;padding:55px 10px 0;opacity:0;visibility:hidden;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;pointer-events:none;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom}.art-video-player .art-bottom .art-progress{position:relative;pointer-events:auto}.art-video-player .art-bottom .art-progress .art-control-progress{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:4px;cursor:pointer}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner{position:relative;height:50%;width:100%;background:hsla(0,0%,100%,.2)}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;height:100%;width:0;background:hsla(0,0%,100%,.4)}.art-video-player .art-bottom .art-progreLine truncated var css = ".art-undercover{background:#000;position:fixed;top:0;left:0;display:none;height:100%;width:100%;opacity:.9;z-index:10}.art-video-player{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;margin:0 auto;z-index:20;width:100%;height:100%;outline:0;zoom:1;font-family:Roboto,Arial,Helvetica,sans-serif;color:#eee;text-align:left;direction:ltr;font-size:14px;line-height:1.3;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none}.art-video-player *{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.art-video-player ::-webkit-scrollbar{width:5px}.art-video-player ::-webkit-scrollbar-thumb{background-color:#666}.art-video-player ::-webkit-scrollbar-thumb:hover{background-color:#ccc}.art-video-player .art-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1.5}.art-video-player .art-icon svg{fill:#fff}.art-video-player img{max-width:100%;vertical-align:top}.art-video-player>object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}@supports ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){.art-video-player .art-backdrop-filter{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);background-color:rgba(0,0,0,.7)!important}}.art-video-player .art-video{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;width:100%;height:100%;background-color:#000;cursor:pointer}.art-video-player .art-subtitle{display:none;position:absolute;z-index:20;bottom:10px;width:100%;padding:0 20px;text-align:center;color:#fff;font-size:20px;pointer-events:none;text-shadow:.5px .5px .5px rgba(0,0,0,.5)}.art-video-player .art-subtitle p{word-break:break-all;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin:5px 0 0;line-height:1}.art-video-player .art-bilingual p:nth-child(2){font-size:.6em}.art-video-player.art-subtitle-show .art-subtitle{display:block}.art-video-player.art-control-show .art-subtitle{bottom:50px}.art-video-player .art-danmuku{z-index:30}.art-video-player .art-danmuku,.art-video-player .art-layers{position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.art-video-player .art-layers{display:none;z-index:40}.art-video-player .art-layers .art-layer{pointer-events:auto}.art-video-player.art-layer-show .art-layers{display:block}.art-video-player .art-mask{display:none;z-index:50;left:0;top:0;right:0;bottom:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.art-video-player .art-mask,.art-video-player .art-mask .art-state{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute}.art-video-player .art-mask .art-state{right:30px;bottom:55px;width:60px;height:60px;opacity:.6}.art-video-player.art-mask-show .art-mask,.art-video-player .art-mask .art-state{display:-webkit-box;display:-ms-flexbox;display:flex}.art-video-player .art-loading{display:none;position:absolute;z-index:70;left:0;top:0;right:0;bottom:0;width:100%;height:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;pointer-events:none}.art-video-player.art-loading-show .art-loading{display:-webkit-box;display:-ms-flexbox;display:flex}.art-video-player .art-bottom{position:absolute;z-index:60;left:0;right:0;bottom:0;height:100px;padding:55px 10px 0;opacity:0;visibility:hidden;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;pointer-events:none;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom}.art-video-player .art-bottom .art-progress{position:relative;pointer-events:auto}.art-video-player .art-bottom .art-progress .art-control-progress{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:4px;cursor:pointer}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner{position:relative;height:50%;width:100%;background:hsla(0,0%,100%,.2)}.art-video-player .art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;height:100%;width:0;backgrounLine truncated
styleInject(css); styleInject(css);
var optionValidator = createCommonjsModule(function (module, exports) { var optionValidator = createCommonjsModule(function (module, exports) {
@@ -787,6 +787,7 @@
subtitle: { subtitle: {
url: 'string', url: 'string',
style: 'object', style: 'object',
encoding: 'string',
bilingual: 'boolean' bilingual: 'boolean'
}, },
moreVideoAttr: 'object', moreVideoAttr: 'object',
@@ -3492,13 +3493,13 @@
} }
}, { }, {
key: "switch", key: "switch",
value: function _switch(url, name, ext) { value: function _switch(url, name, ext, encoding) {
var _this2 = this; var _this2 = this;
var _this$art = this.art, var _this$art = this.art,
i18n = _this$art.i18n, i18n = _this$art.i18n,
notice = _this$art.notice; notice = _this$art.notice;
return this.init(url, ext).then(function (subUrl) { return this.init(url, ext, encoding).then(function (subUrl) {
if (name) { if (name) {
notice.show = "".concat(i18n.get('Switch subtitle'), ": ").concat(name); notice.show = "".concat(i18n.get('Switch subtitle'), ": ").concat(name);
} }
@@ -3510,12 +3511,13 @@
} }
}, { }, {
key: "init", key: "init",
value: function init(url, ext) { value: function init(url, ext, encoding) {
var _this3 = this; var _this3 = this;
var _this$art2 = this.art, var _this$art2 = this.art,
notice = _this$art2.notice, notice = _this$art2.notice,
proxy = _this$art2.events.proxy, proxy = _this$art2.events.proxy,
subtitle = _this$art2.option.subtitle,
_this$art2$template = _this$art2.template, _this$art2$template = _this$art2.template,
$subtitle = _this$art2$template.$subtitle, $subtitle = _this$art2$template.$subtitle,
$video = _this$art2$template.$video, $video = _this$art2$template.$video,
@@ -3532,8 +3534,11 @@
} }
return fetch(url).then(function (response) { return fetch(url).then(function (response) {
return response.text(); return response.arrayBuffer();
}).then(function (text) { }).then(function (buffer) {
var decoder = new TextDecoder(encoding || subtitle.encoding);
var text = decoder.decode(buffer);
_this3.art.emit('subtitleLoad', url); _this3.art.emit('subtitleLoad', url);
switch (ext || getExt(url)) { switch (ext || getExt(url)) {
@@ -3575,6 +3580,14 @@
get: function get() { get: function get() {
return this.textTrack.activeCues[0]; return this.textTrack.activeCues[0];
} }
}, {
key: "encoding",
get: function get() {
return this.art.option.subtitle.encoding;
},
set: function set(value) {
this.art.option.subtitle.encoding = value;
}
}]); }]);
return Subtitle; return Subtitle;
@@ -4758,6 +4771,7 @@
subtitle: { subtitle: {
url: '', url: '',
style: {}, style: {},
encoding: 'utf-8',
bilingual: false bilingual: false
}, },
moreVideoAttr: { moreVideoAttr: {
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"artplayer.js","sources":["../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../node_modules/@babel/runtime/helpers/typeof.js","../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/inherits.js","../../node_modules/style-inject/dist/style-inject.es.js","../../packages/artplayer/node_modules/option-validator/dist/option-validator.js","../../packages/artplayer/src/utils/emitter.js","../../packages/artplayer/src/utils/compatibility.js","../../packages/artplayer/src/utils/dom.js","../../node_modules/@babel/runtime/helpers/isNativeFunction.js","../../node_modules/@babel/runtime/helpers/construct.js","../../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../packages/artplayer/src/utils/error.js","../../packages/artplayer/src/utils/subtitle.js","../../packages/artplayer/src/utils/file.js","../../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../../node_modules/@babel/runtime/helpers/iterableToArray.js","../../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../../node_modules/@babel/runtime/helpers/toConsumableArray.js","../../packages/artplayer/src/utils/property.js","../../packages/artplayer/src/utils/time.js","../../packages/artplayer/src/utils/format.js","../../node_modules/@babel/runtime/helpers/defineProperty.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n/index.js","../../packages/artplayer/src/player/urlMix.js","../../packages/artplayer/src/player/attrInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/exclusiveInit.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMix.js","../../packages/artplayer/src/player/toggleMix.js","../../packages/artplayer/src/player/seekMix.js","../../packages/artplayer/src/player/volumeMix.js","../../packages/artplayer/src/player/currentTimeMix.js","../../packages/artplayer/src/player/durationMix.js","../../packages/artplayer/src/player/switchMix.js","../../packages/artplayer/src/player/playbackRateMix.js","../../packages/artplayer/src/player/aspectRatioMix.js","../../packages/artplayer/src/player/screenshotMix.js","../../packages/artplayer/node_modules/screenfull/dist/screenfull.js","../../packages/artplayer/src/player/fullscreenMix.js","../../packages/artplayer/src/player/fullscreenWebMix.js","../../packages/artplayer/src/player/fullscreenRotateMix.js","../../packages/artplayer/src/player/pipMix.js","../../packages/artplayer/src/player/loadedMix.js","../../packages/artplayer/src/player/playedMix.js","../../packages/artplayer/src/player/playingMix.js","../../packages/artplayer/src/player/autoSizeMix.js","../../packages/artplayer/src/player/rectMix.js","../../packages/artplayer/src/player/flipMix.js","../../packages/artplayer/src/player/lightMix.js","../../packages/artplayer/src/player/miniMix.js","../../packages/artplayer/src/player/loopMin.js","../../packages/artplayer/src/player/index.js","../../node_modules/@babel/runtime/helpers/superPropBase.js","../../node_modules/@babel/runtime/helpers/get.js","../../packages/artplayer/src/utils/component.js","../../packages/artplayer/src/control/fullscreen.js","../../packages/artplayer/src/control/fullscreenWeb.js","../../packages/artplayer/src/control/pip.js","../../packages/artplayer/src/control/playAndPause.js","../../packages/artplayer/src/control/progress.js","../../packages/artplayer/src/control/subtitle.js","../../packages/artplayer/src/control/time.js","../../packages/artplayer/src/control/volume.js","../../packages/artplayer/src/control/setting.js","../../packages/artplayer/src/control/thumbnails.js","../../packages/artplayer/src/control/screenshot.js","../../packages/artplayer/src/control/quality.js","../../packages/artplayer/src/control/loop.js","../../packages/artplayer/src/control/index.js","../../packages/artplayer/src/contextmenu/playbackRate.js","../../packages/artplayer/src/contextmenu/aspectRatio.js","../../packages/artplayer/src/contextmenu/info.js","../../packages/artplayer/src/contextmenu/version.js","../../packages/artplayer/src/contextmenu/light.js","../../packages/artplayer/src/contextmenu/close.js","../../packages/artplayer/src/contextmenu/index.js","../../packages/artplayer/src/info.js","../../packages/artplayer/src/subtitle.js","../../packages/artplayer/src/events/clickInit.js","../../packages/artplayer/src/events/hoverInit.js","../../packages/artplayer/src/events/mousemoveInit.js","../../packages/artplayer/src/events/resizeInit.js","../../packages/artplayer/src/events/gestureILine truncated {"version":3,"file":"artplayer.js","sources":["../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../node_modules/@babel/runtime/helpers/typeof.js","../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/inherits.js","../../node_modules/style-inject/dist/style-inject.es.js","../../packages/artplayer/node_modules/option-validator/dist/option-validator.js","../../packages/artplayer/src/utils/emitter.js","../../packages/artplayer/src/utils/compatibility.js","../../packages/artplayer/src/utils/dom.js","../../node_modules/@babel/runtime/helpers/isNativeFunction.js","../../node_modules/@babel/runtime/helpers/construct.js","../../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../packages/artplayer/src/utils/error.js","../../packages/artplayer/src/utils/subtitle.js","../../packages/artplayer/src/utils/file.js","../../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../../node_modules/@babel/runtime/helpers/iterableToArray.js","../../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../../node_modules/@babel/runtime/helpers/toConsumableArray.js","../../packages/artplayer/src/utils/property.js","../../packages/artplayer/src/utils/time.js","../../packages/artplayer/src/utils/format.js","../../node_modules/@babel/runtime/helpers/defineProperty.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n/index.js","../../packages/artplayer/src/player/urlMix.js","../../packages/artplayer/src/player/attrInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/exclusiveInit.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMix.js","../../packages/artplayer/src/player/toggleMix.js","../../packages/artplayer/src/player/seekMix.js","../../packages/artplayer/src/player/volumeMix.js","../../packages/artplayer/src/player/currentTimeMix.js","../../packages/artplayer/src/player/durationMix.js","../../packages/artplayer/src/player/switchMix.js","../../packages/artplayer/src/player/playbackRateMix.js","../../packages/artplayer/src/player/aspectRatioMix.js","../../packages/artplayer/src/player/screenshotMix.js","../../packages/artplayer/node_modules/screenfull/dist/screenfull.js","../../packages/artplayer/src/player/fullscreenMix.js","../../packages/artplayer/src/player/fullscreenWebMix.js","../../packages/artplayer/src/player/fullscreenRotateMix.js","../../packages/artplayer/src/player/pipMix.js","../../packages/artplayer/src/player/loadedMix.js","../../packages/artplayer/src/player/playedMix.js","../../packages/artplayer/src/player/playingMix.js","../../packages/artplayer/src/player/autoSizeMix.js","../../packages/artplayer/src/player/rectMix.js","../../packages/artplayer/src/player/flipMix.js","../../packages/artplayer/src/player/lightMix.js","../../packages/artplayer/src/player/miniMix.js","../../packages/artplayer/src/player/loopMin.js","../../packages/artplayer/src/player/index.js","../../node_modules/@babel/runtime/helpers/superPropBase.js","../../node_modules/@babel/runtime/helpers/get.js","../../packages/artplayer/src/utils/component.js","../../packages/artplayer/src/control/fullscreen.js","../../packages/artplayer/src/control/fullscreenWeb.js","../../packages/artplayer/src/control/pip.js","../../packages/artplayer/src/control/playAndPause.js","../../packages/artplayer/src/control/progress.js","../../packages/artplayer/src/control/subtitle.js","../../packages/artplayer/src/control/time.js","../../packages/artplayer/src/control/volume.js","../../packages/artplayer/src/control/setting.js","../../packages/artplayer/src/control/thumbnails.js","../../packages/artplayer/src/control/screenshot.js","../../packages/artplayer/src/control/quality.js","../../packages/artplayer/src/control/loop.js","../../packages/artplayer/src/control/index.js","../../packages/artplayer/src/contextmenu/playbackRate.js","../../packages/artplayer/src/contextmenu/aspectRatio.js","../../packages/artplayer/src/contextmenu/info.js","../../packages/artplayer/src/contextmenu/version.js","../../packages/artplayer/src/contextmenu/light.js","../../packages/artplayer/src/contextmenu/close.js","../../packages/artplayer/src/contextmenu/index.js","../../packages/artplayer/src/info.js","../../packages/artplayer/src/subtitle.js","../../packages/artplayer/src/events/clickInit.js","../../packages/artplayer/src/events/hoverInit.js","../../packages/artplayer/src/events/mousemoveInit.js","../../packages/artplayer/src/events/resizeInit.js","../../packages/artplayer/src/events/gestureILine truncated
+1
View File
@@ -148,6 +148,7 @@ export default class Artplayer extends Emitter {
subtitle: { subtitle: {
url: '', url: '',
style: {}, style: {},
encoding: 'utf-8',
bilingual: false, bilingual: false,
}, },
moreVideoAttr: { moreVideoAttr: {
@@ -52,10 +52,10 @@ export default function localSubtitle(art) {
<div class="art-upload-value"></div> <div class="art-upload-value"></div>
</div> </div>
`, `,
mounted: $setting => { mounted: ($setting) => {
const $btn = query('.art-upload-btn', $setting); const $btn = query('.art-upload-btn', $setting);
const $value = query('.art-upload-value', $setting); const $value = query('.art-upload-value', $setting);
art.on('localSubtitle', file => { art.on('localSubtitle', (file) => {
$value.textContent = file.name; $value.textContent = file.name;
$value.title = file.name; $value.title = file.name;
}); });
+1
View File
@@ -90,6 +90,7 @@ export default {
subtitle: { subtitle: {
url: 'string', url: 'string',
style: 'object', style: 'object',
encoding: 'string',
bilingual: 'boolean', bilingual: 'boolean',
}, },
moreVideoAttr: 'object', moreVideoAttr: 'object',
+7 -1
View File
@@ -15,11 +15,17 @@
p { p {
word-break: break-all; word-break: break-all;
height: fit-content; height: fit-content;
margin: 10px 0 0; margin: 5px 0 0;
line-height: 1; line-height: 1;
} }
} }
.art-bilingual {
p:nth-child(2) {
font-size: 0.6em;
}
}
&.art-subtitle-show { &.art-subtitle-show {
.art-subtitle { .art-subtitle {
display: block; display: block;
+17 -5
View File
@@ -35,6 +35,14 @@ export default class Subtitle extends Component {
return this.textTrack.activeCues[0]; return this.textTrack.activeCues[0];
} }
get encoding() {
return this.art.option.subtitle.encoding;
}
set encoding(value) {
this.art.option.subtitle.encoding = value;
}
style(key, value) { style(key, value) {
const { $subtitle } = this.art.template; const { $subtitle } = this.art.template;
if (typeof key === 'object') { if (typeof key === 'object') {
@@ -55,9 +63,9 @@ export default class Subtitle extends Component {
} }
} }
switch(url, name, ext) { switch(url, name, ext, encoding) {
const { i18n, notice } = this.art; const { i18n, notice } = this.art;
return this.init(url, ext).then((subUrl) => { return this.init(url, ext, encoding).then((subUrl) => {
if (name) { if (name) {
notice.show = `${i18n.get('Switch subtitle')}: ${name}`; notice.show = `${i18n.get('Switch subtitle')}: ${name}`;
} }
@@ -66,10 +74,11 @@ export default class Subtitle extends Component {
}); });
} }
init(url, ext) { init(url, ext, encoding) {
const { const {
notice, notice,
events: { proxy }, events: { proxy },
option: { subtitle },
template: { $subtitle, $video, $track }, template: { $subtitle, $video, $track },
} = this.art; } = this.art;
@@ -83,8 +92,11 @@ export default class Subtitle extends Component {
} }
return fetch(url) return fetch(url)
.then((response) => response.text()) .then((response) => response.arrayBuffer())
.then((text) => { .then((buffer) => {
const decoder = new TextDecoder(encoding || subtitle.encoding);
const text = decoder.decode(buffer);
this.art.emit('subtitleLoad', url); this.art.emit('subtitleLoad', url);
switch (ext || getExt(url)) { switch (ext || getExt(url)) {
case 'srt': case 'srt':
+1
View File
@@ -70,6 +70,7 @@ export default class Artplayer {
subtitle?: { subtitle?: {
url: string; url: string;
style: object; style: object;
encoding: string,
bilingual: boolean, bilingual: boolean,
}; };
moreVideoAttr?: object; moreVideoAttr?: object;