Compare commits

..
600 Commits
Author SHA1 Message Date
Harvey c09713d50f artplayer@4.5.2 2022-06-22 16:58:46 +08:00
Harvey 0971aba7f9 Update CHANGELOG_CN.md 2022-06-22 16:51:13 +08:00
Harvey d29f821338 artplayer@4.5.1 2022-06-22 16:50:34 +08:00
Harvey 1db287fb24 update docs 2022-06-22 16:47:41 +08:00
Harvey eb9e42c8f5 update style 2022-06-22 14:35:03 +08:00
Harvey e48c50956d update autoPlayback 2022-06-22 14:27:42 +08:00
Harvey 691202ace4 artplayer-plugin-ads@1.0.4 2022-06-22 10:31:39 +08:00
Harvey 1d4b2d58ac artplayer-plugin-ads@1.0.3 2022-06-22 09:37:50 +08:00
Harvey d81f9d4f65 artplayer-plugin-ads@1.0.2 2022-06-21 14:55:27 +08:00
Harvey 7a2fb8302d Update test.png 2022-06-21 14:38:12 +08:00
Harvey dbac833a26 update mobile demo 2022-06-21 14:30:53 +08:00
Harvey d148e7d9e5 update mobile demo 2022-06-21 14:06:47 +08:00
Harvey 8d04f11048 update mobile demo 2022-06-21 13:57:14 +08:00
Harvey 829d3a4b42 update mobile demo 2022-06-21 13:49:45 +08:00
Harvey a831975f4f Fix test error 2022-06-21 11:13:40 +08:00
Harvey 25d2319287 artplayer-plugin-ads@1.0.0 2022-06-21 10:52:33 +08:00
Harvey d1ead6c543 Update sw.js 2022-06-21 10:46:03 +08:00
Harvey 0149a6e557 update docs 2022-06-21 10:45:20 +08:00
Harvey 35856b745f add ads loading 2022-06-21 10:32:31 +08:00
Harvey 667b7f16e1 Update CHANGELOG_CN.md 2022-06-21 10:09:41 +08:00
Harvey 910c020488 add artplayer-plugin-ads 2022-06-21 10:08:55 +08:00
Harvey 463e05fcc0 Update package.json 2022-06-21 10:02:57 +08:00
Harvey 9a2fd6d9fd update 2022-06-21 10:01:07 +08:00
Harvey Zack 0535b798b2 update 2022-06-20 22:10:24 +08:00
Harvey 199c15ff3f update 2022-06-20 18:17:50 +08:00
Harvey 830720790e update 2022-06-20 17:52:00 +08:00
Harvey 3dea070ade update 2022-06-20 17:23:05 +08:00
Harvey 9716f97a51 update 2022-06-20 16:27:06 +08:00
Harvey ff1f38aeb7 update 2022-06-20 15:12:59 +08:00
Harvey 640360abd7 update 2022-06-20 11:44:00 +08:00
Harvey 0c70663345 update ads demo 2022-06-20 11:13:07 +08:00
Harvey a4d7ff721b init artplayerPluginAds 2022-06-20 10:29:39 +08:00
Harvey 13ace1b8a8 update docs 2022-06-20 10:12:24 +08:00
Harvey 7bbe1ed0be remove ads 2022-06-20 10:09:20 +08:00
Harvey 92f751250e Update package.json 2022-06-17 15:51:29 +08:00
Harvey 422728844a update docs 2022-06-13 15:02:32 +08:00
Harvey 107d884274 add vue2 demo 2022-06-13 15:00:06 +08:00
Harvey 102037dd42 artplayer-plugin-danmuku@4.4.8 2022-06-13 13:28:03 +08:00
Harvey dce698a648 artplayer@4.4.7 2022-06-13 11:31:59 +08:00
Harvey Zack 7cbf28e134 增加弹幕库解析的兼容 2022-06-12 20:17:20 +08:00
Harvey Zack 1a638c490a Update package.json 2022-06-12 19:57:33 +08:00
Harvey Zack 47c2fab768 artplayer@4.4.6 2022-06-11 14:19:39 +08:00
dependabot[bot] 064841f555 Bump lerna from 4.0.0 to 5.1.1
Bumps [lerna](https://github.com/lerna/lerna/tree/HEAD/core/lerna) from 4.0.0 to 5.1.1.
- [Release notes](https://github.com/lerna/lerna/releases)
- [Changelog](https://github.com/lerna/lerna/blob/main/core/lerna/CHANGELOG.md)
- [Commits](https://github.com/lerna/lerna/commits/v5.1.1/core/lerna)

---
updated-dependencies:
- dependency-name: lerna
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-10 10:55:44 +08:00
Harvey 530448c3b4 修改匹配 XML 弹幕的正则表达式 2022-06-08 16:22:27 +08:00
Genteure 19061122b2 修改匹配 XML 弹幕的正则表达式 2022-06-08 16:21:22 +08:00
Harvey edfc95e4c3 回滚到用正则解析弹幕xml 2022-06-08 10:15:16 +08:00
Harvey 8cedc12387 Update CHANGELOG_CN.md 2022-06-08 10:00:20 +08:00
Harvey e2558dafc0 使用DOMParser解析弹幕xml 2022-06-08 10:00:04 +08:00
Genteure d644d322c3 使用 DOMParser 解析弹幕 XML 文件
这样的实现更标准,主要有两个优点:
1. 能正确处理转义过的字符,如 `<d p="2,1,25,16777215,0,0,0,0">&lt;&lt;&lt;&lt;</d>`
2. 能支持其他“兼容”B站弹幕XML格式的弹幕文件
2022-06-08 09:59:11 +08:00
Harvey 3d4f8ce3aa 调整字幕字体大小参数 2022-06-06 14:58:42 +08:00
Harvey Zack a10a9f9507 Update artplayer-plugin-danmuku.d.ts 2022-06-04 11:51:53 +08:00
Harvey Zack b6254f41bc Update artplayer.d.ts 2022-06-04 11:49:01 +08:00
Harvey Zack 86d7b380d5 add danmuku d.ts 2022-06-04 11:32:18 +08:00
Harvey Zack d6b36b49fa artplayer@4.4.5 2022-06-02 21:39:45 +08:00
Harvey 49f4ac5ca9 Update CHANGELOG_CN.md 2022-05-26 13:39:21 +08:00
Harvey b43522263e artplayer@4.4.3 2022-05-26 13:37:45 +08:00
Harvey d716c31af5 Update setting.js 2022-05-24 11:18:23 +08:00
Harvey Zack ea2c3dc289 update danmuku 2022-05-23 20:28:30 +08:00
Harvey 3d47813f12 Update package.json 2022-05-23 17:54:55 +08:00
Harvey Zack c8a4958883 Update mobile.html 2022-05-22 22:10:41 +08:00
Harvey Zack dee47af58f Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2022-05-21 08:46:37 +08:00
Harvey Zack 2c625d72fa Update CONTRIBUTING.md 2022-05-21 08:46:34 +08:00
Harvey Zack ede78ea7cf Update nodejs.yml 2022-05-21 08:41:23 +08:00
Harvey Zack f1c180ddeb Update package.json 2022-05-21 08:40:59 +08:00
Harvey Zack 5255061db3 add postinstall 2022-05-21 08:32:14 +08:00
Harvey 8aba96a9bd 4.4.2 2022-05-20 18:13:34 +08:00
Harvey Zack 6d638b3983 Update CHANGELOG_CN.md 2022-05-19 21:32:51 +08:00
Harvey Zack 85c6eddcf0 Fix setting bug 2022-05-19 21:31:22 +08:00
Harvey d554e4b6f7 add autoSize transition 2022-05-19 09:18:31 +08:00
Harvey 596a3d24f3 Update mobile.html 2022-05-19 09:13:05 +08:00
Harvey 361c0b5eba Update mobile.html 2022-05-19 09:10:58 +08:00
Harvey 8a5910b530 remove danmuku video:loadedmetadata 2022-05-19 09:00:39 +08:00
Harvey Zack d3fbe7c288 fix loading display 2022-05-19 07:35:41 +08:00
Harvey Zack 823c7b0b6f fix mask display 2022-05-19 07:33:02 +08:00
Harvey Zack b0c6005a2e fix control display 2022-05-19 07:27:54 +08:00
Harvey Zack f682321d25 fix highlight display 2022-05-19 07:16:41 +08:00
Harvey Zack 70fd29429e bugfix 2022-05-18 20:04:58 +08:00
Harvey Zack e528465a6e bugfix 2022-05-18 20:01:57 +08:00
Harvey a0175e845f update docs 2022-05-18 13:36:22 +08:00
Harvey 2f9e0d49ee add error icon 2022-05-18 13:25:56 +08:00
Harvey 5dbac4897b update docs 2022-05-18 12:36:08 +08:00
Harvey f160d8eb61 remove art.once('video:loadedmetadata') 2022-05-18 11:29:05 +08:00
Harvey Zack e225966202 update docs 2022-05-17 21:28:01 +08:00
Harvey aa4d8d0211 Update CHANGELOG_CN.md 2022-05-17 15:51:18 +08:00
Harvey ad7022b599 artplayer@4.4.1 2022-05-17 15:50:40 +08:00
Harvey 0eb07c22f2 update style 2022-05-17 13:48:10 +08:00
Harvey 72a314590c add danmuku theme 2022-05-17 13:40:01 +08:00
Harvey ab5ab9b85a update docs 2022-05-17 12:45:43 +08:00
Harvey f83e8a01fc update docs 2022-05-17 12:32:09 +08:00
Harvey 7330c0224c update docs 2022-05-17 10:18:14 +08:00
Harvey 0fac6ba017 update docs 2022-05-17 10:14:17 +08:00
Harvey Zack e34e186085 Update compatibility.js 2022-05-16 22:59:14 +08:00
Harvey Zack a754f6181d typo fix 2022-05-16 22:53:16 +08:00
Harvey Zack f656116ac6 typo fix 2022-05-16 22:49:31 +08:00
Harvey Zack 9728032922 update danmuku maxWidth 2022-05-16 22:07:20 +08:00
Harvey Zack a6188f0fe2 update docs 2022-05-16 21:59:26 +08:00
Harvey Zack 9b054d195a Update layers.less 2022-05-16 21:51:44 +08:00
Harvey Zack 876989a572 remove danmuku mount 2022-05-16 21:48:42 +08:00
Harvey Zack 7379df3f00 update style 2022-05-16 21:01:25 +08:00
Harvey Zack 7909571e70 update danmuku 2022-05-16 20:59:45 +08:00
Harvey f020c30f56 remove danmuku.html 2022-05-16 18:27:24 +08:00
Harvey 0531717000 update danmuku style 2022-05-16 17:53:06 +08:00
Harvey 5eff6bccd9 update danmuku style 2022-05-16 17:47:28 +08:00
Harvey 83322860e0 Update danmuku.html 2022-05-16 17:35:45 +08:00
Harvey 40b76e1b74 add moveOnFullscreen to danmuku 2022-05-16 17:34:43 +08:00
Harvey 3b3b469b9b add loadedmetadata to danmuku 2022-05-16 17:03:59 +08:00
Harvey 1aeb2a93f8 update svgs 2022-05-16 16:57:34 +08:00
Harvey 893f77ba08 update mobile demo 2022-05-16 16:38:10 +08:00
Harvey 2cb73141fb add danmuku maxWidth 2022-05-16 16:24:31 +08:00
Harvey 93a517eaf8 update docs 2022-05-16 15:40:05 +08:00
Harvey d0f6d643a4 add danumuku lockTime 2022-05-16 13:49:41 +08:00
Harvey a989de98e5 update gestureInit.js 2022-05-16 13:18:10 +08:00
Harvey 7410a5be98 update docs 2022-05-16 13:13:07 +08:00
Harvey 2c5ba00521 add art.isLock 2022-05-16 13:09:08 +08:00
Harvey 2189a41334 update ts 2022-05-16 10:28:17 +08:00
Harvey 112256ddd7 add isAndroid and isiOS 2022-05-16 09:11:12 +08:00
Harvey Zack 42d43dfd15 update danmuku demo 2022-05-15 19:54:23 +08:00
Harvey Zack ffb74b9717 update sw.js 2022-05-15 19:45:21 +08:00
Harvey Zack c3f092dc2a 更新弹幕demo 2022-05-15 19:41:12 +08:00
Harvey Zack e8d721f92f 更新弹幕demo 2022-05-15 18:59:33 +08:00
Harvey Zack 3f4ceefbc7 Update CHANGELOG_CN.md 2022-05-15 17:50:45 +08:00
Harvey Zack fc978e9d85 添加滑动设置 2022-05-15 17:49:46 +08:00
Harvey Zack 4c12972101 Update README.md 2022-05-15 13:12:54 +08:00
Harvey Zack ddbb580fca add CHANGELOG 2022-05-15 13:10:20 +08:00
Harvey Zack 92348f004d update docs 2022-05-15 09:12:24 +08:00
Harvey Zack 7558d98116 Update index.js 2022-05-15 08:16:37 +08:00
Harvey Zack a5cda09e3c add danmuku resize 2022-05-15 07:55:52 +08:00
Harvey Zack 2b934ab988 add art.isInput 2022-05-15 07:42:28 +08:00
Harvey Zack 3741f876d5 artplayer@4.4.0 2022-05-14 23:24:13 +08:00
Harvey Zack 9c623b7fd7 add artplayerPluginDanmuku.env 2022-05-14 22:07:20 +08:00
Harvey Zack c568076b6b update danmuku.js 2022-05-14 22:00:28 +08:00
Harvey 1ba6898705 Update index.js 2022-05-14 12:09:37 +08:00
Harvey c1f34caa2e add checkVersion 2022-05-14 12:01:21 +08:00
Harvey e85f14e1b5 update ts 2022-05-14 11:44:51 +08:00
Harvey c46a8b86f7 update docs 2022-05-14 11:44:51 +08:00
Harvey 8bcc020627 add danmuku colors 2022-05-14 11:44:51 +08:00
Harvey Zack e690af2de4 update danmuku style 2022-05-14 11:44:51 +08:00
Harvey Zack 1ec4719806 add danmuku style 2022-05-14 11:44:51 +08:00
Harvey Zack 31eacefa97 update danmuku 2022-05-14 11:44:51 +08:00
Harvey Zack ddac5fd0f2 update danmuku.js 2022-05-14 11:44:51 +08:00
Harvey Zack d50e22ea9b update docs 2022-05-13 20:58:18 +08:00
Harvey Zack 887792c853 add flip icon 2022-05-13 20:44:56 +08:00
Harvey 642a2ac1a9 update danmuku setting 2022-05-13 18:44:31 +08:00
Harvey 59f7a88e51 update sw.js 2022-05-13 18:36:26 +08:00
Harvey 8c9e1e3446 update daumuku demo 2022-05-13 18:33:06 +08:00
Harvey a043a55b38 update danmuku fontSize 2022-05-13 17:06:10 +08:00
Harvey fd40fa71f6 update danmuku demo 2022-05-13 17:01:29 +08:00
Harvey a3889236be update danmuku 2022-05-13 16:10:19 +08:00
Harvey 31bd26a813 update setting 2022-05-13 13:15:46 +08:00
Harvey c964f8e0fc update setting 2022-05-13 13:07:19 +08:00
Harvey ae682b0525 Update mobile.html 2022-05-13 12:53:18 +08:00
Harvey 89a3b02ff5 update sw.js 2022-05-13 12:45:57 +08:00
Harvey 0aeb1262db fix demo 2022-05-13 12:42:27 +08:00
Harvey 737b667c1b update docs 2022-05-13 12:37:07 +08:00
Harvey a6d144d555 Merge branch 'setting-switch' 2022-05-13 12:36:58 +08:00
Harvey 0c1e8f0305 update docs 2022-05-13 11:17:57 +08:00
Harvey a18152b483 update setting 2022-05-13 11:10:29 +08:00
Harvey 2f51e3d546 update setting 2022-05-13 11:07:57 +08:00
Harvey d540b7f32e remove subtitle control 2022-05-13 10:07:54 +08:00
Harvey de9005cf20 update mobile demo 2022-05-13 09:31:11 +08:00
Harvey 7ff42596ef update docs 2022-05-12 18:33:02 +08:00
Harvey e069101c99 add new icons 2022-05-12 18:33:02 +08:00
Harvey c1acf27cd0 Update index.js 2022-05-12 18:33:02 +08:00
Harvey 62ce58330e update docs 2022-05-12 18:32:42 +08:00
Harvey b5148d5f2f add new icons 2022-05-12 17:14:26 +08:00
Harvey 1a7cc79bb6 Update index.js 2022-05-12 16:26:01 +08:00
Harvey Zack a1167f64e1 Update danmuku.js 2022-05-07 23:38:11 +08:00
Harvey Zack 25ed8303f2 Update sw.js 2022-05-07 23:37:33 +08:00
Harvey Zack 68c2c4058b Update danmuku.js 2022-05-07 23:37:18 +08:00
Harvey Zack 628cc0633b update sw.js 2022-05-07 23:29:08 +08:00
Harvey Zack 8b862abb40 fix typo 2022-05-07 21:39:32 +08:00
Harvey 3775f5972b update docs 2022-05-07 16:38:36 +08:00
Harvey 9e3389f8c0 artplayer@4.3.23 2022-05-06 16:29:05 +08:00
Harvey e30aa833db artplayer@4.3.22 2022-05-06 16:23:04 +08:00
Harvey f07ea0796a update docs 2022-05-06 11:44:45 +08:00
Harvey 3c7d76954e build all 2022-05-06 11:25:51 +08:00
Harvey fd51264bb8 update docs 2022-05-06 11:05:16 +08:00
Harvey 33bb679046 update docs 2022-05-06 11:00:10 +08:00
Harvey d88a992efb update docs 2022-05-06 10:46:17 +08:00
Harvey 194c65778b update docs 2022-05-06 10:21:32 +08:00
Harvey Zack 481d8fefbb Update ArtPlayer.js 2022-05-05 23:32:46 +08:00
Harvey Zack 611c6eb6f0 Merge branch 'damuku-v2' 2022-05-05 23:31:40 +08:00
Harvey Zack af9f9b3263 update template 2022-05-05 23:30:58 +08:00
Harvey Zack b78ff00d3a artplayer@4.3.21 2022-05-05 23:27:15 +08:00
Harvey Zack 316f798709 artplayer@4.3.20 2022-05-05 23:27:15 +08:00
Harvey 8a5c96f8bf update 2022-05-05 23:27:15 +08:00
Harvey 8b8ac80d72 update 2022-05-05 23:27:15 +08:00
Harvey 4181109ec6 update 2022-05-05 23:27:15 +08:00
Harvey 9e83d738b6 add danmuku.isStop 2022-05-05 23:27:15 +08:00
Harvey 955dbc0ac2 add option.mount 2022-05-05 23:27:15 +08:00
Harvey 13ffb722a1 add danmuku style 2022-05-05 23:27:15 +08:00
Harvey c9e8d891e1 add vue 2022-05-05 23:27:15 +08:00
Harvey a39a64b3b1 init 2022-05-05 23:27:15 +08:00
Harvey Zack 145d6b7a96 artplayer@4.3.21 2022-05-05 23:21:55 +08:00
Harvey Zack d73e1efaf1 artplayer@4.3.20 2022-05-05 23:13:24 +08:00
Harvey f74a2633b3 update 2022-05-05 18:17:02 +08:00
Harvey 2df5d7dc6d update 2022-05-05 18:02:10 +08:00
Harvey 185830e7a1 update 2022-05-05 17:41:33 +08:00
Harvey a01a587ca0 add danmuku.isStop 2022-05-05 17:32:41 +08:00
Harvey 58c16a737c add option.mount 2022-05-05 17:29:31 +08:00
Harvey 0d7725aabb add danmuku style 2022-05-05 17:18:54 +08:00
Harvey 0ed7f87794 add vue 2022-05-05 17:09:18 +08:00
Harvey 26fba8e2a6 init 2022-05-05 16:41:01 +08:00
Harvey fa3c70e99f update docs 2022-05-05 14:57:09 +08:00
Harvey c366813c12 Update danmuku.js 2022-05-05 14:42:44 +08:00
Harvey 22af442720 Update danmuku.js 2022-05-05 14:37:22 +08:00
Harvey 3c4e4845e3 Update danmuku.js 2022-05-05 14:29:21 +08:00
Harvey d8b4479f5d Update danmuku.js 2022-05-05 14:25:55 +08:00
Harvey Zack 288e29af3a Update index.html 2022-05-04 16:39:17 +08:00
Harvey Zack b2280d8b58 artplayer@4.3.19 2022-05-04 16:37:07 +08:00
Harvey Zack b2278c91b8 Update mobile.html 2022-05-03 12:19:39 +08:00
Harvey Zack d27f43adfe Update mobile.html 2022-05-03 12:17:36 +08:00
Harvey Zack 9d31e8d6e0 artplayer-plugin-danmuku@4.3.23 2022-05-03 12:11:01 +08:00
Harvey Zack c9cafbb55f artplayer-plugin-danmuku@4.3.22 2022-05-03 12:03:43 +08:00
Harvey Zack 21d4a50c54 artplayer@4.3.18 2022-05-03 11:52:09 +08:00
Harvey Zack c3e5afe4d3 update docs 2022-05-03 11:23:36 +08:00
Harvey Zack 703f881019 add artplayer-template 2022-05-03 11:11:23 +08:00
Harvey Zack 8fa763b9c7 Update Artplayer.js 2022-05-03 10:20:51 +08:00
Harvey Zack 9b723947e6 update d.ts 2022-05-03 09:08:51 +08:00
Daxxxis 277dc9129d translations fixes 2022-05-03 08:58:00 +08:00
Daxxxis 66700e0dff Quick fix 2022-05-03 08:58:00 +08:00
Daxxxis f8d0bae5d5 Add pl and cs languages 2022-05-03 08:58:00 +08:00
Harvey Zack 7efa43d5d5 artplayer@4.3.17 2022-05-02 16:27:54 +08:00
Harvey Zack 7ce17f90c4 artplayer@4.3.17 2022-05-02 16:27:25 +08:00
Harvey Zack 3e97b05a73 Update sw.js 2022-05-02 08:06:34 +08:00
Harvey Zack 67fd787128 update danmuku demo 2022-05-02 07:11:19 +08:00
Harvey Zack e5753e8f82 artplayer-plugin-danmuku@4.3.19 2022-05-02 07:03:17 +08:00
Harvey Zack 526096bef3 update docs 2022-05-02 00:57:02 +08:00
Harvey Zack e9aadad873 artplayer-plugin-danmuku@4.3.18 2022-05-02 00:52:28 +08:00
Harvey Zack 992803e10c add useWorker to danmuku 2022-05-02 00:48:40 +08:00
Harvey Zack e437cb7a84 Fix Worker Error 2022-05-02 00:43:33 +08:00
Harvey Zack 91c3370fdd Update sw.js 2022-05-02 00:26:12 +08:00
Harvey Zack 5e05f9e4c2 artplayer-plugin-danmuku@4.3.17 2022-05-02 00:23:06 +08:00
Harvey Zack 7bcc296fc2 add worker to danmuku 2022-05-02 00:14:46 +08:00
Harvey Zack 5ff4a8f70b add worker 2022-05-01 22:45:24 +08:00
Harvey Zack 09d1c2ed08 fix d.ts 2022-05-01 22:05:24 +08:00
Harvey Zack 57f22a2fcb update docs 2022-05-01 19:01:05 +08:00
Harvey Zack b26b522d8b artplayer@4.3.16 2022-05-01 18:01:31 +08:00
Harvey Zack 611fd68575 artplayer-plugin-danmuku@4.3.16 2022-05-01 18:00:06 +08:00
Harvey Zack 49337a3e3f update sw.js 2022-05-01 17:55:42 +08:00
Harvey Zack f2ca05758c artplayer-plugin-danmuku@4.3.15 2022-05-01 16:52:03 +08:00
Harvey Zack de8d7ec999 update 2022-05-01 16:39:15 +08:00
Harvey Zack c84acbc39b update 2022-05-01 16:33:47 +08:00
dependabot[bot] 73695722cf Bump mocha from 9.2.2 to 10.0.0
Bumps [mocha](https://github.com/mochajs/mocha) from 9.2.2 to 10.0.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v9.2.2...v10.0.0)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-01 15:24:58 +08:00
Harvey Zack 38d87bf213 artplayer-plugin-danmuku@4.3.14 2022-05-01 15:20:31 +08:00
Harvey Zack 9b153ff0dd reset after fontSize change 2022-05-01 15:17:03 +08:00
Harvey Zack f840edf899 rebuild sw.js 2022-05-01 15:06:05 +08:00
Harvey Zack 77641f4aa3 update docs 2022-05-01 15:04:53 +08:00
Harvey Zack 54b64418be update 2022-05-01 15:02:30 +08:00
Harvey Zack b195d93e63 update 2022-05-01 15:02:30 +08:00
Harvey Zack bd9d0a436c update 2022-05-01 15:02:30 +08:00
Harvey Zack 13e56aed01 update 2022-05-01 15:02:30 +08:00
Harvey Zack 5508660c19 update 2022-05-01 15:02:30 +08:00
Harvey Zack cba10856da update 2022-05-01 15:02:30 +08:00
Harvey Zack 755c6dc36a update 2022-05-01 15:02:30 +08:00
Harvey Zack 632e88ae0b update 2022-05-01 15:02:30 +08:00
Harvey Zack 8087a93534 update 2022-05-01 15:02:30 +08:00
Harvey Zack 43fb02c4cc update 2022-05-01 15:02:30 +08:00
Harvey Zack 235b235245 update 2022-05-01 15:02:30 +08:00
Harvey Zack 99dce8c673 update 2022-05-01 15:02:30 +08:00
Harvey Zack 3761ff4979 update 2022-05-01 15:02:30 +08:00
Harvey Zack 2dfa895ba2 update 2022-05-01 15:02:30 +08:00
Harvey Zack 2e1c5fdc18 update 2022-05-01 15:02:30 +08:00
Harvey Zack de70e41590 update 2022-05-01 15:02:30 +08:00
Harvey Zack 659b4e965a update 2022-05-01 15:02:30 +08:00
Harvey Zack 14c1240671 update 2022-05-01 15:02:30 +08:00
Harvey Zack 617ac9e893 update 2022-05-01 15:02:30 +08:00
Harvey Zack 98b7f33fab update 2022-05-01 15:02:30 +08:00
Harvey Zack 1502212085 fix srt subtitle parsing 2022-04-30 18:11:19 +08:00
Harvey Zack 7585f9895c 4.3.13 2022-04-30 17:57:57 +08:00
Harvey Zack def8c6df46 update getDanmuTop 2022-04-30 17:31:41 +08:00
Harvey Zack 8ea10853ad update danmuku demo 2022-04-30 17:21:01 +08:00
Harvey Zack 9cefead73e update mobile demo 2022-04-30 13:40:13 +08:00
Harvey Zack 2ffdaa6175 update mobile demo 2022-04-30 13:27:40 +08:00
Harvey Zack 22765b27dd 4.3.12 2022-04-30 09:16:06 +08:00
Harvey Zack 2979fc49bc add compiled dir 2022-04-30 09:09:47 +08:00
Harvey Zack bc838bf0f2 use prompts dep 2022-04-30 08:21:50 +08:00
Harvey Zack 8a1546f9dd update docs 2022-04-29 23:22:00 +08:00
Harvey Zack 4dcdda0089 update readme 2022-04-29 23:00:22 +08:00
Harvey Zack 544eaa0ecc update icon 2022-04-29 22:16:32 +08:00
Harvey Zack 58e18c1d60 update danmuku.js 2022-04-29 22:02:47 +08:00
Harvey Zack 5667235d8d udpate danmuku example 2022-04-29 20:42:55 +08:00
Harvey Zack ef66416389 add danmu filter 2022-04-29 20:34:57 +08:00
Harvey 763d5c0788 Update index.js 2022-04-29 18:48:15 +08:00
Harvey fce810092f update docs 2022-04-29 18:45:49 +08:00
Harvey Zack e141163350 Create README.md 2022-04-29 18:11:36 +08:00
Harvey e34d09a99c use async/await 2022-04-29 18:04:50 +08:00
Harvey facf8876b5 add normalSizeMix 2022-04-29 17:51:46 +08:00
Harvey 227268ecda update sw.js 2022-04-29 17:43:20 +08:00
Harvey b53deb5ad8 update danmuku.js 2022-04-29 17:01:30 +08:00
Harvey 3fe822253a update getDanmuTop 2022-04-29 16:36:51 +08:00
Harvey 06782590b7 update danmuku.js 2022-04-29 15:33:21 +08:00
Harvey e7c23f359a update danmuku.js 2022-04-29 13:49:48 +08:00
Harvey 2ac14e96b9 update danmuku 2022-04-29 11:46:52 +08:00
Harvey 46fbccd267 add browserslist 2022-04-29 11:02:46 +08:00
Harvey 93d049e18c update build script 2022-04-29 10:55:22 +08:00
Harvey 79d4ef3d36 update style 2022-04-29 10:42:41 +08:00
Harvey 744a6496c7 change icon size 2022-04-29 10:27:19 +08:00
Harvey 32e73ab588 update docs 2022-04-29 10:14:28 +08:00
Harvey 208096f3c7 change some icons 2022-04-29 10:14:19 +08:00
Harvey Zack e2d016c28f Update package.json 2022-04-29 07:29:09 +08:00
Harvey Zack 6799b6b337 update build-sw.js 2022-04-29 07:25:16 +08:00
Harvey Zack 5486bc31d6 update hint color 2022-04-29 07:18:46 +08:00
Harvey Zack 4f4b52e423 Fix template.js 2022-04-29 07:16:18 +08:00
Harvey Zack f47138112a update setting height 2022-04-29 06:37:23 +08:00
Harvey cc6151d0bd update docs 2022-04-28 14:35:45 +08:00
Harvey f2b755ef35 update lerna.json 2022-04-28 14:07:20 +08:00
Harvey Zack 6e302d4b76 Update nodejs.yml 2022-04-28 14:03:22 +08:00
Harvey 6f2b9bd6d0 Update lerna.json 2022-04-28 13:56:36 +08:00
Harvey fd0bcf4b5c add package-lock.json 2022-04-28 13:52:47 +08:00
Harvey Zack 4310fdbc21 Update nodejs.yml 2022-04-28 13:43:27 +08:00
Harvey b5a71650ea update package.json 2022-04-28 13:37:01 +08:00
Harvey ac6a6c8136 Merge branch 'parceljs' of https://github.com/zhw2590582/ArtPlayer into parceljs 2022-04-28 13:28:54 +08:00
Harvey c551231edc add build:all 2022-04-28 13:28:51 +08:00
Harvey Zack 352c027bb5 Update nodejs.yml 2022-04-28 13:18:06 +08:00
Harvey db66272555 add banner 2022-04-28 13:15:48 +08:00
Harvey dd8ba4c64d Fix dev.js 2022-04-28 13:04:58 +08:00
Harvey 9cb8c56e4d add hint.less 2022-04-28 12:45:45 +08:00
Harvey c2ea7d0ce0 Update package.json 2022-04-28 12:27:34 +08:00
Harvey 7d728556c8 Fix eslint 2022-04-28 12:26:46 +08:00
Harvey ec54a0519d update test 2022-04-28 11:53:59 +08:00
Harvey 526f6ea8ca fix test 2022-04-28 11:50:53 +08:00
Harvey 810266c44e update parcel 2022-04-28 11:47:50 +08:00
Harvey bf342975db update 2022-04-28 11:26:35 +08:00
Harvey 3fc4b99841 update 2022-04-28 10:37:12 +08:00
Harvey c4b4d4e7a8 update 2022-04-28 10:00:21 +08:00
Harvey 5001490210 init 2022-04-28 09:32:41 +08:00
Harvey Zack 7397a0d18d update style 2022-04-28 07:31:39 +08:00
Harvey Zack 28a487777f update style 2022-04-28 07:26:50 +08:00
Harvey Zack f95384b41a remove outline util 2022-04-28 07:19:48 +08:00
Harvey Zack d05ec2095d remove art-layer-fast-forward 2022-04-27 22:18:52 +08:00
Harvey Zack 7ca0cd5529 update MOBILE_AUTO_ORIENTATION_TIME 2022-04-27 22:10:54 +08:00
Harvey Zack 78d042b33b fix miniProgressBar 2022-04-27 21:46:37 +08:00
Harvey Zack be507d05e9 update style 2022-04-27 21:35:51 +08:00
Harvey Zack 9c5b1cdc4a fix miniProgressBar 2022-04-27 21:33:48 +08:00
Harvey Zack 64015fcec2 fix miniProgressBar 2022-04-27 21:17:58 +08:00
Harvey Zack cf5099f259 try screen.orientation.lock 2022-04-27 20:57:05 +08:00
Harvey e4f815e24f update gestureInit 2022-04-27 18:33:33 +08:00
Harvey f4ade95551 onSelect can return a promise 2022-04-27 15:44:06 +08:00
Harvey ec6b439d39 4.3.11 2022-04-27 15:10:39 +08:00
Harvey 07a58c0a38 4.3.10 2022-04-27 15:00:42 +08:00
Harvey 178c044070 update fastForward 2022-04-27 14:52:25 +08:00
Harvey c5ed370c8b update fastForward 2022-04-27 14:37:16 +08:00
Harvey 8c7edbb83a update style 2022-04-27 14:19:09 +08:00
Harvey cbc8b7a808 update style 2022-04-27 14:08:34 +08:00
Harvey a87d2df05e update style 2022-04-27 14:08:01 +08:00
Harvey 14de0c6a01 update style 2022-04-27 14:02:42 +08:00
Harvey 3b63e1a59b add fastForward 2022-04-27 13:55:47 +08:00
Harvey 17262ff63d update style 2022-04-27 13:26:20 +08:00
Harvey a891ccd7d1 remove indicatorGestureInit 2022-04-27 13:19:03 +08:00
Harvey 26fedfa3d1 4.3.9 2022-04-27 11:14:22 +08:00
Harvey b60326491e remove autoPlayback from mobile demo 2022-04-27 11:07:53 +08:00
Harvey 9611bc8a0c add INDICATOR_SIZE_MOBILE_ICON 2022-04-27 10:48:57 +08:00
Harvey fc3abd7d1d separate variable constants 2022-04-27 10:42:07 +08:00
Harvey 57a14f63ac add indicatorGestureInit 2022-04-27 09:45:47 +08:00
Harvey 99ba0f6131 update mobile style 2022-04-26 18:49:19 +08:00
Harvey d4c67a8a7d update indicatorSize 2022-04-26 18:41:17 +08:00
Harvey 69d97f4d77 update getPosFromEventMobile 2022-04-26 18:22:06 +08:00
Harvey e862f8d56c add getPosFromEventMobile 2022-04-26 18:21:24 +08:00
Harvey 8549661327 update touchmove event 2022-04-26 17:52:15 +08:00
Harvey 3a3c21e059 update touchmove event 2022-04-26 17:50:17 +08:00
Harvey 49aedb0026 update style 2022-04-26 17:31:07 +08:00
Harvey b86fb446b0 add autoOrientation state 2022-04-26 17:23:42 +08:00
Harvey b292b769bd add autoOrientation 2022-04-26 17:23:42 +08:00
Harvey 4539a46a82 update setting 2022-04-26 13:23:25 +08:00
Harvey df375808d9 update build-sw.js 2022-04-26 12:21:03 +08:00
Harvey 7e58717e07 add build-sw.js 2022-04-26 11:53:11 +08:00
dependabot[bot] be88f55657 Bump @rollup/plugin-commonjs from 21.1.0 to 22.0.0
Bumps [@rollup/plugin-commonjs](https://github.com/rollup/plugins/tree/HEAD/packages/commonjs) from 21.1.0 to 22.0.0.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Changelog](https://github.com/rollup/plugins/blob/master/packages/commonjs/CHANGELOG.md)
- [Commits](https://github.com/rollup/plugins/commits/commonjs-v22.0.0/packages/commonjs)

---
updated-dependencies:
- dependency-name: "@rollup/plugin-commonjs"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-26 09:05:17 +08:00
Harvey Zack 9aae64d5cf 4.3.8 2022-04-25 22:15:56 +08:00
Harvey Zack c9e45567ab bugfix 2022-04-25 22:11:46 +08:00
Harvey Zack 3d37b5e056 update 2022-04-25 22:11:46 +08:00
Harvey e0ddedaff5 Fix autoPlayback ready 2022-04-25 16:14:12 +08:00
Harvey 65fcc3d128 Fix autoPlayback event 2022-04-25 16:09:24 +08:00
Harvey 9a68d13e1c typo: clean -> clear 2022-04-25 16:02:54 +08:00
Harvey c134be8c75 add autoPlayback clear function 2022-04-25 15:55:54 +08:00
Harvey e490c65f99 update docs 2022-04-25 15:43:09 +08:00
Harvey 429753aa6e add autoPlayback 2022-04-25 15:38:26 +08:00
Harvey Zack b46dacd353 update i18n 2022-04-25 15:38:26 +08:00
Harvey Zack 59d19b67c7 add autoPlayback 2022-04-25 15:38:26 +08:00
Harvey Zack 07edda2e22 add subtitle outline style 2022-04-23 17:15:14 +08:00
Harvey Zack d08ceb3855 Delete artplayer.png 2022-04-23 10:54:33 +08:00
Harvey Zack f8abfabe17 Update README.md 2022-04-23 10:54:20 +08:00
Harvey Zack 7014cc8e4d Add files via upload 2022-04-23 10:53:54 +08:00
Harvey Zack e4e05eb4b3 Add files via upload 2022-04-23 10:51:32 +08:00
Harvey Zack 8e995dd2b6 Update README.md 2022-04-23 10:49:27 +08:00
Harvey Zack a9bdf0729f Add files via upload 2022-04-23 10:46:40 +08:00
Harvey Zack b0a5c2df1c Create mobile.js 2022-04-23 10:33:19 +08:00
Harvey 87e7b87a1f add lock state 2022-04-23 09:10:28 +08:00
Harvey 6972cd49af 4.3.7 2022-04-22 16:44:54 +08:00
Harvey 13bccc4cbf update docs 2022-04-22 16:38:21 +08:00
Harvey a58e0139b5 Merge branch 'lock' 2022-04-22 16:32:02 +08:00
Harvey aaeaf87bc2 Fix lock style 2022-04-22 16:30:25 +08:00
Harvey b22906e0fa add lock 2022-04-22 16:25:51 +08:00
Harvey f08c4767c2 update 2022-04-22 16:25:51 +08:00
Harvey 4a9d98ac4d Create lock.js 2022-04-22 16:25:51 +08:00
Harvey c4c89ac2b2 add lock 2022-04-22 16:25:28 +08:00
Harvey 39a16f8c36 update 2022-04-22 15:41:49 +08:00
Harvey f1310a3148 Create lock.js 2022-04-22 13:50:41 +08:00
Harvey 0ed695a899 update docs 2022-04-22 11:19:24 +08:00
Harvey 9e90028be6 update docs 2022-04-22 10:57:06 +08:00
Harvey 03fcc89abf add readyCallback 2022-04-21 17:49:12 +08:00
Harvey 92393357c7 4.3.6 2022-04-21 17:25:10 +08:00
Harvey 225eea4158 4.3.5 2022-04-21 17:15:22 +08:00
Harvey 9697a61526 add dblclick event 2022-04-21 17:05:01 +08:00
Harvey 6ad6e8fddc update docs 2022-04-21 16:14:34 +08:00
Harvey c709b5d7db update mask mobile style 2022-04-21 16:02:03 +08:00
dependabot[bot] 1191909961 Bump glob from 7.2.0 to 8.0.1
Bumps [glob](https://github.com/isaacs/node-glob) from 7.2.0 to 8.0.1.
- [Release notes](https://github.com/isaacs/node-glob/releases)
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v7.2.0...v8.0.1)

---
updated-dependencies:
- dependency-name: glob
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-12 09:16:08 +08:00
Harvey 54882b4e25 4.3.4 2022-03-23 18:14:49 +08:00
Harvey 2a5913c658 update style 2022-03-23 17:22:12 +08:00
Harvey b3e3d2fe62 add setting to mobile demo 2022-03-23 17:09:07 +08:00
Harvey d43057c8af add mobile playsInline 2022-03-23 16:44:01 +08:00
dependabot[bot] cc39bed24d Bump @mdx-js/react from 1.6.22 to 2.1.0
Bumps [@mdx-js/react](https://github.com/mdx-js/mdx/tree/HEAD/packages/react) from 1.6.22 to 2.1.0.
- [Release notes](https://github.com/mdx-js/mdx/releases)
- [Changelog](https://github.com/mdx-js/mdx/blob/main/changelog.md)
- [Commits](https://github.com/mdx-js/mdx/commits/2.1.0/packages/react)

---
updated-dependencies:
- dependency-name: "@mdx-js/react"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-19 21:05:33 +08:00
zhw2590582 146a8c0256 4.3.3 2022-03-16 23:01:07 +08:00
zhw2590582 c0321f660c 4.3.2 2022-03-16 22:49:04 +08:00
zhw2590582 3b365b7933 update mobile demo 2022-03-16 22:35:08 +08:00
zhw2590582 7db6cb7ef4 Update mobile.html 2022-03-16 22:25:10 +08:00
zhw2590582 fbe6df0939 Update mobile.html 2022-03-16 22:22:09 +08:00
zhw2590582 b88e3be378 Update index.js 2022-03-16 22:20:13 +08:00
zhw2590582 4f10486987 add playsInline option 2022-03-16 22:02:28 +08:00
Harvey b284381534 update demo 2022-03-11 13:42:08 +08:00
Harvey 5471464dae update gestureInit 2022-03-10 18:42:50 +08:00
Harvey 0f388c5173 update gestureInit 2022-03-10 18:40:12 +08:00
Harvey 8898ab0078 update mobile demo 2022-03-10 18:33:42 +08:00
Harvey 56df5ad1e7 up[date gestureInit 2022-03-10 18:28:07 +08:00
Harvey 3a3246ee3f update gestureInit 2022-03-10 18:22:40 +08:00
Harvey b4500e701f remove bilingual 2022-03-10 09:48:32 +08:00
Harvey 5defc28505 Update index.js 2022-03-10 09:40:07 +08:00
Harvey 30a0dff4e8 Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2022-03-10 09:25:00 +08:00
Harvey 4bc97c5d37 update sample files 2022-03-10 09:24:24 +08:00
zhw2590582 1684c2c7e6 Create SourceHanSansCN-Medium.otf 2022-03-09 20:53:39 +08:00
zhw2590582 d43e4540fb update JavascriptSubtitlesOctopus 2022-03-09 20:43:47 +08:00
Harvey 08a29d5cb0 Create subtitles-octopus-worker-legacy.js 2022-03-07 14:35:10 +08:00
Harvey da5e4de861 add JavascriptSubtitlesOctopus to demo 2022-03-07 14:32:50 +08:00
Harvey fccfd63022 add thumbnails 2022-03-04 10:07:39 +08:00
Harvey a65596de3e Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2022-03-03 14:51:37 +08:00
Harvey 060bed6e72 Create vite.test.vue 2022-03-03 14:51:34 +08:00
dependabot[bot] 67565203bb Bump @rollup/plugin-replace from 3.1.0 to 4.0.0
Bumps [@rollup/plugin-replace](https://github.com/rollup/plugins/tree/HEAD/packages/replace) from 3.1.0 to 4.0.0.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Changelog](https://github.com/rollup/plugins/blob/master/packages/replace/CHANGELOG.md)
- [Commits](https://github.com/rollup/plugins/commits/url-v4.0.0/packages/replace)

---
updated-dependencies:
- dependency-name: "@rollup/plugin-replace"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-24 10:41:23 +08:00
Harvey 3bf4db8529 update docs 2022-02-14 10:09:58 +08:00
Harvey 5a6a92806c update ts 2022-02-14 09:57:38 +08:00
Harvey ce677ef602 4.3.1 2022-02-14 09:49:49 +08:00
Harvey 222f786b88 update 2022-02-14 09:38:14 +08:00
zhw2590582 4420bcaf9b 4.3.0 2022-02-12 09:35:28 +08:00
zhw2590582 32361e62f5 update docs 2022-02-11 21:15:51 +08:00
zhw2590582 62c2e42940 update docs 2022-02-11 21:11:37 +08:00
zhw2590582 e79d96f8f8 update setting 2022-02-11 20:48:44 +08:00
zhw2590582 c9040e5eec Fix some notice 2022-02-11 20:40:25 +08:00
zhw2590582 1de2d2aaed update setting 2022-02-11 20:23:27 +08:00
Harvey 81ba45adf9 update setting 2022-02-11 18:24:18 +08:00
Harvey 018b556d6b update setting 2022-02-11 18:20:35 +08:00
Harvey 5bd2de4179 update demo 2022-02-11 18:03:48 +08:00
Harvey fd836ec10f update setting 2022-02-11 17:54:36 +08:00
Harvey 12047d90ef update setting 2022-02-11 17:33:35 +08:00
Harvey 0616d944c5 update setting 2022-02-11 17:02:56 +08:00
Harvey 7976cc42fe update setting 2022-02-11 16:23:02 +08:00
Harvey 36f295aebb update setting 2022-02-11 15:45:23 +08:00
Harvey 97b5d52a89 Update index.js 2022-02-11 15:35:38 +08:00
Harvey c0ed71881b update docs 2022-02-11 15:33:28 +08:00
Harvey 7b0dd9618d add flip in menu 2022-02-11 14:09:49 +08:00
Harvey ad382b1569 update setting 2022-02-11 13:56:43 +08:00
Harvey a56553c6f6 update setting 2022-02-11 13:47:44 +08:00
Harvey 292516ab89 update docs 2022-02-11 13:26:41 +08:00
Harvey f7f4899926 Update mobile.js 2022-02-11 12:56:27 +08:00
Harvey 936617707f update type 2022-02-11 12:55:21 +08:00
Harvey aac95549cb update style 2022-02-11 12:47:45 +08:00
Harvey 8833c310e2 update docs 2022-02-11 12:40:48 +08:00
Harvey 81e107d7ef update demo 2022-02-11 12:36:17 +08:00
Harvey fe88ab30d3 update docs 2022-02-11 12:23:52 +08:00
Harvey d9cad3ef85 bugfix 2022-02-11 11:53:57 +08:00
Harvey d9f23c40c6 Update package.json 2022-02-11 11:26:04 +08:00
Harvey 6c2c2529ce update 2022-02-11 11:20:54 +08:00
Harvey 7bb8c3d0e5 update 2022-02-11 11:20:54 +08:00
Harvey 17f79d0b22 update 2022-02-11 11:20:54 +08:00
Harvey 4d66a8538d update 2022-02-11 11:20:54 +08:00
Harvey 5e9057f060 update 2022-02-11 11:20:54 +08:00
Harvey b80a30bcc0 update 2022-02-11 11:20:54 +08:00
Harvey a2b02f44cc update 2022-02-11 11:20:54 +08:00
Harvey 646e7401b7 update 2022-02-11 11:20:54 +08:00
Harvey fd8e763ae6 update 2022-02-11 11:20:54 +08:00
Harvey 2d57f6d6d1 update 2022-02-11 11:20:54 +08:00
Harvey 5d97a622bb update 2022-02-11 11:20:54 +08:00
Harvey 8398305d6a update 2022-02-11 11:20:54 +08:00
Harvey c7a60b1084 update 2022-02-11 11:20:54 +08:00
Harvey 80085a1671 update 2022-02-11 11:20:54 +08:00
Harvey 9b10020ba0 update 2022-02-11 11:20:54 +08:00
Harvey 946ca45202 update 2022-02-11 11:20:54 +08:00
Harvey 030913dc48 update 2022-02-11 11:20:54 +08:00
Harvey eaeb74ef7a update 2022-02-11 11:20:54 +08:00
Harvey 54ad5c04bb update 2022-02-11 11:20:54 +08:00
Harvey 96839016ba update 2022-02-11 11:20:54 +08:00
Harvey bc0df8e60c update 2022-02-11 11:20:54 +08:00
Harvey 598ec8410d update 2022-02-11 11:20:54 +08:00
Harvey fedbf3b6f7 update 2022-02-11 11:20:54 +08:00
Harvey dabfb2b8c8 update 2022-02-11 11:20:54 +08:00
Harvey 814a02d14a update 2022-02-11 11:20:54 +08:00
Harvey 21228216f9 update 2022-02-11 11:20:54 +08:00
Harvey 548334eb0b update 2022-02-11 11:20:54 +08:00
Harvey 8e9ff63493 update 2022-02-11 11:20:54 +08:00
Harvey 7d01ce5506 update 2022-02-11 11:20:54 +08:00
Harvey fa0f049a4e update 2022-02-11 11:20:54 +08:00
Harvey a3cdd42920 update 2022-02-11 11:20:54 +08:00
Harvey 1101ce0ba9 update 2022-02-11 11:20:54 +08:00
Harvey aaa5934790 update 2022-02-11 11:20:54 +08:00
Harvey fc37573482 update 2022-02-11 11:20:54 +08:00
Harvey Zack bc778a4d07 Merge pull request #224 from zhw2590582/dependabot/npm_and_yarn/mdx-js/react-2.0.0
Bump @mdx-js/react from 1.6.22 to 2.0.0
2022-02-02 10:26:13 +08:00
dependabot[bot] a35eeab85b Bump @mdx-js/react from 1.6.22 to 2.0.0
Bumps [@mdx-js/react](https://github.com/mdx-js/mdx/tree/HEAD/packages/react) from 1.6.22 to 2.0.0.
- [Release notes](https://github.com/mdx-js/mdx/releases)
- [Changelog](https://github.com/mdx-js/mdx/blob/main/changelog.md)
- [Commits](https://github.com/mdx-js/mdx/commits/2.0.0/packages/react)

---
updated-dependencies:
- dependency-name: "@mdx-js/react"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-01 19:19:49 +00:00
Harvey Zack e0ec28a2a8 Merge pull request #219 from zhw2590582/dependabot/npm_and_yarn/docusaurus/core-2.0.0-beta.15
Bump @docusaurus/core from 2.0.0-beta.14 to 2.0.0-beta.15
2022-01-29 16:10:32 +08:00
Harvey Zack 58123a902c Merge branch 'master' into dependabot/npm_and_yarn/docusaurus/core-2.0.0-beta.15 2022-01-29 16:10:26 +08:00
Harvey Zack 33eb4c14ae Merge pull request #220 from zhw2590582/dependabot/npm_and_yarn/docusaurus/preset-classic-2.0.0-beta.15
Bump @docusaurus/preset-classic from 2.0.0-beta.14 to 2.0.0-beta.15
2022-01-29 16:09:55 +08:00
Harvey 7edde5ce61 Update package.json 2022-01-28 11:34:17 +08:00
Harvey f7df500186 Update package.json 2022-01-28 11:23:56 +08:00
Harvey ef3e0dfe56 Update package.json 2022-01-28 11:13:42 +08:00
Harvey 40f4121c7d Update package.json 2022-01-28 10:51:49 +08:00
dependabot[bot] 3df69608d4 Bump @docusaurus/preset-classic from 2.0.0-beta.14 to 2.0.0-beta.15
Bumps [@docusaurus/preset-classic](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-preset-classic) from 2.0.0-beta.14 to 2.0.0-beta.15.
- [Release notes](https://github.com/facebook/docusaurus/releases)
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/docusaurus/commits/v2.0.0-beta.15/packages/docusaurus-preset-classic)

---
updated-dependencies:
- dependency-name: "@docusaurus/preset-classic"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-26 19:22:15 +00:00
dependabot[bot] 0d3afc0e44 Bump @docusaurus/core from 2.0.0-beta.14 to 2.0.0-beta.15
Bumps [@docusaurus/core](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus) from 2.0.0-beta.14 to 2.0.0-beta.15.
- [Release notes](https://github.com/facebook/docusaurus/releases)
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/docusaurus/commits/v2.0.0-beta.15/packages/docusaurus)

---
updated-dependencies:
- dependency-name: "@docusaurus/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-26 19:13:56 +00:00
zhw2590582 529f949470 4.2.7 2022-01-26 22:02:59 +08:00
Harvey 31367d839e 4.2.6 2022-01-18 13:29:37 +08:00
Harvey 48269aa553 Update creatRollupConfig.js 2022-01-18 13:20:16 +08:00
Harvey 92cd112aa2 update gestureInit.js 2022-01-18 13:08:58 +08:00
Harvey Zack ae3ffc8105 Merge pull request #216 from zhw2590582/dependabot/npm_and_yarn/screenfull-6.0.1
Bump screenfull from 5.2.0 to 6.0.1
2022-01-18 09:42:36 +08:00
dependabot[bot] 4ddc9494aa Bump screenfull from 5.2.0 to 6.0.1
Bumps [screenfull](https://github.com/sindresorhus/screenfull) from 5.2.0 to 6.0.1.
- [Release notes](https://github.com/sindresorhus/screenfull/releases)
- [Commits](https://github.com/sindresorhus/screenfull/compare/v5.2.0...v6.0.1)

---
updated-dependencies:
- dependency-name: screenfull
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-17 19:26:12 +00:00
Harvey 2684c9f229 4.2.5 2022-01-17 09:28:02 +08:00
Harvey b3208934f4 update mobile demo 2022-01-17 09:08:33 +08:00
zhw2590582 c8cec10869 Update progress.js 2022-01-16 22:29:48 +08:00
Harvey 671ad5b291 update docs 2022-01-11 14:02:13 +08:00
Harvey 0dcf2ac710 update artplayer-tool-thumbnail 2022-01-11 11:24:25 +08:00
Harvey 1aa83e1574 Update thumbnail.js 2022-01-11 09:37:31 +08:00
Harvey 8ef45f2452 fix thumbnails option 2022-01-11 09:34:22 +08:00
Harvey 592ae58f05 update artplayer-tool-thumbnail 2022-01-11 09:10:03 +08:00
Harvey 4d1fee369d update docs 2022-01-10 10:16:16 +08:00
Harvey 787f5a8f6e 4.2.3 2022-01-10 09:54:28 +08:00
Harvey c9a9e8e6e7 remove mobile hotkey 2022-01-10 09:49:40 +08:00
Harvey d33a7229a9 update mobile demo 2022-01-10 09:42:37 +08:00
Harvey 53da53c35a Fix mobile event 2022-01-10 09:35:46 +08:00
zhw2590582 5c4d71cc7a 4.2.2 2022-01-08 07:29:51 +08:00
zhw2590582 256a8e684e update danmuku 2022-01-07 23:40:58 +08:00
zhw2590582 495526b1ff update info.js 2022-01-07 22:56:11 +08:00
zhw2590582 e4500ef49c update miniMix.js 2022-01-07 22:41:32 +08:00
zhw2590582 8df2297faf update dist 2022-01-07 22:29:07 +08:00
zhw2590582 455e2189a7 forEach => for 2022-01-07 22:11:48 +08:00
Harvey Zack 99f5694100 Update nodejs.yml 2022-01-07 21:27:03 +08:00
Harvey Zack e9fdb3fea9 Update nodejs.yml 2022-01-07 21:21:13 +08:00
Harvey Zack 184b113b93 Update nodejs.yml 2022-01-07 21:16:24 +08:00
Harvey Zack 27825068b9 Update nodejs.yml 2022-01-07 21:10:16 +08:00
Harvey Zack f3a9f0a6c4 Update nodejs.yml 2022-01-07 20:59:36 +08:00
zhw2590582 f2081067d9 4.2.1 2022-01-07 20:54:01 +08:00
zhw2590582 57c9cbc26a update docs 2022-01-07 20:21:23 +08:00
Harvey Zack a38419d110 Merge pull request #210 from zhw2590582/5.0.0
5.0.0
2022-01-07 20:14:57 +08:00
zhw2590582 b70a804591 4.2.0 2022-01-07 20:13:44 +08:00
zhw2590582 9bc87eb0e2 Fix forEach function 2022-01-07 18:41:25 +08:00
zhw2590582 ad76a2b637 Update package.json 2022-01-07 18:38:19 +08:00
zhw2590582 938e8718bc add attrMix.js 2022-01-07 18:35:05 +08:00
zhw2590582 1438ce5e82 add themeMix 2022-01-07 18:05:28 +08:00
zhw2590582 59400eb3bf remove player object 2022-01-07 17:38:10 +08:00
Harvey 59a8ccce81 update docs 2022-01-06 15:45:28 +08:00
Harvey 072ba6e703 4.1.4 2021-12-31 18:20:51 +08:00
Harvey d6ea0b2355 update mobile demo 2021-12-31 18:14:30 +08:00
Harvey 9ba7a87fcf Update mobile.js 2021-12-31 18:05:44 +08:00
Harvey 008bdad305 update docs 2021-12-31 18:01:52 +08:00
Harvey 1b245648ac update docs 2021-12-31 18:01:46 +08:00
Harvey 90de9ea6ee update docs 2021-12-31 17:56:49 +08:00
Harvey 8404a8c5cd remove autoHeight option 2021-12-31 17:56:43 +08:00
Harvey a74c6194be 4.1.2 2021-12-31 16:47:52 +08:00
Harvey 3523cb2149 4.1.1 2021-12-31 14:26:56 +08:00
Harvey b582142ade update $state style 2021-12-31 14:18:23 +08:00
Harvey adfe8725d5 update docs 2021-12-31 14:04:33 +08:00
Harvey 9b48e5959a 4.1.0 2021-12-31 13:49:32 +08:00
Harvey feed451783 update docs 2021-12-31 13:45:46 +08:00
Harvey 6cb75858bb add autoHeight option 2021-12-31 13:30:59 +08:00
Harvey f890f83a61 update docs 2021-12-30 13:28:07 +08:00
Harvey f7d7d2992f update docs 2021-12-30 13:19:11 +08:00
Harvey 5d8b4fb7ce remove timeupdate event 2021-12-28 08:37:45 +08:00
Harvey ba4cbf1a80 update docs 2021-12-27 13:22:18 +08:00
Harvey dceb8e731b add restart event 2021-12-24 11:36:50 +08:00
Harvey 50a3809a10 update docs 2021-12-23 18:03:16 +08:00
Harvey 9f7abe181c add ads.init() 2021-12-23 17:20:32 +08:00
Harvey 558e439261 update docs 2021-12-23 17:03:31 +08:00
Harvey d130eae1d6 update docs 2021-12-23 16:56:25 +08:00
Harvey c3411c26a2 Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2021-12-23 16:50:30 +08:00
Harvey aabba18e3d update docs 2021-12-23 16:49:45 +08:00
Harvey Zack 362a89c4f6 Merge pull request #209 from zhw2590582/ads-option
Ads option
2021-12-23 16:47:36 +08:00
Harvey 3859c544c8 update ads.js 2021-12-23 16:46:24 +08:00
Harvey 75baca8462 Update ads docs 2021-12-23 16:42:26 +08:00
Harvey b584550917 use ads.current 2021-12-23 15:50:50 +08:00
Harvey 76eea4bfd5 finish the ads.js 2021-12-23 15:43:42 +08:00
Harvey 6c32895d34 add ads.js 2021-12-23 13:45:50 +08:00
Harvey 0048991f7e add ads option 2021-12-23 12:34:13 +08:00
Harvey Zack 1e71838ab5 Merge pull request #206 from zhw2590582/dependabot/npm_and_yarn/docusaurus/core-2.0.0-beta.14
Bump @docusaurus/core from 2.0.0-beta.13 to 2.0.0-beta.14
2021-12-23 12:23:40 +08:00
Harvey Zack 835bafe067 Merge branch 'master' into dependabot/npm_and_yarn/docusaurus/core-2.0.0-beta.14 2021-12-23 12:23:32 +08:00
Harvey Zack c481b1ba1a Merge pull request #207 from zhw2590582/dependabot/npm_and_yarn/docusaurus/preset-classic-2.0.0-beta.14
Bump @docusaurus/preset-classic from 2.0.0-beta.13 to 2.0.0-beta.14
2021-12-23 12:23:05 +08:00
Harvey fe0e46212f Update style.css 2021-12-23 12:19:30 +08:00
Harvey f3dbde44a0 update style 2021-12-23 11:53:33 +08:00
Harvey db612b6340 fix docs typo 2021-12-23 10:09:00 +08:00
zhw2590582 97154cee0d 4.0.9 2021-12-22 20:16:59 +08:00
dependabot[bot] 2ae958a4e3 Bump @docusaurus/preset-classic from 2.0.0-beta.13 to 2.0.0-beta.14
Bumps [@docusaurus/preset-classic](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-preset-classic) from 2.0.0-beta.13 to 2.0.0-beta.14.
- [Release notes](https://github.com/facebook/docusaurus/releases)
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/docusaurus/commits/v2.0.0-beta.14/packages/docusaurus-preset-classic)

---
updated-dependencies:
- dependency-name: "@docusaurus/preset-classic"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-21 19:26:05 +00:00
dependabot[bot] 9ec4fa62f7 Bump @docusaurus/core from 2.0.0-beta.13 to 2.0.0-beta.14
Bumps [@docusaurus/core](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus) from 2.0.0-beta.13 to 2.0.0-beta.14.
- [Release notes](https://github.com/facebook/docusaurus/releases)
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/docusaurus/commits/v2.0.0-beta.14/packages/docusaurus)

---
updated-dependencies:
- dependency-name: "@docusaurus/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-21 19:17:36 +00:00
Harvey Zack e3d5a4b94d Merge pull request #204 from zhw2590582/dependabot/npm_and_yarn/eslint-plugin-promise-6.0.0
Bump eslint-plugin-promise from 5.2.0 to 6.0.0
2021-12-21 13:36:17 +08:00
dependabot[bot] a43c03a478 Bump eslint-plugin-promise from 5.2.0 to 6.0.0
Bumps [eslint-plugin-promise](https://github.com/xjamundx/eslint-plugin-promise) from 5.2.0 to 6.0.0.
- [Release notes](https://github.com/xjamundx/eslint-plugin-promise/releases)
- [Changelog](https://github.com/xjamundx/eslint-plugin-promise/blob/development/CHANGELOG.md)
- [Commits](https://github.com/xjamundx/eslint-plugin-promise/commits)

---
updated-dependencies:
- dependency-name: eslint-plugin-promise
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-20 19:17:56 +00:00
zhw2590582 d6a555f68a Revert "Update package.json"
This reverts commit cba639b8c0.
2021-12-18 20:11:52 +08:00
zhw2590582 cba639b8c0 Update package.json 2021-12-18 16:35:11 +08:00
Harvey 2bee431c2b Fix loop bug 2021-12-16 13:36:50 +08:00
580 changed files with 351544 additions and 14263 deletions

No files matched your search

-14
View File
@@ -1,14 +0,0 @@
{
"presets": [
[
"@babel/env",
{
"modules": false
}
]
],
"plugins": [
"@babel/plugin-external-helpers",
"@babel/plugin-transform-runtime"
]
}
+8 -22
View File
@@ -1,36 +1,22 @@
{
"parser": "@babel/eslint-parser",
"extends": ["standard", "prettier"],
"extends": "eslint:recommended",
"env": {
"browser": true,
"es6": true
},
"globals": {
"Artplayer": false
},
"rules": {
"no-shadow": 0,
"no-param-reassign": 0,
"no-restricted-exports": 0,
"no-loss-of-precision": 0,
"no-promise-executor-return": 0,
"no-unreachable-loop": 0,
"no-unsafe-optional-chaining": 0,
"no-useless-backreference": 0,
"default-case-last": 0,
"no-nonoctal-decimal-escape": 0,
"prefer-object-spread": 0,
"prefer-destructuring": 0,
"arrow-body-style": 0,
"accessor-pairs": 0,
"import/named": 0
"require": "readonly",
"process": "readonly"
},
"parserOptions": {
"sourceType": "module",
"ecmaVersion": 8,
"ecmaVersion": "latest",
"requireConfigFile": false,
"babelOptions": {
"presets": ["@babel/preset-react"]
"presets": [
"@babel/preset-react"
]
}
}
}
}
+4 -3
View File
@@ -17,7 +17,7 @@ jobs:
strategy:
matrix:
node-version: [12.x]
node-version: [16.x]
steps:
- uses: actions/checkout@v1
@@ -28,11 +28,12 @@ jobs:
- name: npm install, lint, build, and test
run: |
npm install
npm install packages/* && npx lerna bootstrap --hoist
npm run lint
npm run build:all
cd packages/artplayer-document && ls
npm run build
cd ../../ && ls
npm run test:create
npm run test
npm run sizereport
env:
CI: true
+2 -4
View File
@@ -1,8 +1,6 @@
node_modules
.vscode
.DS_Store
*.log
commit.json
.parcel-cache
node_modules
package-lock.json
.size-snapshot.json
yarn.lock
+76
View File
@@ -0,0 +1,76 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [4.5.2] - 2022-6-22
### Added
- 优化自动回放功能,让用户自行选择
## [4.5.0] - 2022-6-21
### Added
- 移除内置广告功能
- 新增广告插件
## [4.4.7] - 2022-6-13
### Added
- 兼容弹幕库 d.ts
- 更新依赖库
## [4.4.6] - 2022-6-11
### Added
- 添加弹幕库 d.ts
- 调整字幕字体大小参数
- 优化正则解析xml弹幕
## [4.4.5] - 2022-6-2
### Added
- 修复迷你模式时,主题色缺失的bug
## [4.4.3] - 2022-05-26
### Added
- 修复弹幕库销毁时,自定义挂载输入框的残留
- 修复迷你模式的尺寸计算错误
## [4.4.2] - 2022-05-20
### Added
- 移除播放器 UI 初始化的 video:loadedmetadata 事件
- 弹幕库暴露 load 方法,用于切换弹幕源
- 添加 error 图标,出现于视频加载错误达到上限后
- 修复 setting 多次初始化时产生的 bug
## [4.4.1] - 2022-05-17
### Added
- 添加 art.isInput 属性,当为 true 的时候不自动隐藏控制栏,如弹幕正在输入时
- 添加 art.isLock 属性,在移动端当为 true 的时候不能操作快进、开始和暂停
- 修复弹幕输入框的固定宽度 bug
- 设置面板支持 range 和 onRange 选项
- 添加 isAndroid 和 isIOS 工具函数
- 弹幕库添加 lockTime 选项,可自定义输入框的锁定时间
- 弹幕库添加 maxLength 选项,控制输入最大可输入字数
- 弹幕库添加 minWidth 选项,控制输入框最小宽度
- 弹幕库添加 maxWidth 选项,控制输入框最大宽度
- 弹幕库添加 mount 选项,控制输入框自定义挂载位置
- 弹幕库添加 beforeEmit 选项,控制弹幕发送前的校验
- 弹幕库添加 theme 选项,控制输入框自定义挂载的主题色
## [4.4.0] - 2022-05-15
### Added
- 设置面板支持 switch 和 onSwitch 选项
- 弹幕库插件添加设置面板和弹幕发送
- 弹幕库的选项添加默认模式和默认字号
- 弹幕库字号支持按播放器的百分百
- 修复翻转设置的图标缺失
- 默认播放器获取了焦点后,不会自动隐藏控制栏
- 删除字幕开关按钮,需要自行配置字幕开关
+35
View File
@@ -0,0 +1,35 @@
This project uses `parcel` as a development and packaging tool, so there are few overall configuration options
## 1. Install dependencies
```bash
npm install
```
or
```bash
yarn
```
## 2. Develop the project and open the demo page
```base
npm run dev
```
or
```bash
yarn dev
```
## 3. Package the project
```bash
npm run build
```
```bash
yarn build
```
+15 -2
View File
@@ -8,7 +8,6 @@
</p>
<p align="center">
<img src="https://img.shields.io/github/checks-status/zhw2590582/artplayer/master" alt="Build Status">
<img src="https://img.shields.io/bundlephobia/minzip/artplayer" alt="Size">
<img src="https://img.shields.io/npm/dm/artplayer.svg?sanitize=true" alt="Downloads">
<img src="https://img.shields.io/npm/v/artplayer.svg?sanitize=true" alt="Version">
@@ -21,7 +20,7 @@
<span>・</span>
<a href="https://artplayer.org/document">API Document</a>
<span>・</span>
<a href="https://artplayer.org/?libs=.%2Funcompiled%2Fartplayer-plugin-danmuku.js&example=danmuku">弹幕演示</a>
<a href="https://artplayer.org/?libs=./uncompiled/artplayer-plugin-danmuku/index.js&example=danmuku">弹幕演示</a>
<span>・</span>
</p>
@@ -31,6 +30,12 @@
</a>
</p>
## Home Page
[https://artplayer.org](https://artplayer.org)
## Mobile Demo
<img src="./images/qrcode.png" width="250">
## Features
[ArtPlayer.js](https://artplayer.org) is an easy-to-use and feature-rich HTML5 video player, and most of the player's functional controls support customization, which makes it easy to connect with your business logic. In addition, it directly supports `.vtt`, `.ass` and `.srt` subtitle formats. Integration with other dependencies such as `flv.js`, `hls.js`, `dash.js`, etc. is also very simple. The code is highly decoupled, the structure and logic are clear, and it is easy to track errors and add new features.
@@ -84,6 +89,14 @@ var art = new Artplayer({
});
```
## Changelog
[CHANGELOG_CN.md](./CHANGELOG_CN.md)
## Contributing
[CONTRIBUTING.md](./CONTRIBUTING.md)
## Donations
We accept donations through these channels:
-8
View File
@@ -1,8 +0,0 @@
/*!
* artplayer-plugin-danmuku.js v4.0.0
* Github: https://github.com/zhw2590582/ArtPlayer#readme
* (c) 2017-2021 Harvey Zack
* Released under the MIT License.
*/
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).artplayerPluginDanmuku=e()}(this,(function(){"use strict";function t(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function e(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}var n={"zh-cn":{"Danmu opacity":"弹幕透明度","Danmu speed":"弹幕速度","Danmu size":"弹幕大小","Danmu text cannot be empty":"弹幕文本不能为空","The length of the danmu does not exceed":"弹幕文本字数不能超过","Danmu speed synchronous playback multiple":"弹幕速度同步播放倍数"},"zh-tw":{"Danmu opacity":"彈幕透明度","Danmu speed":"彈幕速度","Danmu size":"弹幕大小","Danmu text cannot be empty":"彈幕文本不能為空","The length of the danmu does not exceed":"彈幕文本字數不能超過","Danmu speed synchronous playback multiple":"彈幕速度同步播放倍數"}};function i(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-opacity",index:10,html:'<div class="art-setting-header">'.concat(e.get("Danmu opacity"),': <span class="art-value">100</span>%</div><div class="art-setting-range"><input type="range" value="1" min="0.1" max="1" step="0.1"></div>'),mounted:function(e){var i=e.querySelector("input[type=range]"),r=e.querySelector(".art-value");n(i,"change",(function(){var e=i.value;r.innerText=100*Number(e),t.plugins.artplayerPluginDanmuku.config({opacity:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){i.value!==t.opacity&&(i.value=t.opacity,r.innerText=100*t.opacity)}))}}}function r(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-size",index:11,html:'<div class="art-setting-header">'.concat(e.get("Danmu size"),': <span class="art-value">25</span>px</div><div class="art-setting-range"><input type="range" value="25" min="14" max="30" step="1"></div>'),mounted:function(e){var i=e.querySelector("input[type=range]"),r=e.querySelector(".art-value");n(i,"change",(function(){var e=i.value;r.innerText=e,t.plugins.artplayerPluginDanmuku.config({fontSize:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){i.value!==t.fontSize&&(i.value=t.fontSize,r.innerText=t.fontSize)}))}}}function a(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-speed",index:12,html:'<div class="art-setting-header">'.concat(e.get("Danmu speed"),': <span class="art-value">5</span>s</div><div class="art-setting-range"><input type="range" value="5" min="1" max="10" step="1"></div>'),mounted:function(e){var i=e.querySelector("input[type=range]"),r=e.querySelector(".art-value");n(i,"change",(function(){var e=i.value;r.innerText=e,t.plugins.artplayerPluginDanmuku.config({speed:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){i.value!==t.speed&&(i.value=t.speed,r.innerText=t.speed)}))}}}function o(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-synchronousPlayback",index:13,html:'<label class="art-setting-checkbox"><input type="checkbox"/>'.concat(e.get("Danmu speed synchronous playback multiple"),"</label>"),mounted:function(e){var i=e.querySelector("input[type=checkbox]");n(i,"change",(function(){t.plugins.artplayerPluginDanmuku.config({synchronousPlayback:i.checked})})),t.on("artplayerPluginDanmuku:config",(function(t){i.checked!==t.synchronousPlayback&&(i.checked=t.synchronousPlayback)}))}}}function u(t,e,n){return t.filter((function(t){return t.$state===e})).map(n)}function s(t,e){var n=t.getBoundingClientRect();return e?n[e]:n}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}function c(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var i,r,a=[],o=!0,u=!1;try{for(n=n.call(t);!(o=(i=n.next()).done)&&(a.push(i.value),!e||a.length!==e);o=!0);}catch(t){u=!0,r=t}finally{try{o||null==n.return||n.return()}finally{if(u)throw r}}return a}}(t,e)||function(t,e){if(t){if("string"==typeof t)return l(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(t){switch(t){case 1:case 2:case 3:default:return 0;case 4:case 5:return 1}}function f(t){return fetch(t).then((function(t){return t.text()})).then((function(t){return function(t){if("string"!=typeof t)return[];var e=t.match(/<d([\S ]*?>[\S ]*?)<\/d>/gi);return e&&e.length?e.map((function(t){var e=c(t.match(/<d p="(.+)">(.+)<\/d>/)Line truncated
-8
View File
@@ -1,8 +0,0 @@
/*!
* artplayer-tool-thumbnail.js v4.0.0
* Github: https://github.com/zhw2590582/ArtPlayer#readme
* (c) 2017-2021 Harvey Zack
* Released under the MIT License.
*/
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).ArtplayerToolThumbnail=e()}(this,(function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function n(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function i(t,e){return i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},i(t,e)}function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function r(t,e){if(e&&("object"===o(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return n(t)}function a(t){return a=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},a(t)}var s={exports:{}};function u(){}function h(t){return new Promise((function(e){return setTimeout(e,t)}))}function l(t,e,n){return Math.max(Math.min(t,Math.max(e,n)),Math.min(e,n))}function c(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,i=a(t);if(e){var o=a(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return r(this,n)}}u.prototype={on:function(t,e,n){var i=this.e||(this.e={});return(i[t]||(i[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var i=this;function o(){i.off(t,o),e.apply(n,arguments)}return o._=e,this.on(t,o,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),i=0,o=n.length;i<o;i++)n[i].fn.apply(n[i].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),i=n[t],o=[];if(i&&e)for(var r=0,a=i.length;r<a;r++)i[r].fn!==e&&i[r].fn._!==e&&o.push(i[r]);return o.length?n[t]=o:delete n[t],this}},s.exports=u,s.exports.TinyEmitter=u;var f=function(o){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}(f,o);var r,a,s,u=c(f);function f(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t(this,f),(e=u.call(this)).processing=!1,e.option={},e.setup(Object.assign({},f.DEFAULTS,i)),e.video=f.creatVideo(),e.duration=0,e.inputChange=e.inputChange.bind(n(e)),e.ondrop=e.ondrop.bind(n(e)),e.option.fileInput.addEventListener("change",e.inputChange),e.option.fileInput.addEventListener("dragover",f.ondragover),e.option.fileInput.addEventListener("drop",f.ondrop),e}return r=f,a=[{key:"ondrop",value:function(t){t.preventDefault();var e=t.dataTransfer.files[0];this.loadVideo(e)}},{key:"setup",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.option=Object.assign({},this.option,e);var n=this.option,i=n.fileInput,o=n.delay,r=n.number,a=n.width,s=n.height,u=n.column;if(this.errorHandle(i instanceof Element,"The 'fileInput' is not a Element"),"INPUT"!==i.tagName||"file"!==i.type){i.style.position="relative";var h=document.createElement("input");h.type="file",h.style.position="absolute",h.style.width="100%",h.style.height="100%",h.style.left="0",h.style.top="0",h.style.right="0",h.style.bottom="0",h.style.opacity="0",i.appendChild(h),this.option.fileInput=h}return["delay","number","width","height","column","begin","end"].forEach((function(e){t.errorHandle("number"==typeof t.option[e],"The '".concat(e,"' is not a number"))})),this.option.delay=l(o,10,1e3),this.option.number=l(r,10,1e3),this.option.width=l(a,10,1e3),this.option.height=l(s,10,1e3),this.option.column=l(u,1,1e3),this}},{key:"inputChange",value:function(){var t=this.option.fileInput.files[0];this.loadVideo(t)}},{key:"loadVideo",value:function(t){var e=this,n=this.option.delay;if(t){var i=this.video.canPlayType(t.type);this.errorHandle("maybe"===i||"probably"===i,"Playback of this file format is not supported: ".concat(t.type));var o=URL.createObjectURL(t);this.videoUrl=o,this.file=t,this.emit("file",this.file),this.video.src=o,h(n).then((function(){e.emit("video",e.video)})).catch((function(t){throw e.emit("error",t.message),t}))}}},{key:"start",value:function(){var t=this;if(!this.video.duration)return h(1e3).then(this.start);var e=this.option,n=e.width,i=e.height,o=e.number,r=e.delay,a=e.begin,s=e.end;this.option.begin=l(a,0,this.video.duration),this.optionLine truncated
-8
View File
@@ -1,8 +0,0 @@
/*!
* artplayer.js v4.0.7
* Github: https://github.com/zhw2590582/ArtPlayer#readme
* (c) 2017-2021 Harvey Zack
* Released under the MIT License.
*/
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Artplayer=e()}(this,(function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function r(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}function n(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function o(t,e){return o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(t,e)}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&o(t,e)}function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function c(t,e){if(e&&("object"===a(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return n(t)}function s(t){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},s(t)}!function(t,e){void 0===e&&(e={});var r=e.insertAt;if(t&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===r&&n.firstChild?n.insertBefore(o,n.firstChild):n.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}('.art-video-player{zoom:1;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-high-contrast-adjust:none;background-color:#000;color:#eee;direction:ltr;display:flex;font-family:Roboto,Arial,Helvetica,sans-serif;font-size:14px;height:100%;line-height:1.3;margin:0 auto;outline:0;position:relative;text-align:left;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%;z-index:20}.art-video-player *{box-sizing:border-box;margin:0;padding:0}.art-video-player ::-webkit-scrollbar{height:5px;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{align-items:center;display:inline-flex;justify-content:center;line-height:1.5}.art-video-player .art-icon svg{fill:#fff}.art-video-player img{max-width:100%;vertical-align:top}@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{background-color:#000;cursor:pointer;z-index:10}.art-video-player .art-poster,.art-video-player .art-video{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.art-video-player .art-poster{background-position:50%;background-repeat:no-repeat;background-size:cover;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:11}.art-video-player .art-subtitle{bottom:10px;color:#fff;display:none;font-size:20px;padding:0 20px;pointer-events:none;position:absolute;text-align:center;text-shadow:.5px .5px .5px rgba(0,0,0,.5);width:100%;z-index:20}.art-video-player .art-subtitle p{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;line-height:1.2;margin:5px 0 0;word-break:break-all}.art-video-player .art-bilingual p:nth-child(n+2){transform:scale(.6);transform-origin:center top}.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{bottom:0;height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;width:100%}.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{align-items:center;bottom:0;display:none;height:100%;justify-content:center;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;width:100%;z-index:50}.art-video-player .art-mask .art-state{align-items:center;bottom:55px;display:flex;height:60px;justify-content:center;opacity:.6;position:absolute;right:30px;width:60px}.art-video-player.art-mask-show .art-mask{display:flex}.art-video-player .art-loading{align-items:center;bottom:0;display:none;height:100%;justify-content:center;left:0;pointer-events:nonLine truncated
-18
View File
@@ -1,18 +0,0 @@
html, body {
height: 100%;
}
.container {
height: 100%;
padding: 10px;
box-sizing: border-box;
}
.artplayer-app {
width: 100%;
height: 50%;
}
.tip {
text-align: center;
}
+7 -1
View File
@@ -149,7 +149,7 @@ img {
.main .part-left {
display: flex;
flex-direction: column;
width: 40%;
width: 50%;
border-right: 1px solid rgb(17, 21, 24);
}
@@ -189,6 +189,7 @@ img {
height: 70%;
align-items: center;
justify-content: center;
flex-direction: column;
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
@@ -199,10 +200,15 @@ img {
font-size: 20px;
width: 90%;
height: 65%;
margin-bottom: 10px;
background-color: rgb(0 0 0 / 20%);
border: 1px dashed rgba(255, 255, 255, 0.1);
}
.part-right .video-wrap .artplayer-danmuku {
width: 300px;
}
.part-right .console {
position: relative;
z-index: 8;
+45
View File
@@ -0,0 +1,45 @@
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoSize: true,
fullscreen: true,
fullscreenWeb: true,
plugins: [
artplayerPluginAds({
// html广告,假如是视频广告则忽略该值
html: '<img src="/assets/sample/poster.jpg">',
// 视频广告的地址
video: '/assets/sample/test1.mp4',
// 广告跳转网址,为空则不跳转
url: 'http://artplayer.org',
// 必须观看的时长,期间不能被跳过,单位为秒
// 当该值大于或等于totalDuration时,不能提前关闭广告
// 当该值等于或小于0时,则随时都可以关闭广告
playDuration: 5,
// 广告总时长,单位为秒
totalDuration: 10,
// 多语言支持
i18n: {
close: '关闭广告',
countdown: '%s秒',
detail: '查看详情',
canBeClosed: '%s秒后可关闭广告',
},
}),
],
});
// 广告被点击
art.on('artplayerPluginAds:click', (ads) => {
console.info('广告被点击', ads);
});
// 广告被跳过
art.on('artplayerPluginAds:skip', (ads) => {
console.info('广告被跳过', ads);
});
+71 -39
View File
@@ -1,48 +1,80 @@
var art = new Artplayer({
container: '.artplayer-app',
url: 'https://artplayer.org/assets/sample/video.mp4',
url: '/assets/sample/video.mp4',
autoSize: true,
setting: true,
playbackRate: true,
fullscreen: true,
fullscreenWeb: true,
flip: true,
playbackRate: true,
aspectRatio: true,
setting: true,
plugins: [
artplayerPluginDanmuku({
danmuku: '/assets/sample/danmuku.xml',
speed: 5,
maxlength: 50,
margin: [10, 100],
opacity: 1,
fontSize: 25,
synchronousPlayback: false,
danmuku: '/assets/sample/danmuku-v2.xml',
speed: 5, // 弹幕持续时间,单位秒,范围在[1 ~ 10]
opacity: 1, // 弹幕透明度,范围在[0 ~ 1]
fontSize: 25, // 字体大小,支持数字和百分比
color: '#FFFFFF', // 默认字体颜色
mode: 0, // 默认模式,0-滚动,1-静止
margin: [10, '25%'], // 弹幕上下边距,支持数字和百分比
antiOverlap: true, // 是否防重叠
useWorker: true, // 是否使用 web worker
synchronousPlayback: false, // 是否同步到播放速度
filter: (danmu) => danmu.text.length < 50, // 弹幕过滤函数,返回 true 则可以发送
lockTime: 5, // 输入框锁定时间,单位秒,范围在[1 ~ 60]
maxLength: 100, // 输入框最大可输入的字数,范围在[0 ~ 500]
minWidth: 200, // 输入框最小宽度,范围在[0 ~ 500],填 0 则为无限制
maxWidth: 400, // 输入框最大宽度,范围在[0 ~ Infinity],填 0 则为 100% 宽度
theme: 'dark', // 输入框自定义挂载时的主题色,默认为 dark,可以选填亮色 light
beforeEmit: (danmu) => !!danmu.text.trim(), // 发送弹幕前的自定义校验,返回 true 则可以发送
// 通过 mount 选项可以自定义输入框挂载的位置,默认挂载于播放器底部,仅在当宽度小于最小值时生效
// mount: document.querySelector('.artplayer-danmuku'),
}),
],
controls: [
{
position: 'right',
html: '隐藏弹幕',
click: function (_, event) {
if (art.plugins.artplayerPluginDanmuku.isHide) {
art.plugins.artplayerPluginDanmuku.show();
event.target.innerText = '隐藏弹幕';
} else {
art.plugins.artplayerPluginDanmuku.hide();
event.target.innerText = '显示弹幕';
}
},
},
{
position: 'right',
html: '发送弹幕',
click: function () {
var text = prompt('请输入弹幕文本', '弹幕测试文本');
if (!text || !text.trim()) return;
var color = '#' + Math.floor(Math.random() * 0xffffff).toString(16);
art.plugins.artplayerPluginDanmuku.emit({
text: text,
color: color,
border: true,
});
},
},
],
});
// 监听手动输入的弹幕,保存到数据库
art.on('artplayerPluginDanmuku:emit', (danmu) => {
console.info('新增弹幕', danmu);
});
// 监听加载到的弹幕数组
art.on('artplayerPluginDanmuku:loaded', (danmus) => {
console.info('加载弹幕', danmus.length);
});
// 监听加载到弹幕的错误
art.on('artplayerPluginDanmuku:error', (error) => {
console.info('加载错误', error);
});
// 监听弹幕配置变化
art.on('artplayerPluginDanmuku:config', (option) => {
console.info('配置变化', option);
});
// 监听弹幕停止
art.on('artplayerPluginDanmuku:stop', () => {
console.info('弹幕停止');
});
// 监听弹幕开始
art.on('artplayerPluginDanmuku:start', () => {
console.info('弹幕开始');
});
// 监听弹幕隐藏
art.on('artplayerPluginDanmuku:hide', () => {
console.info('弹幕隐藏');
});
// 监听弹幕显示
art.on('artplayerPluginDanmuku:show', () => {
console.info('弹幕显示');
});
// 监听弹幕销毁
art.on('artplayerPluginDanmuku:destroy', () => {
console.info('弹幕销毁');
});
+71 -22
View File
@@ -1,7 +1,7 @@
var art = new Artplayer({
container: '.artplayer-app',
url: 'https://artplayer.org/assets/sample/video.mp4',
title: 'One More Time One More Chance',
url: '/assets/sample/video.mp4',
title: 'Your Name',
poster: '/assets/sample/poster.jpg',
volume: 0.5,
isLive: false,
@@ -14,29 +14,78 @@ var art = new Artplayer({
setting: true,
loop: true,
flip: true,
rotate: true,
playbackRate: true,
aspectRatio: true,
fullscreen: true,
fullscreenWeb: true,
subtitleOffset: true,
miniProgressBar: true,
localVideo: true,
localSubtitle: true,
mutex: true,
backdrop: true,
playsInline: true,
autoPlayback: true,
theme: '#23ade5',
lang: navigator.language.toLowerCase(),
whitelist: ['*'],
moreVideoAttr: {
crossOrigin: 'anonymous',
},
settings: [
{
index: 1,
html: 'Custom setting',
click: function (setting) {
console.info('You clicked on the custom setting');
setting.show = false;
width: 200,
html: 'Subtitle',
tooltip: 'Bilingual',
icon: '<img width="22" heigth="22" src="/assets/img/subtitle.svg">',
selector: [
{
html: 'Display',
tooltip: 'Show',
switch: true,
onSwitch: function (item) {
item.tooltip = item.switch ? 'Hide' : 'Show';
art.subtitle.show = !item.switch;
return !item.switch;
},
},
{
default: true,
html: 'Bilingual',
url: '/assets/sample/subtitle.srt',
},
{
html: 'Chinese',
url: '/assets/sample/subtitle.cn.srt',
},
{
html: 'Japanese',
url: '/assets/sample/subtitle.jp.srt',
},
],
onSelect: function (item) {
art.subtitle.switch(item.url, {
name: item.html,
});
return item.html;
},
},
{
html: 'Switcher',
icon: '<img width="22" heigth="22" src="/assets/img/state.svg">',
tooltip: 'OFF',
switch: false,
onSwitch: function (item) {
item.tooltip = item.switch ? 'OFF' : 'ON';
console.info('You clicked on the custom switch', item.switch);
return !item.switch;
},
},
{
html: 'Slider',
icon: '<img width="22" heigth="22" src="/assets/img/state.svg">',
tooltip: '5x',
range: [5, 1, 10, 0.1],
onRange: function (item) {
return item.range + 'x';
},
},
],
@@ -51,8 +100,9 @@ var art = new Artplayer({
],
layers: [
{
html: '<img style="width: 100px" src="/assets/sample/layer.png">',
html: '<img width="100" src="/assets/sample/layer.png">',
click: function () {
window.open('https://aimu.app');
console.info('You clicked on the custom layer');
},
style: {
@@ -76,39 +126,37 @@ var art = new Artplayer({
],
thumbnails: {
url: '/assets/sample/thumbnails.png',
number: 100,
width: 160,
height: 90,
number: 60,
column: 10,
},
subtitle: {
url: '/assets/sample/subtitle.srt',
type: 'srt',
style: {
color: '#03A9F4',
color: '#fe9200',
fontSize: '20px',
},
encoding: 'utf-8',
bilingual: true,
},
highlight: [
{
time: 60,
time: 15,
text: 'One more chance',
},
{
time: 120,
time: 30,
text: '谁でもいいはずなのに',
},
{
time: 180,
time: 45,
text: '夏の想い出がまわる',
},
{
time: 240,
time: 60,
text: 'こんなとこにあるはずもないのに',
},
{
time: 300,
time: 75,
text: '终わり',
},
],
@@ -116,14 +164,15 @@ var art = new Artplayer({
{
position: 'right',
html: 'Control',
tooltip: 'Control Tooltip',
click: function () {
console.info('You clicked on the custom control');
},
},
],
icons: {
indicator: '<img width="16" heigth="16" src="/assets/img/indicator.svg">',
loading: '<img src="/assets/img/ploading.gif">',
state: '<img width="150" heigth="150" src="/assets/img/state.svg">',
indicator: '<img width="16" heigth="16" src="/assets/img/indicator.svg">',
},
});
-4
View File
@@ -9,10 +9,8 @@ var $artplayer = document.querySelector('.artplayer-app');
$artplayer.innerHTML = 'Drop video file here or click to upload.';
var thumbnail = new ArtplayerToolThumbnail({
fileInput: $artplayer,
delay: 300, // 延迟
number: 60, // 数量
width: 160, // 宽度
height: 90, // 高度
column: 10, // 列数
begin: 0, // 开始
end: NaN, // 结束
@@ -63,8 +61,6 @@ thumbnail.on('done', function () {
thumbnails: {
url: thumbnail.thumbnailUrl,
number: thumbnail.option.number,
width: thumbnail.option.width,
height: thumbnail.option.height,
column: thumbnail.option.column,
},
});
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg class="icon" viewBox="0 0 1152 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
<path fill="#fff" d="M311.296 661.504c0 4.096-4.096 8.704-8.704 12.8 0 4.096 0 4.096-4.096 8.704h-12.8c-4.096 0-8.704-4.096-16.896-8.704-8.704-8.704-16.896-8.704-25.6-8.704s-12.8 4.096-16.896 12.8c-4.096 12.8-8.704 21.504-4.096 29.696 4.096 8.704 12.8 16.896 25.6 21.504 16.896 8.704 34.304 16.896 47.104 16.896 12.8 0 21.504-4.096 34.304-8.704 8.704-4.096 16.896-16.896 25.6-29.696 8.704-12.8 12.8-34.304 16.896-55.296 4.096-21.504 4.096-51.2 4.096-85.504 0-12.8 0-21.504-4.096-29.696 0-8.704-4.096-12.8-8.704-16.896-4.096-4.096-8.704-8.704-12.8-8.704s-12.8-4.096-21.504-4.096H272.896s-4.096-4.096 0-8.704l4.096-38.4c0-4.096 0-8.704 4.096-8.704h47.104c16.896 0 25.6-4.096 34.304-12.8 8.704-8.704 12.8-21.504 12.8-42.496V324.096c0-16.896-4.096-34.304-8.704-42.496-12.8-12.8-25.6-16.896-42.496-16.896H243.2c-8.704 0-16.896 0-21.504 4.096-4.096 8.704-4.096 12.8-4.096 25.6 0 8.704 0 16.896 4.096 21.504 4.096 4.096 12.8 8.704 21.504 8.704H307.2c4.096 0 8.704 0 8.704 4.096v34.304c0 8.704 0 12.8-4.096 12.8 0 0-4.096 4.096-8.704 4.096h-34.304c-8.704 0-12.8 0-21.504 4.096-4.096 0-8.704 4.096-8.704 4.096-4.096 4.096-8.704 12.8-8.704 16.896 0 8.704-4.096 16.896-4.096 25.6l-8.704 72.704v29.696c0 8.704 4.096 12.8 8.704 16.896s8.704 4.096 16.896 8.704h68.096c4.096 0 8.704 0 8.704 4.096s4.096 8.704 4.096 16.896c0 21.504 0 42.496-4.096 55.296 0.512 9.216-3.584 22.016-8.192 26.624zM896 486.4c-93.696 0-175.104 51.2-217.6 123.904h-106.496v-34.304H640c21.504 0 34.304-4.096 42.496-12.8 8.704-8.704 12.8-21.504 12.8-42.496V358.4c0-21.504-4.096-34.304-12.8-42.496-8.704-8.704-21.504-12.8-42.496-12.8 0-4.096 4.096-4.096 4.096-8.704-4.096 0-4.096-4.096-4.096-4.096 4.096-12.8 8.704-21.504 4.096-25.6 0-8.704-4.096-12.8-12.8-21.504-8.704-4.096-16.896-4.096-21.504-4.096-8.704 4.096-12.8 8.704-21.504 21.504-4.096 8.704-8.704 12.8-12.8 21.504-4.096 8.704-8.704 12.8-12.8 21.504h-51.2c-4.096-8.704-8.704-16.896-8.704-21.504-4.096-8.704-8.704-12.8-12.8-21.504-4.096-12.8-12.8-16.896-21.504-16.896s-16.896 0-25.6 8.704C434.176 261.12 430.08 265.216 430.08 273.92c0 8.704 0 16.896 8.704 25.6l4.096 4.096 4.096 4.096c-16.896 0-29.696 4.096-38.4 12.8-8.704 4.096-12.8 21.504-12.8 38.4v157.696c0 21.504 4.096 34.304 12.8 42.496 8.704 8.704 21.504 12.8 42.496 12.8H512v34.304H413.696c-12.8 0-21.504 0-25.6 4.096-4.096 4.096-8.704 8.704-8.704 21.504v16.896c0 4.096 4.096 8.704 4.096 8.704 4.096 0 4.096 4.096 8.704 4.096H512V716.8c0 12.8 4.096 21.504 8.704 25.6 4.096 4.096 12.8 8.704 21.504 8.704 12.8 0 21.504-4.096 25.6-8.704 4.096-4.096 4.096-12.8 4.096-25.6v-55.296h80.896c-8.704 25.6-12.8 51.2-12.8 76.8 0 140.8 115.2 256 256 256s256-115.2 256-256S1036.8 486.4 896 486.4z m-328.704-128h55.296c4.096 0 4.096 0 4.096 4.096V409.6h-59.904V358.4z m0 102.4h59.904v51.2h-55.296V460.8h-4.608zM512 516.096H456.704v-51.2H512v51.2z m0-102.4H452.096v-51.2H512v51.2z m384 499.2c-93.696 0-170.496-76.8-170.496-170.496s76.8-170.496 170.496-170.496 170.496 76.8 170.496 170.496-76.8 170.496-170.496 170.496z" />
<path fill="#fff" d="M580.096 879.104H213.504c-72.704 0-128-55.296-128-119.296V230.4c0-64 55.296-119.296 128-119.296h512c72.704 0 128 55.296 128 119.296v140.8c0 25.6 16.896 42.496 42.496 42.496s42.496-16.896 42.496-42.496V230.4c0-115.2-93.696-204.8-213.504-204.8h-512C93.696 25.6 0 119.296 0 230.4v528.896c0 115.2 93.696 204.8 213.504 204.8h367.104c25.6 0 42.496-16.896 42.496-42.496 0-25.6-21.504-42.496-43.008-42.496z m171.52 10.752c-15.36-15.36-15.36-40.96 0-56.32l237.568-237.568c15.36-15.36 40.96-15.36 56.32 0s15.36 40.96 0 56.32l-237.568 237.568c-15.36 15.36-40.448 15.36-56.32 0z" />
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg class="icon" viewBox="0 0 1152 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
<path fill="#fff" d="M311.466667 661.333333c0 4.266667-4.266667 8.533333-8.533334 12.8 0 4.266667 0 4.266667-4.266666 8.533334h-12.8c-4.266667 0-8.533333-4.266667-17.066667-8.533334-8.533333-8.533333-17.066667-8.533333-25.6-8.533333-8.533333 0-12.8 4.266667-17.066667 12.8-4.266667 12.8-8.533333 21.333333-4.266666 29.866667 4.266667 8.533333 12.8 17.066667 25.6 21.333333 17.066667 8.533333 34.133333 17.066667 46.933333 17.066667 12.8 0 21.333333-4.266667 34.133333-8.533334 8.533333-4.266667 17.066667-17.066667 25.6-29.866666 8.533333-12.8 12.8-34.133333 17.066667-55.466667 4.266667-21.333333 4.266667-51.2 4.266667-85.333333 0-12.8 0-21.333333-4.266667-29.866667 0-8.533333-4.266667-12.8-8.533333-17.066667-4.266667-4.266667-8.533333-8.533333-12.8-8.533333-4.266667 0-12.8-4.266667-21.333334-4.266667H273.066667s-4.266667-4.266667 0-8.533333l4.266666-38.4c0-4.266667 0-8.533333 4.266667-8.533333h46.933333c17.066667 0 25.6-4.266667 34.133334-12.8 8.533333-8.533333 12.8-21.333333 12.8-42.666667V324.266667c0-17.066667-4.266667-34.133333-8.533334-42.666667-12.8-12.8-25.6-17.066667-42.666666-17.066667H243.2c-8.533333 0-17.066667 0-21.333333 4.266667-4.266667 8.533333-4.266667 12.8-4.266667 25.6 0 8.533333 0 17.066667 4.266667 21.333333 4.266667 4.266667 12.8 8.533333 21.333333 8.533334h64c4.266667 0 8.533333 0 8.533333 4.266666v34.133334c0 8.533333 0 12.8-4.266666 12.8 0 0-4.266667 4.266667-8.533334 4.266666h-34.133333c-8.533333 0-12.8 0-21.333333 4.266667-4.266667 0-8.533333 4.266667-8.533334 4.266667-4.266667 4.266667-8.533333 12.8-8.533333 17.066666 0 8.533333-4.266667 17.066667-4.266667 25.6l-8.533333 72.533334v29.866666c0 8.533333 4.266667 12.8 8.533333 17.066667 4.266667 4.266667 8.533333 4.266667 17.066667 8.533333h68.266667c4.266667 0 8.533333 0 8.533333 4.266667s4.266667 8.533333 4.266667 17.066667c0 21.333333 0 42.666667-4.266667 55.466666 0 8.533333-4.266667 21.333333-8.533333 25.6zM896 486.4c-93.866667 0-174.933333 51.2-217.6 123.733333h-106.666667v-34.133333H640c21.333333 0 34.133333-4.266667 42.666667-12.8 8.533333-8.533333 12.8-21.333333 12.8-42.666667V358.4c0-21.333333-4.266667-34.133333-12.8-42.666667-8.533333-8.533333-21.333333-12.8-42.666667-12.8 0-4.266667 4.266667-4.266667 4.266667-8.533333-4.266667 0-4.266667-4.266667-4.266667-4.266667 4.266667-12.8 8.533333-21.333333 4.266667-25.6 0-8.533333-4.266667-12.8-12.8-21.333333-8.533333-4.266667-17.066667-4.266667-21.333334-4.266667-8.533333 4.266667-12.8 8.533333-21.333333 21.333334-4.266667 8.533333-8.533333 12.8-12.8 21.333333-4.266667 8.533333-8.533333 12.8-12.8 21.333333H512c-4.266667-8.533333-8.533333-17.066667-8.533333-21.333333-4.266667-8.533333-8.533333-12.8-12.8-21.333333-4.266667-12.8-12.8-17.066667-21.333334-17.066667s-17.066667 0-25.6 8.533333c-8.533333 8.533333-12.8 12.8-12.8 21.333334s0 17.066667 8.533334 25.6l4.266666 4.266666 4.266667 4.266667c-17.066667 0-29.866667 4.266667-38.4 12.8-8.533333 4.266667-12.8 21.333333-12.8 38.4v157.866667c0 21.333333 4.266667 34.133333 12.8 42.666666 8.533333 8.533333 21.333333 12.8 42.666667 12.8H512v34.133334H413.866667c-12.8 0-21.333333 0-25.6 4.266666-4.266667 4.266667-8.533333 8.533333-8.533334 21.333334v17.066666c0 4.266667 4.266667 8.533333 4.266667 8.533334 4.266667 0 4.266667 4.266667 8.533333 4.266666H512v55.466667c0 12.8 4.266667 21.333333 8.533333 25.6 4.266667 4.266667 12.8 8.533333 21.333334 8.533333 12.8 0 21.333333-4.266667 25.6-8.533333 4.266667-4.266667 4.266667-12.8 4.266666-25.6v-55.466667h81.066667c-8.533333 25.6-12.8 51.2-12.8 76.8 0 140.8 115.2 256 256 256s256-115.2 256-256-115.2-251.733333-256-251.733333z m-328.533333-128h55.466666c4.266667 0 4.266667 0 4.266667 4.266667v46.933333h-59.733333V358.4z m0 102.4h59.733333V512h-55.466667v-51.2zM512 516.266667h-55.466667V465.066667H512v51.2z m0-102.4h-59.733333V366.933333v-4.266666H512v51.2z m384 499.2c-93.866667 0-170.666667-76.8-170.666667-170.666667s76.8-170.666667 170.666667-170.666667 170.666667 76.8 170.666667 170.666667-76.8 170.666667-170.666667 170.666667z" />
<path fill="#fff" d="M951.466667 669.866667l-72.533334 72.533333-29.866666-25.6c-17.066667-17.066667-42.666667-12.8-59.733334 4.266667-17.066667 17.066667-12.8 42.666667 4.266667 59.733333l59.733333 51.2c8.533333 8.533333 17.066667 8.533333 29.866667 8.533333 12.8 0 21.333333-4.266667 29.866667-12.8l102.4-102.4c17.066667-17.066667 17.066667-42.666667 0-59.733333-21.333333-12.8-46.933333-12.8-64 4.266667zM580.266667 878.933333H213.333333c-72.533333 0-128-55.466667-128-119.466666V230.4c0-64 55.466667-119.466667 128-119.466667h512c72.533333 0 128 55.466667 128 119.466667v140.8c0 25.6 17.066667 42.666667 42.666667 42.666667s42.666667-17.066667 42.666667-42.666667V230.4c0-115.2-93.866667-204.8-213.333334-204.8H213.333333C93.866667 25.6 0 119.466667 0 230.4v529.066667c0 115.2 93.866667 204.8 213.333333 204.8h366.933334c25.6 0 42.666667-17.066667 42.666666-42.666667s-21.333333-42.666667-42.666666-42.666667z" />
</svg>

After

Width:  |  Height:  |  Size: 5.0 KiB

+4
View File
@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 48 48">
<path d="M0 0h48v48H0z" fill="none"/>
<path fill="#ffffff" d="M40 8H8c-2.21 0-4 1.79-4 4v24c0 2.21 1.79 4 4 4h32c2.21 0 4-1.79 4-4V12c0-2.21-1.79-4-4-4zM8 24h8v4H8v-4zm20 12H8v-4h20v4zm12 0h-8v-4h8v4zm0-8H20v-4h20v4z"/>
</svg>

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,589 @@
var SubtitlesOctopus = function (options) {
var supportsWebAssembly = false;
try {
if (typeof WebAssembly === "object"
&& typeof WebAssembly.instantiate === "function") {
const module = new WebAssembly.Module(Uint8Array.of(0x0, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00));
if (module instanceof WebAssembly.Module)
supportsWebAssembly = (new WebAssembly.Instance(module) instanceof WebAssembly.Instance);
}
} catch (e) {
}
console.log("WebAssembly support detected: " + (supportsWebAssembly ? "yes" : "no"));
var self = this;
self.canvas = options.canvas; // HTML canvas element (optional if video specified)
self.lossyRender = options.lossyRender; // Speedup render for heavy subs
self.isOurCanvas = false; // (internal) we created canvas and manage it
self.video = options.video; // HTML video element (optional if canvas specified)
self.canvasParent = null; // (internal) HTML canvas parent element
self.fonts = options.fonts || []; // Array with links to fonts used in sub (optional)
self.availableFonts = options.availableFonts || []; // Object with all available fonts (optional). Key is font name in lower case, value is link: {"arial": "/font1.ttf"}
self.onReadyEvent = options.onReady; // Function called when SubtitlesOctopus is ready (optional)
if (supportsWebAssembly) {
self.workerUrl = options.workerUrl || 'subtitles-octopus-worker.js'; // Link to WebAssembly worker
} else {
self.workerUrl = options.legacyWorkerUrl || 'subtitles-octopus-worker-legacy.js'; // Link to legacy worker
}
self.subUrl = options.subUrl; // Link to sub file (optional if subContent specified)
self.subContent = options.subContent || null; // Sub content (optional if subUrl specified)
self.onErrorEvent = options.onError; // Function called in case of critical error meaning sub wouldn't be shown and you should use alternative method (for instance it occurs if browser doesn't support web workers).
self.debug = options.debug || false; // When debug enabled, some performance info printed in console.
self.lastRenderTime = 0; // (internal) Last time we got some frame from worker
self.pixelRatio = window.devicePixelRatio || 1; // (internal) Device pixel ratio (for high dpi devices)
self.timeOffset = options.timeOffset || 0; // Time offset would be applied to currentTime from video (option)
self.hasAlphaBug = false;
(function() {
if (typeof ImageData.prototype.constructor === 'function') {
try {
// try actually calling ImageData, as on some browsers it's reported
// as existing but calling it errors out as "TypeError: Illegal constructor"
new window.ImageData(new Uint8ClampedArray([0, 0, 0, 0]), 1, 1);
return;
} catch (e) {
console.log("detected that ImageData is not constructable despite browser saying so");
}
}
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
window.ImageData = function () {
var i = 0;
if (arguments[0] instanceof Uint8ClampedArray) {
var data = arguments[i++];
}
var width = arguments[i++];
var height = arguments[i];
var imageData = ctx.createImageData(width, height);
if (data) imageData.data.set(data);
return imageData;
}
})();
self.workerError = function (error) {
console.error('Worker error: ', error);
if (self.onErrorEvent) {
self.onErrorEvent(error);
}
if (!self.debug) {
self.dispose();
throw new Error('Worker error: ' + error);
}
};
// Not tested for repeated usage yet
self.init = function () {
if (!window.Worker) {
self.workerError('worker not supported');
return;
}
// Worker
if (!self.worker) {
self.worker = new Worker(self.workerUrl);
self.worker.onmessage = self.onWorkerMessage;
self.worker.onerror = self.workerError;
}
self.workerActive = false;
self.createCanvas();
self.setVideo(options.video);
self.setSubUrl(options.subUrl);
self.worker.postMessage({
target: 'worker-init',
width: self.canvas.width,
height: self.canvas.height,
URL: document.URL,
currentScript: self.workerUrl,
preMain: true,
fastRender: self.lossyRender,
subUrl: self.subUrl,
subContent: self.subContent,
fonts: self.fonts,
availableFonts: self.availableFonts,
debug: self.debug
});
};
self.createCanvas = function () {
if (!self.canvas) {
if (self.video) {
self.isOurCanvas = true;
self.canvas = document.createElement('canvas');
self.canvas.className = 'libassjs-canvas';
self.canvas.style.display = 'none';
self.canvasParent = document.createElement('div');
self.canvasParent.className = 'libassjs-canvas-parent';
self.canvasParent.appendChild(self.canvas);
if (self.video.nextSibling) {
self.video.parentNode.insertBefore(self.canvasParent, self.video.nextSibling);
}
else {
self.video.parentNode.appendChild(self.canvasParent);
}
}
else {
if (!self.canvas) {
self.workerError('Don\'t know where to render: you should give video or canvas in options.');
}
}
}
self.ctx = self.canvas.getContext('2d');
self.bufferCanvas = document.createElement('canvas');
self.bufferCanvasCtx = self.bufferCanvas.getContext('2d');
// test for alpha bug, where e.g. WebKit can render a transparent pixel
// (with alpha == 0) as non-black which then leads to visual artifacts
self.bufferCanvas.width = 1;
self.bufferCanvas.height = 1;
var testBuf = new Uint8ClampedArray([0, 255, 0, 0]);
var testImage = new ImageData(testBuf, 1, 1);
self.bufferCanvasCtx.clearRect(0, 0, 1, 1);
self.ctx.clearRect(0, 0, 1, 1);
var prePut = self.ctx.getImageData(0, 0, 1, 1).data;
self.bufferCanvasCtx.putImageData(testImage, 0, 0);
self.ctx.drawImage(self.bufferCanvas, 0, 0);
var postPut = self.ctx.getImageData(0, 0, 1, 1).data;
self.hasAlphaBug = prePut[1] != postPut[1];
if (self.hasAlphaBug) {
console.log("Detected a browser having issue with transparent pixels, applying workaround");
}
};
self.setVideo = function (video) {
self.video = video;
if (self.video) {
var timeupdate = function () {
self.setCurrentTime(video.currentTime + self.timeOffset);
}
self.video.addEventListener("timeupdate", timeupdate, false);
self.video.addEventListener("playing", function () {
self.setIsPaused(false, video.currentTime + self.timeOffset);
}, false);
self.video.addEventListener("pause", function () {
self.setIsPaused(true, video.currentTime + self.timeOffset);
}, false);
self.video.addEventListener("seeking", function () {
self.video.removeEventListener("timeupdate", timeupdate);
}, false);
self.video.addEventListener("seeked", function () {
self.video.addEventListener("timeupdate", timeupdate, false);
self.setCurrentTime(video.currentTime + self.timeOffset);
}, false);
self.video.addEventListener("ratechange", function () {
self.setRate(video.playbackRate);
}, false);
self.video.addEventListener("timeupdate", function () {
self.setCurrentTime(video.currentTime + self.timeOffset);
}, false);
self.video.addEventListener("waiting", function () {
self.setIsPaused(true, video.currentTime + self.timeOffset);
}, false);
document.addEventListener("fullscreenchange", self.resizeWithTimeout, false);
document.addEventListener("mozfullscreenchange", self.resizeWithTimeout, false);
document.addEventListener("webkitfullscreenchange", self.resizeWithTimeout, false);
document.addEventListener("msfullscreenchange", self.resizeWithTimeout, false);
window.addEventListener("resize", self.resizeWithTimeout, false);
// Support Element Resize Observer
if (typeof ResizeObserver !== "undefined") {
self.ro = new ResizeObserver(self.resizeWithTimeout);
self.ro.observe(self.video);
}
if (self.video.videoWidth > 0) {
self.resize();
}
else {
self.video.addEventListener("loadedmetadata", function (e) {
e.target.removeEventListener(e.type, arguments.callee);
self.resize();
}, false);
}
}
};
self.getVideoPosition = function () {
var videoRatio = self.video.videoWidth / self.video.videoHeight;
var width = self.video.offsetWidth, height = self.video.offsetHeight;
var elementRatio = width / height;
var realWidth = width, realHeight = height;
if (elementRatio > videoRatio) realWidth = Math.floor(height * videoRatio);
else realHeight = Math.floor(width / videoRatio);
var x = (width - realWidth) / 2;
var y = (height - realHeight) / 2;
return {
width: realWidth,
height: realHeight,
x: x,
y: y
};
};
self.setSubUrl = function (subUrl) {
self.subUrl = subUrl;
};
self.renderFrameData = null;
function renderFrames() {
var data = self.renderFramesData;
var beforeDrawTime = performance.now();
self.ctx.clearRect(0, 0, self.canvas.width, self.canvas.height);
for (var i = 0; i < data.canvases.length; i++) {
var image = data.canvases[i];
self.bufferCanvas.width = image.w;
self.bufferCanvas.height = image.h;
var imageBuffer = new Uint8ClampedArray(image.buffer);
if (self.hasAlphaBug) {
for (var j = 3; j < imageBuffer.length; j = j + 4) {
imageBuffer[j] = (imageBuffer[j] >= 1) ? imageBuffer[j] : 1;
}
}
var imageData = new ImageData(imageBuffer, image.w, image.h);
self.bufferCanvasCtx.putImageData(imageData, 0, 0);
self.ctx.drawImage(self.bufferCanvas, image.x, image.y);
}
if (self.debug) {
var drawTime = Math.round(performance.now() - beforeDrawTime);
console.log(Math.round(data.spentTime) + ' ms (+ ' + drawTime + ' ms draw)');
self.renderStart = performance.now();
}
}
/**
* Lossy Render Mode
*
*/
function renderFastFrames() {
var data = self.renderFramesData;
var beforeDrawTime = performance.now();
self.ctx.clearRect(0, 0, self.canvas.width, self.canvas.height);
for (var i = 0; i < data.bitmaps.length; i++) {
var image = data.bitmaps[i];
self.ctx.drawImage(image.bitmap, image.x, image.y);
}
if (self.debug) {
var drawTime = Math.round(performance.now() - beforeDrawTime);
console.log(data.bitmaps.length + ' bitmaps, libass: ' + Math.round(data.libassTime) + 'ms, decode: ' + Math.round(data.decodeTime) + 'ms, draw: ' + drawTime + 'ms');
self.renderStart = performance.now();
}
}
self.workerActive = false;
self.frameId = 0;
self.onWorkerMessage = function (event) {
//dump('\nclient got ' + JSON.stringify(event.data).substr(0, 150) + '\n');
if (!self.workerActive) {
self.workerActive = true;
if (self.onReadyEvent) {
self.onReadyEvent();
}
}
var data = event.data;
switch (data.target) {
case 'stdout': {
console.log(data.content);
break;
}
case 'console-log': {
console.log.apply(console, JSON.parse(data.content));
break;
}
case 'console-debug': {
console.debug.apply(console, JSON.parse(data.content));
break;
}
case 'console-info': {
console.info.apply(console, JSON.parse(data.content));
break;
}
case 'console-warn': {
console.warn.apply(console, JSON.parse(data.content));
break;
}
case 'console-error': {
console.error.apply(console, JSON.parse(data.content));
break;
}
case 'stderr': {
console.error(data.content);
break;
}
case 'window': {
window[data.method]();
break;
}
case 'canvas': {
switch (data.op) {
case 'getContext': {
self.ctx = self.canvas.getContext(data.type, data.attributes);
break;
}
case 'resize': {
self.resize(data.width, data.height);
break;
}
case 'renderCanvas': {
if (self.lastRenderTime < data.time) {
self.lastRenderTime = data.time;
self.renderFramesData = data;
window.requestAnimationFrame(renderFrames);
}
break;
}
case 'renderFastCanvas': {
if (self.lastRenderTime < data.time) {
self.lastRenderTime = data.time;
self.renderFramesData = data;
window.requestAnimationFrame(renderFastFrames);
}
break;
}
case 'setObjectProperty': {
self.canvas[data.object][data.property] = data.value;
break;
}
default:
throw 'eh?';
}
break;
}
case 'tick': {
self.frameId = data.id;
self.worker.postMessage({
target: 'tock',
id: self.frameId
});
break;
}
case 'custom': {
if (self['onCustomMessage']) {
self['onCustomMessage'](event);
} else {
throw 'Custom message received but client onCustomMessage not implemented.';
}
break;
}
case 'setimmediate': {
self.worker.postMessage({
target: 'setimmediate'
});
break;
}
case 'get-events': {
console.log(data.target);
console.log(data.events);
break;
}
case 'get-styles': {
console.log(data.target);
console.log(data.styles);
break;
}
default:
throw 'what? ' + data.target;
}
};
self.resize = function (width, height, top, left) {
var videoSize = null;
top = top || 0;
left = left || 0;
if ((!width || !height) && self.video) {
videoSize = self.getVideoPosition();
width = videoSize.width * self.pixelRatio;
height = videoSize.height * self.pixelRatio;
var offset = self.canvasParent.getBoundingClientRect().top - self.video.getBoundingClientRect().top;
top = videoSize.y - offset;
left = videoSize.x;
}
if (!width || !height) {
if (!self.video) {
console.error('width or height is 0. You should specify width & height for resize.');
}
return;
}
if (
self.canvas.width != width ||
self.canvas.height != height ||
self.canvas.style.top != top ||
self.canvas.style.left != left
) {
self.canvas.width = width;
self.canvas.height = height;
if (videoSize != null) {
self.canvasParent.style.position = 'relative';
self.canvas.style.display = 'block';
self.canvas.style.position = 'absolute';
self.canvas.style.width = videoSize.width + 'px';
self.canvas.style.height = videoSize.height + 'px';
self.canvas.style.top = top + 'px';
self.canvas.style.left = left + 'px';
self.canvas.style.pointerEvents = 'none';
}
self.worker.postMessage({
target: 'canvas',
width: self.canvas.width,
height: self.canvas.height
});
}
};
self.resizeWithTimeout = function () {
self.resize();
setTimeout(self.resize, 100);
};
self.runBenchmark = function () {
self.worker.postMessage({
target: 'runBenchmark'
});
};
self.customMessage = function (data, options) {
options = options || {};
self.worker.postMessage({
target: 'custom',
userData: data,
preMain: options.preMain
});
};
self.setCurrentTime = function (currentTime) {
self.worker.postMessage({
target: 'video',
currentTime: currentTime
});
};
self.setTrackByUrl = function (url) {
self.worker.postMessage({
target: 'set-track-by-url',
url: url
});
};
self.setTrack = function (content) {
self.worker.postMessage({
target: 'set-track',
content: content
});
};
self.freeTrack = function (content) {
self.worker.postMessage({
target: 'free-track'
});
};
self.render = self.setCurrentTime;
self.setIsPaused = function (isPaused, currentTime) {
self.worker.postMessage({
target: 'video',
isPaused: isPaused,
currentTime: currentTime
});
};
self.setRate = function (rate) {
self.worker.postMessage({
target: 'video',
rate: rate
});
};
self.dispose = function () {
self.worker.postMessage({
target: 'destroy'
});
self.worker.terminate();
self.workerActive = false;
// Remove the canvas element to remove residual subtitles rendered on player
if (self.video) {
self.video.parentNode.removeChild(self.canvasParent);
}
};
self.createEvent = function (event) {
self.worker.postMessage({
target: 'create-event',
event: event
});
};
self.getEvents = function () {
self.worker.postMessage({
target: 'get-events'
});
};
self.setEvent = function (event, index) {
self.worker.postMessage({
target: 'set-event',
event: event,
index: index
});
};
self.removeEvent = function (index) {
self.worker.postMessage({
target: 'remove-event',
index: index
});
};
self.createStyle = function (style) {
self.worker.postMessage({
target: 'create-style',
style: style
});
};
self.getStyles = function () {
self.worker.postMessage({
target: 'get-styles'
});
};
self.setStyle = function (style, index) {
self.worker.postMessage({
target: 'set-style',
style: style,
index: index
});
};
self.removeStyle = function (index) {
self.worker.postMessage({
target: 'remove-style',
index: index
});
};
self.init();
};
if (typeof SubtitlesOctopusOnLoad == 'function') {
SubtitlesOctopusOnLoad();
}
if (typeof exports !== 'undefined') {
if (typeof module !== 'undefined' && module.exports) {
exports = module.exports = SubtitlesOctopus
}
}
@@ -0,0 +1,56 @@
[Script Info]
Title:
ScriptType: v4.00+
WrapStyle: 0
PlayResX: 640
PlayResY: 480
ScaledBorderAndShadow: yes
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,0
Style: Alt,Times New Roman,40,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,8,10,10,10,0
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,,This line is a comment and should not display on rendered output. This file is intended to be rendered on a 640x480 video, preferably a single solid colour, or maybe a checkerboard pattern.
Dialogue: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,,This is a test of the ASS format and some basic features in it.
Dialogue: 0,0:00:05.00,0:00:07.00,Default,,0000,0000,0000,,This and the previous line should both show at the bottom of the video in 20 pixel high white Arial with a 2 pixel black outline and 2 pixel offset shadow. This line is long so it should automatically be broken into several lines that are approximately even length, with upper lines being longer.
Dialogue: 0,0:00:07.00,0:00:09.00,Default,,0000,0000,0000,,Now going to test conflict resolution. {By the way, this is a common abuse, "inline-comments" in override tag groups. They should not be rendered and not generate errors, just be ignored.}
Dialogue: 0,0:00:07.50,0:00:09.00,Default,,0000,0000,0000,,This line should be above the previous.
Dialogue: 0,0:00:09.00,0:00:11.00,Default,,0000,0000,0000,,{\an1}This line should be lower-left aligned using the \an1 override.
Dialogue: 0,0:00:11.00,0:00:13.00,Default,,0000,0000,0000,,{\an9}Upper right
Dialogue: 0,0:00:12.00,0:00:14.00,Alt,,0000,0000,0000,,This one should be below the "Upper right" line and be centered on screen. It should also be in 40 pixel high Times New Roman.
Dialogue: 0,0:00:14.00,0:00:16.00,Alt,,0000,0000,0000,,{\fs10}This should also be a toptitle in Times New Roman, but much smaller. Using an override tag to change size.
Dialogue: 0,0:00:16.00,0:00:18.00,Alt,,0000,0000,0000,,{\a5}Top-left using the legacy \a5 tag
Dialogue: 0,0:00:18.00,0:00:20.00,Default,,0000,0000,0000,,{\an5}This line is centered on screen.\NAt the bottom of the screen should be two lines in different layers, they are rendered on top of each other because conflict resolution only considers lines in the same layer.
Dialogue: 0,0:00:18.00,0:00:20.00,Default,,0000,0000,0000,,This is in layer 0
Dialogue: 1,0:00:18.00,0:00:20.00,Default,,0000,0000,0000,,And this line is in layer 1
Dialogue: 0,0:00:20.00,0:00:22.00,Default,,0000,0000,0000,,Another line in layer 0
Dialogue: 1,0:00:20.00,0:00:22.00,Default,,0050,0000,0020,,And this line is in layer 1, but has changed its margins so it isn't exactly centered, and it's raised above the other line.
Dialogue: 0,0:00:22.00,0:00:24.00,Default,,0000,0000,0000,,Switching {\fnTimes New Roman}font inline, {\r}and resetting styles
Dialogue: 0,0:00:24.00,0:00:26.00,Default,,0000,0000,0000,,Also {\rAlt}switching to a different style {\r}inline
Dialogue: 0,0:00:26.00,0:00:28.00,Default,,0000,0000,0000,,{\an5\pos(258,131)}Positioning... this line should be in an odd place
Dialogue: 0,0:00:26.00,0:00:28.00,Default,,0000,0000,0000,,{\an5\pos(222,338)\frz29.559}So should this one, and be rotated
Dialogue: 0,0:00:28.00,0:00:30.00,Default,,0000,0000,0000,,{\pos(371,314)\frz338.403\frx42\fry30\org(187,165)}Some more rotation tricks, this time in 3D and with a different origin
Dialogue: 0,0:00:30.00,0:00:32.00,Default,,0000,0000,0000,,{\an5\t(\frz360)}This line is animated and rotates 360 degrees over its duration
Dialogue: 0,0:00:32.00,0:00:34.00,Default,,0000,0000,0000,,{\an5\move(182,157,414,311)}This line moves
Dialogue: 0,0:00:34.00,0:00:36.00,Default,,0000,0000,0000,,{\an5\clip(126,192,487,241)}This line is only partially visible\Nso if you can see this, \clip is handled incorrectly
Dialogue: 0,0:00:36.00,0:00:38.00,Default,,0000,0000,0000,,{\an5\clip(m 178 212 l 163 249 212 302 257 232 309 249 366 241 392 285 473 267 487 210 421 241 353 219 207 258)}And this line has a funnily-shaped clip area
Dialogue: 0,0:00:38.00,0:00:40.00,Default,,0000,0000,0000,,{\an5\pos(321,193)}Here should be a pretty feather with a thin border and no shadow:
Dialogue: 0,0:00:38.00,0:00:40.00,Default,,0000,0000,0000,,{\an5\bord1\shad0\p1\fscx300\fscy300\pos(316,312)}m 0 0 b 33 -3 48 -7 61 -19 b 53 -7 31 -1 1 2 m 9 0 b 9 -5 10 -6 14 -12 b 9 -5 10 -3 10 0 m 10 -1 b 10 -5 11 -8 16 -12 b 17 -12 18 -13 22 -14 b 18 -10 16 -6 15 -1 b 17 -6 19 -10 23 -14 l 26 -15 b 22 -11 20 -6 19 -2 b 24 -11 27 -14 28 -15 b 31 -16 35 -16 39 -16 b 37 -14 36 -10 36 -5 b 36 -9 38 -14 39 -16 b 41 -16 43 -16 45 -15 b 44 -13 43 -10 43 -7 l 29 -3 m 43 -7 b 44 -11 45 -13 47 -15 b 46 -13 46 -11 46 -9 b 46 -11 47 -13 49 -15 b 51 -15 48 -13 48 -9 b 49 -11 49 -14 52 -16 b 55 -16 53 -17 51 -11 l 48 -8 m 54 -13 b 53 -14 54 -15 54 -16 b 54 -15 54 -14 55 -13 b 57 -13 60 -12 62 -14 b 61 -12 55 -12 53 -12 b 55 -11 56 -10 61 -10 b 61 -7 53 -9 52 -11 b 53 -8 55 -7 58 -6 b 57 -5 56 -4 54 -3 b 49 -5 48 -6 47 -9 b 47 -6 50 -4 53 -2 b 49 -3 47 -6 45 -8 b 46 -6 49 -3 52 -1 b 46 2 45 3 43 3 b 40 0 39 -3 40 -6 b 39 -3 39 1 42 3 b 40 6 36 1 34 -4 b 35 -1 36 2 38 5 b 32 7 26 9 22 8 b 19 5 17 2 16 -1 b 17 3 19 5 20 7 b 17 4 16 2 15 0 b 15 2 17 5 19 8 b 15 9 13 3 12 0 l 25 -2 l 42 -7 m 12 0 b 13 3 13 7 17 9 b 12 7 10 1 10 0
Dialogue: 0,0:00:40.00,0:00:42.00,Default,,0000,0000,0000,,Some other basic font style tests:\NNormal, {\b1}Boldface{\r}, {\i1}Italics{\r}, {\u1}Underline{\r}, {\s1}Strikethrough
Dialogue: 0,0:00:42.00,0:00:44.00,Default,,0000,0000,0000,,There should be no linebreak here,\nbut there should be one here\Nso this is on a separate line.
Dialogue: 0,0:00:44.00,0:00:46.00,Default,,0000,0000,0000,,This line is pushed left by adding some hard spaces to the right\h\h\h\h\h\h\h\h\h\h\h\h\h\h\h\h\h\h\h\h
Dialogue: 0,0:00:44.00,0:00:46.00,Default,,0000,0000,0000,, Regular spaces at line start/end are ignored, so this line is centered
Dialogue: 0,0:00:46.00,0:00:48.00,Default,,0000,0000,0000,,{\an8\q2}This is a long line but it is not broken into several because it's using the \q override tag which changes the line-wrapping mode for a single line. The tag can take several values, 0 is the default which is "smart wrapping" with top lines longer, 1 is regular wrapping, 2 is no wrapping and 3 is smart-wrapping with bottom lines longer.
Dialogue: 0,0:00:46.00,0:00:48.00,Default,,0000,0000,0000,,{\an5\q1}This is a long line using the \q1 override tag to get "dumb" wrapping, make as long lines as possible and first wrap when it'd go off screen. This is mostly visible when the last line generated is short.
Dialogue: 0,0:00:46.00,0:00:48.00,Default,,0000,0000,0000,,{\q3}And this line uses the \q3 wrapping style, which is similar to the \q0 default smart-wrap style, but has lower lines longer than the upper ones.
Dialogue: 0,0:00:48.00,0:00:50.00,Default,,0000,0000,0000,,{\an5}{\bord0\t(\bord10)}This text has a growing border\N{\r\shad0\t(\shad10)}This text has an increasing shadow\N{\r\t(\fry360)}This text is rotating around the Y axis\N{\r\t(\frz720)}This text rotates {\t(\frx360)}and this one even more
Dialogue: 0,0:00:50.00,0:00:52.00,Default,,0000,0000,0000,,{\an5\bord0\shad0}All of this has no border or shadow...\N{\1c&H0000FF&}This is bright red, {\1c&H00FF00&}green, {\1c&HFF0000}blue{\1c&HFFFFFF&}\N{\1a&H80&}50% transparent
Dialogue: 0,0:00:52.00,0:00:54.00,Default,,0000,0000,0000,,{\fsp10}Large inter-letter spacing
Dialogue: 0,0:00:54.00,0:00:56.00,Default,,0000,0000,0000,,{\shad0}No shadow here, just regular border, {\be1}but this is \be1 blurred edges!
Dialogue: 0,0:00:56.00,0:00:58.00,Default,,0000,0000,0000,,{\t(1000,2000,\alpha&HFF&)}Fading out after 1 sec on screen, using \alpha. Everything should fade.
Dialogue: 0,0:00:58.00,0:01:00.00,Default,,0000,0000,0000,,{\fad(1000,1000)}Fading in and out using \fad
Dialogue: 0,0:01:00.00,0:01:02.00,Default,,0000,0000,0000,,{\k10}And {\k5}now {\k20}for {\kf50}ka{\kf20}ra{\K70}o{\K10}ke{\k0}!
Dialogue: 0,0:01:02.00,0:01:04.00,Default,,0000,0000,0000,,{\an5\t()\clip(69,215,573,267)\t(1000,2000,3,\clip(573,267,573,267))}And the last thing on the programme, an animated rectangular \clip, delayed by 1 second. And it even uses acceleration...!
@@ -0,0 +1,49 @@
[Script Info]
; // 此字幕由爱幕生成
Synch Point:1
ScriptType:v4.00+
Collisions:Normal
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default, Microsoft YaHei, 20, &H00FFFFFF, &H000092FE, &H00000000, &H82000000, 0, 0, 0, 0, 100, 100, 0, 0, 1, 1, 2, 2, 10, 10, 30, 134
Style: Style1, Microsoft YaHei, 20, &H0000DCFC, &H0000DCFC, &H00000000, &H82000000, 0, 0, 0, 0, 100, 100, 1, 0, 1, 1, 2, 2, 10, 10, 30, 134
Style: Style2, ZCOOL KuaiLe, 20, &H0000DDA4, &H0000DDA4, &H00334D19, &H82000000, 0, 0, 0, 0, 100, 100, 1, 0, 4, 1, 3, 2, 10, 10, 50, 134
Style: Style3, Source Han Sans CN Medium, 28, &H009E14AB, &H009E14AB, &H00009EFB, &H82000000, 0, 0, 0, 0, 100, 100, 1, 0, 1, 1, 2, 2, 10, 10, 100, 134
[Events]
Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.31,0:00:00.84,Style1,NTP,0000,0000,0000,,那一天\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}あの日
Dialogue: 0,0:00:01.28,0:00:02.22,Style2,NTP,0000,0000,0000,,星星降落的日子\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}星が降った日
Dialogue: 0,0:00:03.15,0:00:04.41,Style3,NTP,0000,0000,0000,,那简直是\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}それはまるで
Dialogue: 0,0:00:04.45,0:00:04.97,Default,NTP,0000,0000,0000,,简直\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}まるで
Dialogue: 0,0:00:05.12,0:00:06.30,Default,NTP,0000,0000,0000,,像梦中的景色一样\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}夢の景色のように
Dialogue: 0,0:00:07.44,0:00:08.98,Default,NTP,0000,0000,0000,,美丽的景色\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}美しい眺めだった
Dialogue: 0,0:00:24.60,0:00:25.09,Default,NTP,0000,0000,0000,,放学后\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}放課後
Dialogue: 0,0:00:25.70,0:00:26.26,Default,NTP,0000,0000,0000,,不好\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}悪い
Dialogue: 0,0:00:26.48,0:00:27.68,Default,NTP,0000,0000,0000,,我今天开始打工\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}おれ今日これからバイト
Dialogue: 0,0:00:29.34,0:00:31.69,Default,NTP,0000,0000,0000,,已经讨厌这样的乡下了\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}もうこんな田舎嫌だよー
Dialogue: 0,0:00:31.97,0:00:33.53,Default,NTP,0000,0000,0000,,讨厌这样的人生\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}こんな人生嫌だ
Dialogue: 0,0:00:33.93,0:00:37.97,Default,NTP,0000,0000,0000,,来世请让我成为东京的帅哥吧\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}来世は東京のイケメン男子にしてくださーい
Dialogue: 0,0:00:42.08,0:00:42.87,Default,NTP,0000,0000,0000,,哪里\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}どこ
Dialogue: 0,0:00:43.05,0:00:44.17,Default,NTP,0000,0000,0000,,那么说来\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}そういえば
Dialogue: 0,0:00:44.55,0:00:47.08,Default,NTP,0000,0000,0000,,我觉得好像一直做着奇怪的梦\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}ずっと変な夢を見てたような気がするんだけど
Dialogue: 0,0:00:48.32,0:00:50.63,Default,NTP,0000,0000,0000,,别人的人生中…梦\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}別の人の人生の…夢
Dialogue: 0,0:00:51.45,0:00:52.74,Default,NTP,0000,0000,0000,,这是什么\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}何だ これ
Dialogue: 0,0:00:54.78,0:00:55.44,Default,NTP,0000,0000,0000,,这个,这个\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}これって
Dialogue: 0,0:00:56.72,0:00:57.72,Default,NTP,0000,0000,0000,,这难道是\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}これってもしかして
Dialogue: 0,0:00:58.08,0:00:59.33,Default,NTP,0000,0000,0000,,我们在梦中\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}俺達は夢の中で
Dialogue: 0,0:01:00.14,0:01:01.20,Default,NTP,0000,0000,0000,,替换着\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}入れ替わってる
Dialogue: 0,0:01:07.37,0:01:08.30,Default,NTP,0000,0000,0000,,确实的事情\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}確かなことが
Dialogue: 0,0:01:08.76,0:01:09.54,Default,NTP,0000,0000,0000,,只有一个\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}一つだけある
Dialogue: 0,0:01:10.33,0:01:11.04,Default,NTP,0000,0000,0000,,我们是\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}私達は
Dialogue: 0,0:01:11.42,0:01:12.32,Default,NTP,0000,0000,0000,,见面的话绝对\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}会えば絶対
Dialogue: 0,0:01:12.68,0:01:13.53,Default,NTP,0000,0000,0000,,马上就明白\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}すぐにわかる
Dialogue: 0,0:01:14.25,0:01:15.28,Default,NTP,0000,0000,0000,,我想说\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}言おうと思ったんだ
Dialogue: 0,0:01:16.08,0:01:17.58,Default,NTP,0000,0000,0000,,你是世界的无论在哪里\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}お前が世界のどこにいても
Dialogue: 0,0:01:17.95,0:01:19.05,Default,NTP,0000,0000,0000,,一定要去见你\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}必ず会いに行くって
Dialogue: 0,0:01:20.14,0:01:20.94,Default,NTP,0000,0000,0000,,你是\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}あなたは
Dialogue: 0,0:01:21.36,0:01:21.80,Default,NTP,0000,0000,0000,,谁\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}誰
Dialogue: 0,0:01:22.20,0:01:22.76,Default,NTP,0000,0000,0000,,你是\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}お前は
Dialogue: 0,0:01:23.48,0:01:24.04,Default,NTP,0000,0000,0000,,谁\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}誰だ
Dialogue: 0,0:01:25.69,0:01:26.47,Default,NTP,0000,0000,0000,,你的名字是\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}君の名は
-69
View File
@@ -1,69 +0,0 @@
var vConsole = new VConsole();
var art = new Artplayer({
container: '.artplayer-app',
url: 'https://artplayer.org/assets/sample/video.mp4',
title: 'One More Time One More Chance',
poster: '/assets/sample/poster.jpg',
autoSize: true,
loop: true,
mutex: true,
theme: '#ffad00',
fullscreen: true,
fullscreenWeb: true,
miniProgressBar: true,
moreVideoAttr: {
playsInline: true,
'webkit-playsinline': true,
'x5-video-player-type': 'h5',
'x5-video-player-fullscreen': false,
'x5-video-orientation': 'portraint',
},
subtitle: {
url: '/assets/sample/subtitle.srt',
style: {
color: '#fff',
fontSize: '14px',
},
},
layers: [
{
html: `<img style="width: 50px" src="/assets/sample/layer.png">`,
click: function () {
console.info('You clicked on the custom layer');
},
style: {
position: 'absolute',
top: '10px',
right: '10px',
opacity: '.9',
},
},
],
icons: {
loading: '<img src="./assets/img/ploading.gif">',
state: '<img src="./assets/img/state.svg">',
},
plugins: [
artplayerPluginDanmuku({
danmuku: '/assets/sample/danmuku.xml',
speed: 5,
maxlength: 100,
margin: [10, 70],
opacity: 1,
fontSize: 14,
synchronousPlayback: false,
}),
],
whitelist: ['*'],
});
Artplayer.config.events.forEach(function (item) {
art.on('video:' + item, function (event) {
console.log('video: ' + event.type);
});
});
if (Artplayer.utils.isWechat) {
document.querySelector('.tip').textContent = '微信环境需手动触发播放';
}
+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><i><chatserver></chatserver><chatid>11724691</chatid><mission></mission><maxlimit></maxlimit><state></state><real_name></real_name><source></source><d p="0.465,5,25,26214,1480410348,11,e6d2b8ad,2704552969">泷:三叶,请记住我的名字“I LOVE YOU”</d><d p="0.465,5,25,16777215,1480410348,11,e6d2b8ad,2704553613">泷:三叶,请记住我的名字“I LOVE YOU”</d><d p="0.465,5,25,26112,1480410348,11,e6d2b8ad,2704554207">泷:三叶,请记住我的名字“I LOVE YOU”</d><d p="0.465,5,25,153,1480410349,11,e6d2b8ad,2704554619">泷:三叶,请记住我的名字“I LOVE YOU”</d><d p="0.465,5,25,6750054,1480410349,11,e6d2b8ad,2704555293">泷:三叶,请记住我的名字“I LOVE YOU”</d><d p="0,1,25,16777215,1480507709,1,f1118a60,2707380543"> 被秀了一脸恩爱</d><d p="0,1,25,16777215,1480507733,11,71176b2b,2707448679">和素未相识的网友一起配对啦!有点小激动~</d><d p="0.397,1,25,16777215,1480507736,11,30ae2d68,2707456541">配对成功,领到票了!~感谢B站!</d><d p="0.998,4,25,16711680,1480511354,11,784632ed,2707517761">长理携手同行~君之名</d><d p="0.464,5,25,16711680,1480511374,11,b430db82,2707587437">南宁单身狗的愤怒!!!!抢不到票!只能买!!!</d><d p="0,5,25,6750156,1485234066,11,e3205a8,2892019964">真·神作</d><d p="0.659,5,25,16777215,1494846439,11,6f2da951,3360883360">小僚机,我知道你会来看</d><d p="0.216,5,25,15138834,1627771015,1,ec179f6,52758493762945027">十个在哭,九个在狂笑(指鬼畜)</d><d p="1.103,1,25,16777215,1479974691,11,34d8ddf9,2689553545">我要把我欠的票都还了</d><d p="1.101,5,25,15138834,1479982003,11,7a51ca7e,2689798191">新海诚的票该还了!</d><d p="1.186,5,25,16711680,1480179684,11,9b7de097,2697536623">清露,牵手一起看吧</d><d p="1.242,5,25,41194,1480413988,1,1bf2e5d0,2704646713">呐,媳妇,我们一起看吧,然后订婚吧</d><d p="1.236,5,25,16777215,1480507737,1,4c53bc94,2707460573">你们能够理解我找妹子但是她登陆不上</d><d p="1.236,5,25,16777215,1480507737,11,4c53bc94,2707462659">最后迫不得已和室友配对成功,妹子又能登陆了</d><d p="1.984,1,25,16777215,1480842316,1,9ec9710f,2719145455">诚哥已经暴走碾压票房了</d><d p="1.362,5,25,16737843,1480932398,11,11000a3,2722220923">希望下辈子可以做个东京的帅哥</d><d p="1.687,1,25,16776960,1480939732,11,9d428cc8,2722641857">你的名字并出示你的驾驶证,你已经违规超速</d><d p="1.024,5,25,16777215,1481346068,11,a1d2e4fd,2735207423">希望下辈子可以做个东京的帅哥</d><d p="1.382,5,25,16707842,1487761657,9,d1f803de,3034151580">你的名字,茨木童子</d><d p="1.336,5,25,15138834,1501816307,1,116cf666,3647711960">结果跟基友看了。。。</d><d p="1.819,5,25,16777215,1523157002,11,42ca01f4,4446088750">bgm是黄昏之时 32秒开始</d><d p="1.662,4,25,9487136,1563115700,10,234a8c6a,18860487968030784">看的时候几乎从中间就开始哭,哭到坐车回家的路上还是在哭</d><d p="1.415,5,25,15138834,1626699746,1,ec179f6,52196839793360899">一个被鬼畜区玩坏的新海诚作品预告</d><d p="2.977,1,25,16777215,1479711804,8,a95074f6,2681576151">把之前欠诚哥的电影票还了!!!!</d><d p="2.403,1,25,14811775,1479711820,1,540181fb,2681602949">今晚逃晚自习来看</d><d p="2.261,1,25,16777215,1479867045,7,57aabaf6,2686476547">一天看 十次的节奏</d><d p="2.914,1,25,16777215,1479996640,11,6d5943e4,2690508451">已订票!!!坐标成都!!</d><d p="2.746,5,25,65535,1480064712,11,6719b12f,2692368809">清晨,我睁开眼睛时</d><d p="2.542,1,25,16777215,1480158460,7,b69f3e5a,2696198143">看完超级感动!!!!想和喜欢的人一起去看!!!你的名字是——SXY</d><d p="2.363,5,25,16776960,1480165758,5,c160358f,2696604905">钟晋我们一起去看吧</d><d p="2.311,5,25,16777215,1480233862,4,8017a98f,2699305393">荧荧。我们一起去看好吗。</d><d p="2.036,4,18,16777215,1480345885,7,d948d805,2703226509">目が覚めると</d><d p="2.601,1,25,41194,1480413988,1,1bf2e5d0,2704647585">呐,媳妇,我们一起看吧,然后订婚吧</d><d p="2.527,1,25,10079232,1480417658,11,2805d07,2704838747">小祁啊~好想和你一起去看啊</d><d p="2.98,1,25,16777215,1480507716,9,7c74b51c,2707397713">Morphine,其实Sekka想跟你一起去</d><d p="2.683,5,25,14811775,1480507722,9,4c28c99,2707414993">好的 安徒生</d><d p="2.12,5,25,16711680,1480507737,1,3c70614c,2707461715">邓云遥,我们一起去看吧~</d><d p="2.813,1,25,16777215,1480511374,6,1be1c658,2707587439">宝贝,咱俩一起看</d><d p="2.618,5,25,6737151,1480511393,11,2168da58,2707658573">同南宁,估计又得自己去淘票了!</d><d p="2.159,1,25,16777215,1480518663,9,e4a4c1fc,2707915557">不知道为什么只是看见这个开头就有种想哭的感</d><d p="2.03,1,25,14811775,1480536244,9,b647f440,2708348593">没抢到票。。。Line truncated
+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><i><chatserver>chat.bilibili.com</chatserver><chatid>580770634</chatid><mission>0</mission><maxlimit>1500</maxlimit><state>0</state><real_name>0</real_name><source>k-v</source><d p="481.89400,1,25,16777215,1653692078,0,70e36298,1062005140992593408,11">可以去太湖捞捞试试(狗头保命</d><d p="265.37800,1,25,16777215,1653616680,0,88afabc0,1061372654017566976,11">好了,今天就到这,我感觉生物钟启动了,我要睡了</d><d p="777.55400,1,25,16777215,1653575476,0,9bcc00a2,1061027009955725568,11">当然是sha256(sha256(pw)+salt)</d><d p="13.88600,1,25,16777215,1653570775,0,966e6348,1060987581535333376,11">Swift~~~</d><d p="454.63400,1,25,16777215,1652717912,0,6d2da793,1053833248746068480,11">搞个共享数据库,像挖矿一样每个人算好的都可以上传</d><d p="177.13900,1,25,16777215,1652453333,0,fb4f660b,1051613793517396736,11">有点懵,但感到很震撼</d><d p="22.57900,1,25,16777215,1652430212,0,bdb52a9e,1051419843691098880,11">哈希值</d><d p="58.06700,1,25,16777215,1652368788,0,e91e8413,1050904578150762496,11">有了粉碎机,家里就只剩下粉碎机了</d><d p="275.65900,5,25,16777215,1652354865,0,397b3aab,1050787785968982016,11">《我知道了》</d><d p="774.77900,1,25,16777215,1652256952,0,542886c4,1049966433997495040,11">奥卡姆剃刀</d><d p="352.26200,1,25,16777215,1652247365,0,139fd1a2,1049886011934382080,11">加盐只是通过不确定的盐来隐藏确定的原值,增加彩虹表的制作难度</d><d p="395.65900,1,25,16777215,1652169656,0,e2308d98,1049234139607279872,11">哈希冲突</d><d p="346.72900,1,25,16777215,1652112430,0,54ba448a,1048754095986328064,11">《彩虹表》</d><d p="653.60600,1,25,16777215,1652101305,0,5ec1b46c,1048660766959520768,11">哈哈,这个可以使git库瞬间挂掉</d><d p="461.75200,1,25,16777215,1652101091,0,5ec1b46c,1048658979179723264,11">做个超级字典,把最常用的组合记录下来就行了</d><d p="94.11200,1,25,16777215,1652100683,0,5ec1b46c,1048655552173002240,11">哈希根本不是加密,只是摘要算法</d><d p="386.19500,1,25,16777215,1652097650,0,c4cc4296,1048630114516051968,11">组合数学开始了</d><d p="414.69100,1,25,16777215,1652084321,0,fafcfbb0,1048518297794048256,11">设计者自己找不到(doge</d><d p="59.62300,5,25,16707842,1652052664,0,971041b8,1048252744781197824,11">我会!</d><d p="445.99300,1,25,16777215,1651998604,0,53d75164,1047799249896694016,11">哎嘿 很勇哦</d><d p="641.24300,1,25,16777215,1651991247,0,ed4717ed,1047737536325133312,11">但是加盐还是有用</d><d p="408.97200,1,25,16777215,1651977907,0,4bd9a2d7,1047625636933279232,11">可以存在一个笼子里一只鸽子也没有</d><d p="511.84900,1,25,16777215,1651972503,0,f0826639,1047580298436422144,11">哈希冲突</d><d p="520.96700,5,25,16777215,1651967260,0,27acb016,1047536317854342656,11">列巴的列(补充</d><d p="558.75200,1,25,16777215,1651940306,0,860de6bd,1047310216540149504,11">《模仿游戏》来了</d><d p="505.15000,1,25,16777215,1651940233,0,860de6bd,1047309599239544064,11">电影《模仿游戏》</d><d p="488.98600,1,25,16777215,1651927542,0,44f3ad45,1047203142191739648,11">俺姆昂鸽瑞!</d><d p="586.48600,1,25,16777215,1651849723,0,29026d4b,1046550345196703488,11">烫烫烫哈哈哈哈哈哈!</d><d p="102.05200,1,25,16777215,1651839216,0,1336ac64,1046462209011973120,11">王小云,指数级缩短了MD5的碰撞时间</d><d p="55.82000,1,25,16777215,1651825875,0,38443e73,1046350293337386752,11">一半我做的登录都会生成一个密码盐,存在本地</d><d p="681.33200,1,25,16777215,1651819803,0,fc3f2a25,1046299363606827264,11">加盐也对付不了碰撞 只能对付彩虹表</d><d p="18.26500,1,25,16777215,1651816441,0,cf2bea01,1046271154899279872,11">A(欸)P(劈)P(劈)</d><d p="567.29500,1,25,16777215,1651812016,0,5309839c,1046234041289880832,11">你错了,图灵对这个并不熟</d><d p="504.07300,1,25,16777215,1651806653,0,58c10bda,1046189050064611584,11">加盐</d><d p="350.22000,1,25,16777215,1651798844,0,d3cbe582,1046123548323639040,11">所以要加盐</d><d p="59.55900,1,25,16777215,1651793262,0,dc9b4d74,1046076722316952576,11">哈希有很小很小的概率把两个不一样的东西映射成一个</d><d p="468.25000,1,25,16777215,1651762009,0,1e90bb3e,1045814547245588736,11">量子计算:这个我熟</d><d p="565.29300,1,25,16777215,1651722446,0,1b70a4,1045482667682264064,11">图灵说:这个我熟</d><d p="652.84300,1,25,16777215,1651713497,0,9e19237c,1045407604815323904,11">图片隐写</d><d p="391.57200,1,25,16777215,1651622858,0,d78de8a,1044647266629422336,11">吾生而有崖</d><d p="273.57700,1,25,16777215,1651509100,0,c8ed82e9,1043692993388749056,11">《也可以100行以内》</d><d p="494.74000,1,25,16777215,1651405107,0,8262fe93,1042820639116808192,11">数据库!</d><d p="753.23500,1,25,16777215,1651385801,0,ea9eeeda,1042658687317412864,11">火速换RSA!</d><d p="747.76900,1,25,16777215Line truncated
+43 -91
View File
@@ -1,97 +1,49 @@
[Script Info]
; This is an Advanced Sub Station Alpha v4+ script.
Title: phpNOQ5Gi
ScriptType: v4.00+
Collisions: Normal
PlayDepth: 0
[Script Info]
; // 此字幕由爱幕生成
Synch Point:1
ScriptType:v4.00+
Collisions:Normal
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H0300FFFF,&H00000000,&H02000000,0,0,0,0,100,100,0,0,1,2,1,2,10,10,10,1
Style: Default, Microsoft YaHei, 20, &H00FFFFFF, &H000092FE, &H00000000, &H82000000, 0, 0, 0, 0, 100, 100, 0, 0, 1, 1, 2, 2, 10, 10, 30, 134
Style: Style1, Microsoft YaHei, 20, &H0000DCFC, &H0000DCFC, &H00000000, &H82000000, 0, 0, 0, 0, 100, 100, 1, 0, 1, 1, 2, 2, 10, 10, 30, 134
Style: Style2, ZCOOL KuaiLe, 20, &H0000DDA4, &H0000DDA4, &H00334D19, &H82000000, 0, 0, 0, 0, 100, 100, 1, 0, 4, 1, 3, 2, 10, 10, 50, 134
Style: Style3, Source Han Sans CN Medium, 28, &H009E14AB, &H009E14AB, &H00009EFB, &H82000000, 0, 0, 0, 0, 100, 100, 1, 0, 1, 1, 2, 2, 10, 10, 100, 134
[Events]
Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.50,0:00:03.95,Default,,0,0,0,,歌名:One More Time,One More Chance\N〖愿往事重来〗
Dialogue: 0,0:00:04.00,0:00:05.95,Default,,0,0,0,,【新海诚动画】『秒速5センチメートル』\N《秒速5厘米》主题曲
Dialogue: 0,0:00:06.00,0:00:08.95,Default,,0,0,0,,编曲:森俊之
Dialogue: 0,0:00:09.00,0:00:11.95,Default,,0,0,0,,作词|作曲|演唱:山崎まさよし <山崎将义>
Dialogue: 0,0:00:12.00,0:00:15.95,Default,,0,0,0,,
Dialogue: 0,0:00:16.00,0:00:20.25,Default,,0,0,0,,これ以上何をう失(し)なえば\N【还要再失去什么】
Dialogue: 0,0:00:20.30,0:00:23.25,Default,,0,0,0,,心は许(ゆる)されるの\N【才能让心得到宽恕?】
Dialogue: 0,0:00:23.30,0:00:27.25,Default,,0,0,0,,どれ程(ほど)の痛(いた)みならば\N【还要再怎样痛苦】
Dialogue: 0,0:00:27.30,0:00:30.25,Default,,0,0,0,,もう一度君に会(あ)える\N【才能与你再次相见】
Dialogue: 0,0:00:30.30,0:00:33.25,Default,,0,0,0,,One more time
Dialogue: 0,0:00:33.30,0:00:37.95,Default,,0,0,0,,季节(きせつ)よ うつろわないで\N【不愿看到季节的变迁】
Dialogue: 0,0:00:38.00,0:00:41.05,Default,,0,0,0,,One more time
Dialogue: 0,0:00:41.10,0:00:45.25,Default,,0,0,0,,ふざけあった时间(じかん)よ\N【曾与你嬉闹的时光啊】
Dialogue: 0,0:00:45.30,0:00:49.25,Default,,0,0,0,,くいちがうときはいつも\N【每次争执的时候】
Dialogue: 0,0:00:49.30,0:00:53.10,Default,,0,0,0,,仆が先(さき)に折(お)れたね\N【总是我先让步】
Dialogue: 0,0:00:53.15,0:00:56.25,Default,,0,0,0,,わがままな性格(せいかく)が\N【你那任性的性格】
Dialogue: 0,0:00:56.30,0:00:59.25,Default,,0,0,0,,なおさら爱(いと)しくさせた\N【反而令你更加可爱】
Dialogue: 0,0:00:59.30,0:01:02.95,Default,,0,0,0,,One more chance
Dialogue: 0,0:01:03.00,0:01:07.25,Default,,0,0,0,,记忆(きおく)に足(あし)を取(と)られて\N【回忆绊住我的脚步】
Dialogue: 0,0:01:07.30,0:01:10.25,Default,,0,0,0,,One more chance
Dialogue: 0,0:01:10.30,0:01:14.95,Default,,0,0,0,,次(つぎ)の场所を选(えら)べない\N【无法选择下个地方】
Dialogue: 0,0:01:15.00,0:01:18.25,Default,,0,0,0,,いつでも捜(さが)しているよ\N【总是在一直寻觅】
Dialogue: 0,0:01:18.30,0:01:21.95,Default,,0,0,0,,どっかに君の姿(すがた)を\N【寻觅着你的身影】
Dialogue: 0,0:01:22.00,0:01:23.95,Default,,0,0,0,,向(むか)いのホーム\N【对面的月台上】
Dialogue: 0,0:01:24.00,0:01:25.95,Default,,0,0,0,,路地裏(ろじうら)の窓(まど)\N【在小巷的窗口里】
Dialogue: 0,0:01:26.00,0:01:29.25,Default,,0,0,0,,こんなとこにいるはずもないのに\N【尽管明知道你不可能在那里】
Dialogue: 0,0:01:29.30,0:01:33.25,Default,,0,0,0,,愿(ねが)いがもしも叶(かな)うなら\N【若愿望能够实现】
Dialogue: 0,0:01:33.30,0:01:36.55,Default,,0,0,0,,いますぐ君のもとへ\N【好想马上去到你身边】
Dialogue: 0,0:01:36.60,0:01:40.25,Default,,0,0,0,,できないことは もう何もない\N【如今我再也不会有丝毫退缩】
Dialogue: 0,0:01:40.30,0:01:47.30,Default,,0,0,0,,すべてかけて抱きしめてみせるよ\N【我会不顾一切将你紧紧拥抱】
Dialogue: 0,0:01:47.35,0:01:51.95,Default,,0,0,0,,
Dialogue: 0,0:01:52.00,0:01:55.25,Default,,0,0,0,,
Dialogue: 0,0:01:55.30,0:01:59.25,Default,,0,0,0,,寂(さび)しさ纷(まぎ)らすだけなら\N【如果只是为了排遣寂寞】
Dialogue: 0,0:01:59.30,0:02:02.95,Default,,0,0,0,,谁でもいいはずなのに\N【其实不管是谁都无所谓】
Dialogue: 0,0:02:03.00,0:02:07.25,Default,,0,0,0,,星が落(お)ちそうな夜(よる)だから\N【唯有在星辰仿佛要坠落的夜晚】
Dialogue: 0,0:02:07.30,0:02:10.25,Default,,0,0,0,,自分(じぶん)をいつわれない\N【我无法欺骗自己】
Dialogue: 0,0:02:10.30,0:02:13.25,Default,,0,0,0,,One more time
Dialogue: 0,0:02:13.30,0:02:17.25,Default,,0,0,0,,季节(きせつ)よ うつろわないで\N【不愿看到季节的变迁】
Dialogue: 0,0:02:17.30,0:02:20.25,Default,,0,0,0,,One more time
Dialogue: 0,0:02:20.30,0:02:24.60,Default,,0,0,0,,ふざけあった时间(じかん)よ\N【曾与你嬉闹的时光啊】
Dialogue: 0,0:02:24.65,0:02:25.25,Default,,0,0,0,,
Dialogue: 0,0:02:25.30,0:02:29.05,Default,,0,0,0,,いつでも捜(さが)しているよ\N【总是在一直寻觅】
Dialogue: 0,0:02:29.10,0:02:32.25,Default,,0,0,0,,どっかに君(きみ)の姿(すがた)を\N【寻觅着你的身影】
Dialogue: 0,0:02:32.30,0:02:34.25,Default,,0,0,0,,交差点(こうさてん)でも\N【每个十字路口】
Dialogue: 0,0:02:34.30,0:02:36.25,Default,,0,0,0,,梦の中でも 【每次梦境之中】
Dialogue: 0,0:02:36.30,0:02:39.95,Default,,0,0,0,,こんなとこにいるはずもないのに\N【尽管明知道你不可能在那里】
Dialogue: 0,0:02:40.00,0:02:43.25,Default,,0,0,0,,奇迹(きせき)がもしも起(お)こるなら\N【若奇迹将会发生】
Dialogue: 0,0:02:43.30,0:02:46.95,Default,,0,0,0,,今すぐ君に见せたい\N【我希望马上就能见到你】
Dialogue: 0,0:02:47.00,0:02:50.25,Default,,0,0,0,,新しい朝(あさ) これからの仆\N【无论崭新的清晨 还是今后的自己】
Dialogue: 0,0:02:50.30,0:02:57.25,Default,,0,0,0,,言えなかった「好き」という言叶も\N【或是那句没能说出口的「喜欢你」】
Dialogue: 0,0:02:57.30,0:03:04.45,Default,,0,0,0,,
Dialogue: 0,0:03:04.50,0:03:05.95,Default,,0,0,0,,
Dialogue: 0,0:03:06.00,0:03:13.95,Default,,0,0,0,,夏の想い出がまわる\N【夏日的回忆在脑海中回旋】
Dialogue: 0,0:03:14.00,0:03:20.95,Default,,0,0,0,,ふいに消(き)えた鼓动(こどう)\N【刹那间消失的悸动】
Dialogue: 0,0:03:21.00,0:03:24.95,Default,,0,0,0,,いつでも捜(さが)しているよ\N【总是在一直寻觅】
Dialogue: 0,0:03:25.00,0:03:27.95,Default,,0,0,0,,どっかに君の姿(すがた)を\N【寻觅着你的身影】
Dialogue: 0,0:03:28.00,0:03:29.95,Default,,0,0,0,,明(あ)け方(がた)の街(まち)\N【在拂晓的街头】
Dialogue: 0,0:03:30.00,0:03:31.95,Default,,0,0,0,,桜木町(さくらぎちょう)で\N【在种满樱树的小镇】
Dialogue: 0,0:03:32.00,0:03:35.95,Default,,0,0,0,,こんなとこに来(く)るはずもないのに\N【尽管明知道你不可能在那里】
Dialogue: 0,0:03:36.00,0:03:39.25,Default,,0,0,0,,愿(ねが)いがもしも叶(かな)うなら\N【若愿望能够实现】
Dialogue: 0,0:03:39.30,0:03:43.05,Default,,0,0,0,,今すぐ君のもとへ\N【现在马上去到你身边】
Dialogue: 0,0:03:43.10,0:03:46.80,Default,,0,0,0,,できないことは もう何(なに)もない\N【如今我再也不会有丝毫退缩】
Dialogue: 0,0:03:46.85,0:03:50.60,Default,,0,0,0,,すべてかけて抱きしめてみせるよ\N【我会不顾一切紧紧将你拥抱】
Dialogue: 0,0:03:50.65,0:03:54.25,Default,,0,0,0,,いつでも捜(さが)しているよ\N【总是在一直寻觅】
Dialogue: 0,0:03:54.30,0:03:57.70,Default,,0,0,0,,どっかに君のかけらを\N【寻觅着你的片断】
Dialogue: 0,0:03:57.75,0:03:59.25,Default,,0,0,0,,旅先(たびさき)の店(みせ)\N【在旅途中的小店】
Dialogue: 0,0:03:59.30,0:04:01.45,Default,,0,0,0,,新闻(しんぶん)の隅(すみ)\N【在报纸的角落】
Dialogue: 0,0:04:01.50,0:04:04.95,Default,,0,0,0,,こんなとこにあるはずもないのに\N【尽管明知道你不可能在那里】
Dialogue: 0,0:04:05.00,0:04:08.25,Default,,0,0,0,,奇迹(きせき)がもしも起(お)こるなら\N【若奇迹将会发生】
Dialogue: 0,0:04:08.30,0:04:12.25,Default,,0,0,0,,今すぐ君に见せたい\N【我希望现在就能见到你】
Dialogue: 0,0:04:12.30,0:04:16.05,Default,,0,0,0,,新しい朝(あさ) これからの仆\N【无论崭新的清晨 还是今后的自己】
Dialogue: 0,0:04:16.10,0:04:19.40,Default,,0,0,0,,言えなかった「好き」という言叶も\N【或是那句没能说出口的「喜欢你」】
Dialogue: 0,0:04:19.45,0:04:19.95,Default,,0,0,0,,
Dialogue: 0,0:04:20.00,0:04:22.95,Default,,0,0,0,,いつでも捜(さが)してしまう\N【总是在一直寻觅】
Dialogue: 0,0:04:23.00,0:04:26.95,Default,,0,0,0,,どっかに君の笑颜(えがお)を\N【寻觅着你的笑容】
Dialogue: 0,0:04:27.00,0:04:30.25,Default,,0,0,0,,急行(きゅうこう)待ちの 踏切(ふみきり)あたり\N【哪怕在等待列车通过的铁路道口】
Dialogue: 0,0:04:30.30,0:04:34.25,Default,,0,0,0,,こんなとこにいるはずもないのに\N【虽然明明知道你不可能在那里】
Dialogue: 0,0:04:34.30,0:04:37.95,Default,,0,0,0,,命(いのち)が缲(く)り返(かえ)すならば\N【如果生命能够重来】
Dialogue: 0,0:04:38.00,0:04:41.05,Default,,0,0,0,,何度(なんど)も君のもとへ\N【无论几次我都要去你身边】
Dialogue: 0,0:04:41.10,0:04:45.15,Default,,0,0,0,,欲(ほ)しいものなど もう何もない\N【那时我一定别无所求】
Dialogue: 0,0:04:45.20,0:04:52.75,Default,,0,0,0,,君のほかに大切なものなど\N【再也没有什么比你更加重要】
Dialogue: 0,0:04:52.80,0:05:10.95,Default,,0,0,0,,
Dialogue: 0,0:05:11.00,0:05:15.45,Default,,0,0,0,,
Dialogue: 0,0:05:15.50,0:05:25.50,Default,,0,0,0,,--终わり--
Dialogue: 0,0:00:00.31,0:00:00.84,Style1,NTP,0000,0000,0000,,那一天\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}あの日
Dialogue: 0,0:00:01.28,0:00:02.22,Style2,NTP,0000,0000,0000,,星星降落的日子\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}星が降った日
Dialogue: 0,0:00:03.15,0:00:04.41,Style3,NTP,0000,0000,0000,,那简直是\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}それはまるで
Dialogue: 0,0:00:04.45,0:00:04.97,Default,NTP,0000,0000,0000,,简直\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}まるで
Dialogue: 0,0:00:05.12,0:00:06.30,Default,NTP,0000,0000,0000,,像梦中的景色一样\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}夢の景色のように
Dialogue: 0,0:00:07.44,0:00:08.98,Default,NTP,0000,0000,0000,,美丽的景色\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}美しい眺めだった
Dialogue: 0,0:00:24.60,0:00:25.09,Default,NTP,0000,0000,0000,,放学后\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}放課後
Dialogue: 0,0:00:25.70,0:00:26.26,Default,NTP,0000,0000,0000,,不好\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}悪い
Dialogue: 0,0:00:26.48,0:00:27.68,Default,NTP,0000,0000,0000,,我今天开始打工\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}おれ今日これからバイト
Dialogue: 0,0:00:29.34,0:00:31.69,Default,NTP,0000,0000,0000,,已经讨厌这样的乡下了\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}もうこんな田舎嫌だよー
Dialogue: 0,0:00:31.97,0:00:33.53,Default,NTP,0000,0000,0000,,讨厌这样的人生\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}こんな人生嫌だ
Dialogue: 0,0:00:33.93,0:00:37.97,Default,NTP,0000,0000,0000,,来世请让我成为东京的帅哥吧\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}来世は東京のイケメン男子にしてくださーい
Dialogue: 0,0:00:42.08,0:00:42.87,Default,NTP,0000,0000,0000,,哪里\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}どこ
Dialogue: 0,0:00:43.05,0:00:44.17,Default,NTP,0000,0000,0000,,那么说来\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}そういえば
Dialogue: 0,0:00:44.55,0:00:47.08,Default,NTP,0000,0000,0000,,我觉得好像一直做着奇怪的梦\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}ずっと変な夢を見てたような気がするんだけど
Dialogue: 0,0:00:48.32,0:00:50.63,Default,NTP,0000,0000,0000,,别人的人生中…梦\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}別の人の人生の…夢
Dialogue: 0,0:00:51.45,0:00:52.74,Default,NTP,0000,0000,0000,,这是什么\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}何だ これ
Dialogue: 0,0:00:54.78,0:00:55.44,Default,NTP,0000,0000,0000,,这个,这个\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}これって
Dialogue: 0,0:00:56.72,0:00:57.72,Default,NTP,0000,0000,0000,,这难道是\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}これってもしかして
Dialogue: 0,0:00:58.08,0:00:59.33,Default,NTP,0000,0000,0000,,我们在梦中\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}俺達は夢の中で
Dialogue: 0,0:01:00.14,0:01:01.20,Default,NTP,0000,0000,0000,,替换着\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}入れ替わってる
Dialogue: 0,0:01:07.37,0:01:08.30,Default,NTP,0000,0000,0000,,确实的事情\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}確かなことが
Dialogue: 0,0:01:08.76,0:01:09.54,Default,NTP,0000,0000,0000,,只有一个\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}一つだけある
Dialogue: 0,0:01:10.33,0:01:11.04,Default,NTP,0000,0000,0000,,我们是\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}私達は
Dialogue: 0,0:01:11.42,0:01:12.32,Default,NTP,0000,0000,0000,,见面的话绝对\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}会えば絶対
Dialogue: 0,0:01:12.68,0:01:13.53,Default,NTP,0000,0000,0000,,马上就明白\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}すぐにわかる
Dialogue: 0,0:01:14.25,0:01:15.28,Default,NTP,0000,0000,0000,,我想说\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}言おうと思ったんだ
Dialogue: 0,0:01:16.08,0:01:17.58,Default,NTP,0000,0000,0000,,你是世界的无论在哪里\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}お前が世界のどこにいても
Dialogue: 0,0:01:17.95,0:01:19.05,Default,NTP,0000,0000,0000,,一定要去见你\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}必ず会いに行くって
Dialogue: 0,0:01:20.14,0:01:20.94,Default,NTP,0000,0000,0000,,你是\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}あなたは
Dialogue: 0,0:01:21.36,0:01:21.80,Default,NTP,0000,0000,0000,,谁\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}誰
Dialogue: 0,0:01:22.20,0:01:22.76,Default,NTP,0000,0000,0000,,你是\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}お前は
Dialogue: 0,0:01:23.48,0:01:24.04,Default,NTP,0000,0000,0000,,谁\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}誰だ
Dialogue: 0,0:01:25.69,0:01:26.47,Default,NTP,0000,0000,0000,,你的名字是\N{\fs12}{\3c&&H00000000&}{\c&&H000092FE&}君の名は
+135
View File
@@ -0,0 +1,135 @@
1
00:00:00,306 --> 00:00:00,844
那一天
2
00:00:01,280 --> 00:00:02,220
星星降落的日子
3
00:00:03,148 --> 00:00:04,412
那简直是
4
00:00:04,446 --> 00:00:04,966
简直
5
00:00:05,120 --> 00:00:06,300
像梦中的景色一样
6
00:00:07,438 --> 00:00:08,978
美丽的景色
7
00:00:24,596 --> 00:00:25,089
放学后
8
00:00:25,705 --> 00:00:26,261
不好
9
00:00:26,475 --> 00:00:27,679
我今天开始打工
10
00:00:29,345 --> 00:00:31,689
已经讨厌这样的乡下了
11
00:00:31,969 --> 00:00:33,527
讨厌这样的人生
12
00:00:33,927 --> 00:00:37,970
来世请让我成为东京的帅哥吧
13
00:00:42,083 --> 00:00:42,874
哪里
14
00:00:43,052 --> 00:00:44,166
那么说来
15
00:00:44,554 --> 00:00:47,078
我觉得好像一直做着奇怪的梦
16
00:00:48,324 --> 00:00:50,626
别人的人生中…梦
17
00:00:51,452 --> 00:00:52,740
这是什么
18
00:00:54,778 --> 00:00:55,442
这个,这个
19
00:00:56,724 --> 00:00:57,724
这难道是
20
00:00:58,076 --> 00:00:59,328
我们在梦中
21
00:01:00,136 --> 00:01:01,202
替换着
22
00:01:07,369 --> 00:01:08,297
确实的事情
23
00:01:08,757 --> 00:01:09,541
只有一个
24
00:01:10,325 --> 00:01:11,037
我们是
25
00:01:11,425 --> 00:01:12,317
见面的话绝对
26
00:01:12,681 --> 00:01:13,531
马上就明白
27
00:01:14,255 --> 00:01:15,279
我想说
28
00:01:16,075 --> 00:01:17,579
你是世界的无论在哪里
29
00:01:17,955 --> 00:01:19,051
一定要去见你
30
00:01:20,141 --> 00:01:20,943
你是
31
00:01:21,361 --> 00:01:21,803
谁
32
00:01:22,197 --> 00:01:22,759
你是
33
00:01:23,483 --> 00:01:24,039
谁
34
00:01:25,693 --> 00:01:26,465
你的名字是
+135
View File
@@ -0,0 +1,135 @@
1
00:00:00,306 --> 00:00:00,844
あの日
2
00:00:01,280 --> 00:00:02,220
星が降った日
3
00:00:03,148 --> 00:00:04,412
それはまるで
4
00:00:04,446 --> 00:00:04,966
まるで
5
00:00:05,120 --> 00:00:06,300
夢の景色のように
6
00:00:07,438 --> 00:00:08,978
美しい眺めだった
7
00:00:24,596 --> 00:00:25,089
放課後
8
00:00:25,705 --> 00:00:26,261
悪い
9
00:00:26,475 --> 00:00:27,679
おれ今日これからバイト
10
00:00:29,345 --> 00:00:31,689
もうこんな田舎嫌だよー
11
00:00:31,969 --> 00:00:33,527
こんな人生嫌だ
12
00:00:33,927 --> 00:00:37,970
来世は東京のイケメン男子にしてくださーい
13
00:00:42,083 --> 00:00:42,874
どこ
14
00:00:43,052 --> 00:00:44,166
そういえば
15
00:00:44,554 --> 00:00:47,078
ずっと変な夢を見てたような気がするんだけど
16
00:00:48,324 --> 00:00:50,626
別の人の人生の…夢
17
00:00:51,452 --> 00:00:52,740
何だ これ
18
00:00:54,778 --> 00:00:55,442
これって
19
00:00:56,724 --> 00:00:57,724
これってもしかして
20
00:00:58,076 --> 00:00:59,328
俺達は夢の中で
21
00:01:00,136 --> 00:01:01,202
入れ替わってる
22
00:01:07,369 --> 00:01:08,297
確かなことが
23
00:01:08,757 --> 00:01:09,541
一つだけある
24
00:01:10,325 --> 00:01:11,037
私達は
25
00:01:11,425 --> 00:01:12,317
会えば絶対
26
00:01:12,681 --> 00:01:13,531
すぐにわかる
27
00:01:14,255 --> 00:01:15,279
言おうと思ったんだ
28
00:01:16,075 --> 00:01:17,579
お前が世界のどこにいても
29
00:01:17,955 --> 00:01:19,051
必ず会いに行くって
30
00:01:20,141 --> 00:01:20,943
あなたは
31
00:01:21,361 --> 00:01:21,803
誰
32
00:01:22,197 --> 00:01:22,759
お前は
33
00:01:23,483 --> 00:01:24,039
誰だ
34
00:01:25,693 --> 00:01:26,465
君の名は
+103 -336
View File
@@ -1,402 +1,169 @@
1
00:00:01,500 --> 00:00:03,950
One More Time,One More Chance
愿往事重来
1
00:00:00,306 --> 00:00:00,844
那一天
あの日
2
00:00:04,000 --> 00:00:05,950
秒速5センチメートル
秒速5厘米
00:00:01,280 --> 00:00:02,220
星星降落的日子
星が降った日
3
00:00:06,000 --> 00:00:08,950
编曲:森俊之
00:00:03,148 --> 00:00:04,412
那简直是
それはまるで
4
00:00:09,000 --> 00:00:11,950
山崎まさよし
山崎将义
00:00:04,446 --> 00:00:04,966
简直
まるで
5
00:00:12,000 --> 00:00:15,950
00:00:05,120 --> 00:00:06,300
像梦中的景色一样
夢の景色のように
6
00:00:16,000 --> 00:00:20,250
これ以上何をう失(し)なえば
还要再失去什么
00:00:07,438 --> 00:00:08,978
美丽的景色
美しい眺めだった
7
00:00:20,300 --> 00:00:23,250
心は许(ゆる)されるの
才能让心得到宽恕?
00:00:24,596 --> 00:00:25,089
放学后
放課後
8
00:00:23,300 --> 00:00:27,250
どれ程(ほど)の痛(いた)みならば
还要再怎样痛苦
00:00:25,705 --> 00:00:26,261
不好
悪い
9
00:00:27,300 --> 00:00:30,250
もう一度君に会(あ)える
才能与你再次相见
00:00:26,475 --> 00:00:27,679
我今天开始打工
おれ今日これからバイト
10
00:00:30,300 --> 00:00:33,250
One more time
00:00:29,345 --> 00:00:31,689
已经讨厌这样的乡下了
もうこんな田舎嫌だよー
11
00:00:33,300 --> 00:00:37,950
季节(きせつ)よ うつろわないで
不愿看到季节的变迁
00:00:31,969 --> 00:00:33,527
讨厌这样的人生
こんな人生嫌だ
12
00:00:38,000 --> 00:00:41,050
One more time
00:00:33,927 --> 00:00:37,970
来世请让我成为东京的帅哥吧
来世は東京のイケメン男子にしてくださーい
13
00:00:41,100 --> 00:00:45,250
ふざけあった时间(じかん)よ
曾与你嬉闹的时光啊
00:00:42,083 --> 00:00:42,874
哪里
どこ
14
00:00:45,300 --> 00:00:49,250
くいちがうときはいつも
每次争执的时候
00:00:43,052 --> 00:00:44,166
那么说来
そういえば
15
00:00:49,300 --> 00:00:53,100
仆が先(さき)に折(お)れたね
总是我先让步
00:00:44,554 --> 00:00:47,078
我觉得好像一直做着奇怪的梦
ずっと変な夢を見てたような気がするんだけど
16
00:00:53,150 --> 00:00:56,250
わがままな性格(せいかく)が
你那任性的性格
00:00:48,324 --> 00:00:50,626
别人的人生中…梦
別の人の人生の…夢
17
00:00:56,300 --> 00:00:59,250
なおさら爱(いと)しくさせた
反而令你更加可爱
00:00:51,452 --> 00:00:52,740
这是什么
何だ これ
18
00:00:59,300 --> 00:01:02,950
One more chance
00:00:54,778 --> 00:00:55,442
这个,这个
これって
19
00:01:03,000 --> 00:01:07,250
记忆(きおく)に足(あし)を取(と)られて
回忆绊住我的脚步
00:00:56,724 --> 00:00:57,724
这难道是
これってもしかして
20
00:01:07,300 --> 00:01:10,250
One more chance
00:00:58,076 --> 00:00:59,328
我们在梦中
俺達は夢の中で
21
00:01:10,300 --> 00:01:14,950
次(つぎ)の场所を选(えら)べない
无法选择下个地方
00:01:00,136 --> 00:01:01,202
替换着
入れ替わってる
22
00:01:15,000 --> 00:01:18,250
いつでも捜(さが)しているよ
总是在一直寻觅
00:01:07,369 --> 00:01:08,297
确实的事情
確かなことが
23
00:01:18,300 --> 00:01:21,950
どっかに君の姿(すがた)を
寻觅着你的身影
00:01:08,757 --> 00:01:09,541
只有一个
一つだけある
24
00:01:22,000 --> 00:01:23,950
向(むか)いのホーム
对面的月台上
00:01:10,325 --> 00:01:11,037
我们是
私達は
25
00:01:24,000 --> 00:01:25,950
路地裏(ろじうら)の窓(まど)
在小巷的窗口里
00:01:11,425 --> 00:01:12,317
见面的话绝对
会えば絶対
26
00:01:26,000 --> 00:01:29,250
こんなとこにいるはずもないのに
尽管明知道你不可能在那里
00:01:12,681 --> 00:01:13,531
马上就明白
すぐにわかる
27
00:01:29,300 --> 00:01:33,250
愿(ねが)いがもしも叶(かな)うなら
若愿望能够实现
00:01:14,255 --> 00:01:15,279
我想说
言おうと思ったんだ
28
00:01:33,300 --> 00:01:36,550
いますぐ君のもとへ
好想马上去到你身边
00:01:16,075 --> 00:01:17,579
你是世界的无论在哪里
お前が世界のどこにいても
29
00:01:36,600 --> 00:01:40,250
できないことは もう何もない
如今我再也不会有丝毫退缩
00:01:17,955 --> 00:01:19,051
一定要去见你
必ず会いに行くって
30
00:01:40,300 --> 00:01:47,300
すべてかけて抱きしめてみせるよ
我会不顾一切将你紧紧拥抱
00:01:20,141 --> 00:01:20,943
你是
あなたは
31
00:01:47,350 --> 00:01:51,950
00:01:21,361 --> 00:01:21,803
谁
誰
32
00:01:52,000 --> 00:01:55,250
00:01:22,197 --> 00:01:22,759
你是
お前は
33
00:01:55,300 --> 00:01:59,250
寂(さび)しさ纷(まぎ)らすだけなら
如果只是为了排遣寂寞
00:01:23,483 --> 00:01:24,039
谁
誰だ
34
00:01:59,300 --> 00:02:02,950
谁でもいいはずなのに
其实不管是谁都无所谓
35
00:02:03,000 --> 00:02:07,250
星が落(お)ちそうな夜(よる)だから
唯有在星辰仿佛要坠落的夜晚
36
00:02:07,300 --> 00:02:10,250
自分(じぶん)をいつわれない
我无法欺骗自己
37
00:02:10,300 --> 00:02:13,250
One more time
38
00:02:13,300 --> 00:02:17,250
季节(きせつ)よ うつろわないで
不愿看到季节的变迁
39
00:02:17,300 --> 00:02:20,250
One more time
40
00:02:20,300 --> 00:02:24,600
ふざけあった时间(じかん)よ
曾与你嬉闹的时光啊
41
00:02:24,650 --> 00:02:25,250
42
00:02:25,300 --> 00:02:29,050
いつでも捜(さが)しているよ
总是在一直寻觅
43
00:02:29,100 --> 00:02:32,250
どっかに君(きみ)の姿(すがた)を
寻觅着你的身影
44
00:02:32,300 --> 00:02:34,250
交差点(こうさてん)でも
每个十字路口
45
00:02:34,300 --> 00:02:36,250
梦の中でも 每次梦境之中
46
00:02:36,300 --> 00:02:39,950
こんなとこにいるはずもないのに
尽管明知道你不可能在那里
47
00:02:40,000 --> 00:02:43,250
奇迹(きせき)がもしも起(お)こるなら
若奇迹将会发生
48
00:02:43,300 --> 00:02:46,950
今すぐ君に见せたい
我希望马上就能见到你
49
00:02:47,000 --> 00:02:50,250
新しい朝(あさ) これからの仆
无论崭新的清晨 还是今后的自己
50
00:02:50,300 --> 00:02:57,250
言えなかった「好き」という言叶も
或是那句没能说出口的「喜欢你」
51
00:02:57,300 --> 00:03:04,450
52
00:03:04,500 --> 00:03:05,950
53
00:03:06,000 --> 00:03:13,950
夏の想い出がまわる
夏日的回忆在脑海中回旋
54
00:03:14,000 --> 00:03:20,950
ふいに消(き)えた鼓动(こどう)
刹那间消失的悸动
55
00:03:21,000 --> 00:03:24,950
いつでも捜(さが)しているよ
总是在一直寻觅
57
00:03:25,000 --> 00:03:27,950
どっかに君の姿(すがた)を
寻觅着你的身影
58
00:03:28,000 --> 00:03:29,950
明(あ)け方(がた)の街(まち)
在拂晓的街头
59
00:03:30,000 --> 00:03:31,950
桜木町(さくらぎちょう)で
在种满樱树的小镇
60
00:03:32,000 --> 00:03:35,950
こんなとこに来(く)るはずもないのに
尽管明知道你不可能在那里
61
00:03:36,000 --> 00:03:39,250
愿(ねが)いがもしも叶(かな)うなら
若愿望能够实现
62
00:03:39,300 --> 00:03:43,050
今すぐ君のもとへ
现在马上去到你身边
63
00:03:43,100 --> 00:03:46,800
できないことは もう何(なに)もない
如今我再也不会有丝毫退缩
64
00:03:46,850 --> 00:03:50,600
すべてかけて抱きしめてみせるよ
我会不顾一切紧紧将你拥抱
65
00:03:50,650 --> 00:03:54,250
いつでも捜(さが)しているよ
总是在一直寻觅
66
00:03:54,300 --> 00:03:57,700
どっかに君のかけらを
寻觅着你的片断
67
00:03:57,750 --> 00:03:59,250
旅先(たびさき)の店(みせ)
在旅途中的小店
68
00:03:59,300 --> 00:04:01,450
新闻(しんぶん)の隅(すみ)
在报纸的角落
69
00:04:01,500 --> 00:04:04,950
こんなとこにあるはずもないのに
尽管明知道你不可能在那里
70
00:04:05,000 --> 00:04:08,250
奇迹(きせき)がもしも起(お)こるなら
若奇迹将会发生
71
00:04:08,300 --> 00:04:12,250
今すぐ君に见せたい
我希望现在就能见到你
72
00:04:12,300 --> 00:04:16,050
新しい朝(あさ) これからの仆
无论崭新的清晨 还是今后的自己
73
00:04:16,100 --> 00:04:19,400
言えなかった「好き」という言叶も
或是那句没能说出口的「喜欢你」
74
00:04:19,450 --> 00:04:19,950
75
00:04:20,000 --> 00:04:22,950
いつでも捜(さが)してしまう
总是在一直寻觅
76
00:04:23,000 --> 00:04:26,950
どっかに君の笑颜(えがお)を
寻觅着你的笑容
77
00:04:27,000 --> 00:04:30,250
急行(きゅうこう)待ちの 踏切(ふみきり)あたり
哪怕在等待列车通过的铁路道口
78
00:04:30,300 --> 00:04:34,250
こんなとこにいるはずもないのに
虽然明明知道你不可能在那里
79
00:04:34,300 --> 00:04:37,950
命(いのち)が缲(く)り返(かえ)すならば
如果生命能够重来
80
00:04:38,000 --> 00:04:41,050
何度(なんど)も君のもとへ
无论几次我都要去你身边
81
00:04:41,100 --> 00:04:45,150
欲(ほ)しいものなど もう何もない
那时我一定别无所求
82
00:04:45,200 --> 00:04:52,750
君のほかに大切なものなど
再也没有什么比你更加重要
83
00:04:52,800 --> 00:05:10,950
84
00:05:11,000 --> 00:05:15,450
85
00:05:15,500 --> 00:05:25,500
--终わり--
00:01:25,693 --> 00:01:26,465
你的名字是
君の名は
+103 -336
View File
@@ -1,404 +1,171 @@
WEBVTT
WEBVTT
1
00:00:01.500 --> 00:00:03.950
歌名:One More Time,One More Chance
愿往事重来
00:00:00.306 --> 00:00:00.844
那一天
あの日
2
00:00:04.000 --> 00:00:05.950
秒速5センチメートル
秒速5厘米
00:00:01.280 --> 00:00:02.220
星星降落的日子
星が降った日
3
00:00:06.000 --> 00:00:08.950
编曲:森俊之
00:00:03.148 --> 00:00:04.412
那简直是
それはまるで
4
00:00:09.000 --> 00:00:11.950
山崎まさよし
山崎将义
00:00:04.446 --> 00:00:04.966
简直
まるで
5
00:00:12.000 --> 00:00:15.950
00:00:05.120 --> 00:00:06.300
像梦中的景色一样
夢の景色のように
6
00:00:16.000 --> 00:00:20.250
これ以上何をう失(し)なえば
还要再失去什么
00:00:07.438 --> 00:00:08.978
美丽的景色
美しい眺めだった
7
00:00:20.300 --> 00:00:23.250
心は许(ゆる)されるの
才能让心得到宽恕?
00:00:24.596 --> 00:00:25.089
放学后
放課後
8
00:00:23.300 --> 00:00:27.250
どれ程(ほど)の痛(いた)みならば
还要再怎样痛苦
00:00:25.705 --> 00:00:26.261
不好
悪い
9
00:00:27.300 --> 00:00:30.250
もう一度君に会(あ)える
才能与你再次相见
00:00:26.475 --> 00:00:27.679
我今天开始打工
おれ今日これからバイト
10
00:00:30.300 --> 00:00:33.250
One more time
00:00:29.345 --> 00:00:31.689
已经讨厌这样的乡下了
もうこんな田舎嫌だよー
11
00:00:33.300 --> 00:00:37.950
季节(きせつ)よ うつろわないで
不愿看到季节的变迁
00:00:31.969 --> 00:00:33.527
讨厌这样的人生
こんな人生嫌だ
12
00:00:38.000 --> 00:00:41.050
One more time
00:00:33.927 --> 00:00:37.970
来世请让我成为东京的帅哥吧
来世は東京のイケメン男子にしてくださーい
13
00:00:41.100 --> 00:00:45.250
ふざけあった时间(じかん)よ
曾与你嬉闹的时光啊
00:00:42.083 --> 00:00:42.874
哪里
どこ
14
00:00:45.300 --> 00:00:49.250
くいちがうときはいつも
每次争执的时候
00:00:43.052 --> 00:00:44.166
那么说来
そういえば
15
00:00:49.300 --> 00:00:53.100
仆が先(さき)に折(お)れたね
总是我先让步
00:00:44.554 --> 00:00:47.078
我觉得好像一直做着奇怪的梦
ずっと変な夢を見てたような気がするんだけど
16
00:00:53.150 --> 00:00:56.250
わがままな性格(せいかく)が
你那任性的性格
00:00:48.324 --> 00:00:50.626
别人的人生中…梦
別の人の人生の…夢
17
00:00:56.300 --> 00:00:59.250
なおさら爱(いと)しくさせた
反而令你更加可爱
00:00:51.452 --> 00:00:52.740
这是什么
何だ これ
18
00:00:59.300 --> 00:01:02.950
One more chance
00:00:54.778 --> 00:00:55.442
这个,这个
これって
19
00:01:03.000 --> 00:01:07.250
记忆(きおく)に足(あし)を取(と)られて
回忆绊住我的脚步
00:00:56.724 --> 00:00:57.724
这难道是
これってもしかして
20
00:01:07.300 --> 00:01:10.250
One more chance
00:00:58.076 --> 00:00:59.328
我们在梦中
俺達は夢の中で
21
00:01:10.300 --> 00:01:14.950
次(つぎ)の场所を选(えら)べない
无法选择下个地方
00:01:00.136 --> 00:01:01.202
替换着
入れ替わってる
22
00:01:15.000 --> 00:01:18.250
いつでも捜(さが)しているよ
总是在一直寻觅
00:01:07.369 --> 00:01:08.297
确实的事情
確かなことが
23
00:01:18.300 --> 00:01:21.950
どっかに君の姿(すがた)を
寻觅着你的身影
00:01:08.757 --> 00:01:09.541
只有一个
一つだけある
24
00:01:22.000 --> 00:01:23.950
向(むか)いのホーム
对面的月台上
00:01:10.325 --> 00:01:11.037
我们是
私達は
25
00:01:24.000 --> 00:01:25.950
路地裏(ろじうら)の窓(まど)
在小巷的窗口里
00:01:11.425 --> 00:01:12.317
见面的话绝对
会えば絶対
26
00:01:26.000 --> 00:01:29.250
こんなとこにいるはずもないのに
尽管明知道你不可能在那里
00:01:12.681 --> 00:01:13.531
马上就明白
すぐにわかる
27
00:01:29.300 --> 00:01:33.250
愿(ねが)いがもしも叶(かな)うなら
若愿望能够实现
00:01:14.255 --> 00:01:15.279
我想说
言おうと思ったんだ
28
00:01:33.300 --> 00:01:36.550
いますぐ君のもとへ
好想马上去到你身边
00:01:16.075 --> 00:01:17.579
你是世界的无论在哪里
お前が世界のどこにいても
29
00:01:36.600 --> 00:01:40.250
できないことは もう何もない
如今我再也不会有丝毫退缩
00:01:17.955 --> 00:01:19.051
一定要去见你
必ず会いに行くって
30
00:01:40.300 --> 00:01:47.300
すべてかけて抱きしめてみせるよ
我会不顾一切将你紧紧拥抱
00:01:20.141 --> 00:01:20.943
你是
あなたは
31
00:01:47.350 --> 00:01:51.950
00:01:21.361 --> 00:01:21.803
谁
誰
32
00:01:52.000 --> 00:01:55.250
00:01:22.197 --> 00:01:22.759
你是
お前は
33
00:01:55.300 --> 00:01:59.250
寂(さび)しさ纷(まぎ)らすだけなら
如果只是为了排遣寂寞
00:01:23.483 --> 00:01:24.039
谁
誰だ
34
00:01:59.300 --> 00:02:02.950
谁でもいいはずなのに
其实不管是谁都无所谓
35
00:02:03.000 --> 00:02:07.250
星が落(お)ちそうな夜(よる)だから
唯有在星辰仿佛要坠落的夜晚
36
00:02:07.300 --> 00:02:10.250
自分(じぶん)をいつわれない
我无法欺骗自己
37
00:02:10.300 --> 00:02:13.250
One more time
38
00:02:13.300 --> 00:02:17.250
季节(きせつ)よ うつろわないで
不愿看到季节的变迁
39
00:02:17.300 --> 00:02:20.250
One more time
40
00:02:20.300 --> 00:02:24.600
ふざけあった时间(じかん)よ
曾与你嬉闹的时光啊
41
00:02:24.650 --> 00:02:25.250
42
00:02:25.300 --> 00:02:29.050
いつでも捜(さが)しているよ
总是在一直寻觅
43
00:02:29.100 --> 00:02:32.250
どっかに君(きみ)の姿(すがた)を
寻觅着你的身影
44
00:02:32.300 --> 00:02:34.250
交差点(こうさてん)でも
每个十字路口
45
00:02:34.300 --> 00:02:36.250
梦の中でも 每次梦境之中
46
00:02:36.300 --> 00:02:39.950
こんなとこにいるはずもないのに
尽管明知道你不可能在那里
47
00:02:40.000 --> 00:02:43.250
奇迹(きせき)がもしも起(お)こるなら
若奇迹将会发生
48
00:02:43.300 --> 00:02:46.950
今すぐ君に见せたい
我希望马上就能见到你
49
00:02:47.000 --> 00:02:50.250
新しい朝(あさ) これからの仆
无论崭新的清晨 还是今后的自己
50
00:02:50.300 --> 00:02:57.250
言えなかった「好き」という言叶も
或是那句没能说出口的「喜欢你」
51
00:02:57.300 --> 00:03:04.450
52
00:03:04.500 --> 00:03:05.950
53
00:03:06.000 --> 00:03:13.950
夏の想い出がまわる
夏日的回忆在脑海中回旋
54
00:03:14.000 --> 00:03:20.950
ふいに消(き)えた鼓动(こどう)
刹那间消失的悸动
55
00:03:21.000 --> 00:03:24.950
いつでも捜(さが)しているよ
总是在一直寻觅
56
00:03:25.000 --> 00:03:27.950
どっかに君の姿(すがた)を
寻觅着你的身影
57
00:03:28.000 --> 00:03:29.950
明(あ)け方(がた)の街(まち)
在拂晓的街头
58
00:03:30.000 --> 00:03:31.950
桜木町(さくらぎちょう)で
在种满樱树的小镇
59
00:03:32.000 --> 00:03:35.950
こんなとこに来(く)るはずもないのに
尽管明知道你不可能在那里
60
00:03:36.000 --> 00:03:39.250
愿(ねが)いがもしも叶(かな)うなら
若愿望能够实现
61
00:03:39.300 --> 00:03:43.050
今すぐ君のもとへ
现在马上去到你身边
62
00:03:43.100 --> 00:03:46.800
できないことは もう何(なに)もない
如今我再也不会有丝毫退缩
63
00:03:46.850 --> 00:03:50.600
すべてかけて抱きしめてみせるよ
我会不顾一切紧紧将你拥抱
64
00:03:50.650 --> 00:03:54.250
いつでも捜(さが)しているよ
总是在一直寻觅
65
00:03:54.300 --> 00:03:57.700
どっかに君のかけらを
寻觅着你的片断
66
00:03:57.750 --> 00:03:59.250
旅先(たびさき)の店(みせ)
在旅途中的小店
67
00:03:59.300 --> 00:04:01.450
新闻(しんぶん)の隅(すみ)
在报纸的角落
68
00:04:01.500 --> 00:04:04.950
こんなとこにあるはずもないのに
尽管明知道你不可能在那里
69
00:04:05.000 --> 00:04:08.250
奇迹(きせき)がもしも起(お)こるなら
若奇迹将会发生
70
00:04:08.300 --> 00:04:12.250
今すぐ君に见せたい
我希望现在就能见到你
71
00:04:12.300 --> 00:04:16.050
新しい朝(あさ) これからの仆
无论崭新的清晨 还是今后的自己
72
00:04:16.100 --> 00:04:19.400
言えなかった「好き」という言叶も
或是那句没能说出口的「喜欢你」
73
00:04:19.450 --> 00:04:19.950
74
00:04:20.000 --> 00:04:22.950
いつでも捜(さが)してしまう
总是在一直寻觅
75
00:04:23.000 --> 00:04:26.950
どっかに君の笑颜(えがお)を
寻觅着你的笑容
76
00:04:27.000 --> 00:04:30.250
急行(きゅうこう)待ちの 踏切(ふみきり)あたり
哪怕在等待列车通过的铁路道口
77
00:04:30.300 --> 00:04:34.250
こんなとこにいるはずもないのに
虽然明明知道你不可能在那里
78
00:04:34.300 --> 00:04:37.950
命(いのち)が缲(く)り返(かえ)すならば
如果生命能够重来
79
00:04:38.000 --> 00:04:41.050
何度(なんど)も君のもとへ
无论几次我都要去你身边
80
00:04:41.100 --> 00:04:45.150
欲(ほ)しいものなど もう何もない
那时我一定别无所求
81
00:04:45.200 --> 00:04:52.750
君のほかに大切なものなど
再也没有什么比你更加重要
82
00:04:52.800 --> 00:05:10.950
83
00:05:11.000 --> 00:05:15.450
84
00:05:15.500 --> 00:05:25.500
--终わり--
00:01:25.693 --> 00:01:26.465
你的名字是
君の名は
Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

File renamed without changes.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 753 KiB

After

Width:  |  Height:  |  Size: 419 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Loaded 100 of 580 files, more files were not shown because too many files have changed in this diff. Show more