Compare commits

..
644 Commits
Author SHA1 Message Date
Harvey dab56f054a v3.5.8 2020-05-21 10:20:57 +08:00
Harvey 6bfd92e110 Update lerna.json 2020-05-21 10:20:47 +08:00
Harvey 9766cf155d v3.5.6 2020-05-21 10:18:36 +08:00
Harvey cd89e8afd8 重写测试用例 2020-05-21 10:13:03 +08:00
Harvey 50f51e413b fix subtitleOffset bug 2020-05-21 08:49:40 +08:00
Harvey 22fa8d5379 build all packages 2020-05-20 17:15:43 +08:00
Harvey ee85be8b6d v3.5.5 2020-05-20 17:15:06 +08:00
Harvey 76aa564e8a Update mobile.js 2020-05-20 16:59:01 +08:00
Harvey 9e7fceef04 add pay.png 2020-05-20 16:34:00 +08:00
Harvey 02d4c801ca fix test 2020-05-20 14:04:53 +08:00
Harvey 4800c6f76c Update properties.md 2020-05-20 13:51:57 +08:00
Harvey 7a977ac6c4 Update class.md 2020-05-20 12:18:49 +08:00
Harvey da1b3112d6 build all packages 2020-05-20 12:04:00 +08:00
Harvey d57fe7b069 Update events.md 2020-05-20 11:24:22 +08:00
Harvey 02915fcee5 重命名事件 2020-05-20 11:13:02 +08:00
Harvey a0e13479d3 Update class.md 2020-05-20 11:04:56 +08:00
Harvey 2d16171720 优化测试用例 2020-05-20 10:46:31 +08:00
Harvey a4535bcc6c Update index.js 2020-05-20 10:32:13 +08:00
Harvey 6cb6036b73 Update index.html 2020-05-20 10:30:46 +08:00
Harvey caa0128d37 优化docs 2020-05-20 10:30:21 +08:00
Harvey bafbd78018 优化ts 2020-05-19 15:00:53 +08:00
Harvey 9760d6268f 优化类型检测 2020-05-19 14:23:29 +08:00
Harvey 3e609bb153 fix ts 2020-05-19 13:35:54 +08:00
Harvey 175e001533 修复scss路径bug 2020-05-19 12:13:52 +08:00
Harvey e2aada7197 优化scss导入 2020-05-19 12:10:06 +08:00
Harvey b202c21a7f add autoMin 2020-05-19 11:47:45 +08:00
Harvey Zack 33a7e1193d Merge pull request #70 from zhw2590582/dependabot/npm_and_yarn/servor-4.0.2
Bump servor from 3.3.1 to 4.0.2
2020-05-19 08:35:49 +08:00
dependabot-preview[bot] b293b02672 Bump servor from 3.3.1 to 4.0.2
Bumps [servor](https://github.com/lukejacksonn/servor) from 3.3.1 to 4.0.2.
- [Release notes](https://github.com/lukejacksonn/servor/releases)
- [Commits](https://github.com/lukejacksonn/servor/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-18 23:26:01 +00:00
Harvey de5ac7513e 改进区间循环UI 2020-05-18 16:25:24 +08:00
Harvey fcbf9cc3cc typofix 2020-05-18 12:10:08 +08:00
Harvey adc092389a remove docup 2020-05-18 11:55:13 +08:00
Harvey d8a238dc06 使用Docup 2020-05-18 11:12:00 +08:00
Harvey 21d99a62f3 添加区间循环UI 2020-05-18 10:53:15 +08:00
zhw2590582 dba9c6dd78 完善区间循环文档 2020-05-17 01:06:40 +08:00
zhw2590582 7d6186ddd6 添加区间循环 2020-05-17 00:39:44 +08:00
zhw2590582 35ac59dc45 修复弹幕自适应 2020-05-16 10:46:33 +08:00
Harvey b70c11ede6 add autoSizeChange 2020-05-15 19:13:59 +08:00
Harvey 2650acc953 add normal mode 2020-05-15 19:11:03 +08:00
Harvey 72937ab1ed 优化退出状态 2020-05-15 18:56:58 +08:00
Harvey 129af7b42d add minToggle 2020-05-15 18:41:54 +08:00
Harvey 05227caf18 添加迷你播放模式 2020-05-15 18:35:41 +08:00
Harvey ed80218e44 remove customPip 2020-05-15 17:50:58 +08:00
Harvey 634e776d49 优化事件互斥关系 2020-05-15 17:30:50 +08:00
Harvey cf22fb0535 添加自动旋转全屏 2020-05-15 17:10:05 +08:00
Harvey b08e6a110a Update mobile.js 2020-05-15 14:17:03 +08:00
Harvey 0c744f5e56 Update mobile.js 2020-05-15 14:11:05 +08:00
Harvey 20adfbbcce Update README.md 2020-05-15 14:02:57 +08:00
Harvey e96c57c4c1 弹幕暴露isHide属性 2020-05-15 13:57:39 +08:00
Harvey 18e8629641 Update README-CN.md 2020-05-15 13:21:16 +08:00
Harvey d5e1c0809a add mobile qrcode 2020-05-15 13:16:57 +08:00
Harvey 119386aa04 Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2020-05-15 13:06:17 +08:00
Harvey bb50f5ab39 添加移动端用户手势 2020-05-15 13:06:10 +08:00
Harvey Zack 6b252ecedf Update nodejs.yml 2020-05-15 12:03:59 +08:00
Harvey 4cbefa172d 优化ready事件 2020-05-15 12:01:43 +08:00
Harvey 7b3913e318 优化移动端UI 2020-05-15 11:39:10 +08:00
Harvey beea013daf 优化手机端UI 2020-05-15 10:28:38 +08:00
Harvey 19a894fcb6 fix playsInline typo 2020-05-15 08:18:03 +08:00
zhw2590582 80818a965c Update package.json 2020-05-10 12:16:18 +08:00
Harvey 353727f318 优化destroy 2020-05-06 10:20:20 +08:00
zhw2590582 6e691b89e6 Update package.json 2020-05-04 07:53:11 +08:00
Harvey 555404b7d0 Update README.md 2020-04-28 13:00:31 +08:00
Harvey 824bd20e94 build all packages 2020-04-27 11:45:25 +08:00
Harvey cb49015697 v3.5.4 2020-04-27 11:44:54 +08:00
Harvey 2501c013af Revert "添加弹幕验证"
This reverts commit 113ccc5415.
2020-04-27 11:44:10 +08:00
Harvey 076692532f build all packages 2020-04-27 11:43:24 +08:00
Harvey 778816e3f3 v3.5.3 2020-04-27 11:42:54 +08:00
Harvey 113ccc5415 添加弹幕验证 2020-04-26 10:07:09 +08:00
Harvey ae7d87e08b 添加弹幕验证 2020-04-26 09:36:12 +08:00
Harvey 7f3b116851 Update danmuku.js 2020-04-26 08:59:30 +08:00
Harvey b5d5487dcf 弹幕隐藏时不运算动画 2020-04-26 08:43:09 +08:00
Harvey cef14a1523 Update package.json 2020-04-24 08:44:00 +08:00
zhw2590582 43215d6950 Update package.json 2020-04-19 09:28:16 +08:00
zhw2590582 334f2e0674 Update package.json 2020-04-18 19:05:44 +08:00
Harvey f56054a9b4 Update package.json 2020-04-16 16:39:40 +08:00
Harvey ac4e5a9c94 Revert "优化focus事件"
This reverts commit df424ec3ac.
2020-04-16 14:57:33 +08:00
Harvey df424ec3ac 优化focus事件 2020-04-16 12:18:26 +08:00
Harvey 51bde726ae 优化blur事件 2020-04-16 11:38:19 +08:00
Harvey 4285201fa9 字幕添加word-break: break-all 2020-04-14 13:06:17 +08:00
Harvey 687df9fd5e build all packages 2020-04-14 12:59:38 +08:00
Harvey bc30f87f54 v3.5.2 2020-04-14 12:59:07 +08:00
Harvey be060e48c4 add isSafari util 2020-04-10 18:31:27 +08:00
Harvey 5f5461eeb4 build 2020-04-10 18:16:53 +08:00
Harvey b322b804fe preload => auto 2020-04-10 18:16:22 +08:00
Harvey Zack 8a812afb3b Merge pull request #63 from zhw2590582/dependabot/npm_and_yarn/chalk-4.0.0
Bump chalk from 3.0.0 to 4.0.0
2020-04-03 08:16:52 +08:00
dependabot-preview[bot] e8beff8f97 Bump chalk from 3.0.0 to 4.0.0
Bumps [chalk](https://github.com/chalk/chalk) from 3.0.0 to 4.0.0.
- [Release notes](https://github.com/chalk/chalk/releases)
- [Commits](https://github.com/chalk/chalk/compare/v3.0.0...v4.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-02 19:18:31 +00:00
Harvey c6c8b8e22f Update mobile.js 2020-03-31 08:24:24 +08:00
Harvey de8cbdd375 remove bilibiliDanmuParseFromAv 2020-03-30 11:11:26 +08:00
Harvey Zack b512ce1b23 Merge pull request #61 from Hitsuki9/master
pauseMix 函数名拼写错误
2020-03-30 11:05:26 +08:00
Hitsuki9 eaa1e4d599 Update pauseMix.js 2020-03-30 10:47:48 +08:00
zhw2590582 12f90007b3 Update index.html 2020-03-30 10:27:46 +08:00
zhw2590582 92a38d6146 修复弹幕隐藏失败的bug 2020-03-30 10:27:46 +08:00
zhw2590582 986bde33c7 Update index.html 2020-03-29 11:07:12 +08:00
zhw2590582 850b133af0 修复弹幕隐藏失败的bug 2020-03-28 19:53:13 +08:00
zhw2590582 70002b7fb5 build all packages 2020-03-22 07:37:10 +08:00
zhw2590582 88979de569 v3.5.1 2020-03-22 07:36:45 +08:00
zhw2590582 2eb6616bdd Update lerna.json 2020-03-22 07:34:33 +08:00
zhw2590582 43f68a3b68 add escape 2020-03-22 07:28:36 +08:00
zhw2590582 e2193c7aa9 Update package.json 2020-03-20 20:55:01 +08:00
zhw2590582 8fe0630ab3 add close back 2020-03-19 22:22:50 +08:00
zhw2590582 03e3fa496f Update package.json 2020-03-16 20:14:35 +08:00
zhw2590582 6a9863ad99 压缩 2020-03-15 08:32:31 +08:00
zhw2590582 bb92f3dc3d Update currentTimeMix.js 2020-03-15 07:43:15 +08:00
zhw2590582 3b0f500438 Update index.js 2020-03-14 22:20:23 +08:00
zhw2590582 08509c8123 remove autoPip 2020-03-14 22:18:09 +08:00
Harvey f07207e78a add Patreon 2020-03-11 17:50:46 +08:00
Harvey 9f01b17137 添加cdn例子 2020-03-10 09:22:28 +08:00
zhw2590582 30e5a776e6 Update index.html 2020-03-09 20:18:04 +08:00
Harvey d212bf90ef Update package.json 2020-03-09 16:11:43 +08:00
Harvey Zack 563a874c96 Update README.md 2020-03-07 18:08:19 +08:00
Harvey c441001e14 Update package.json 2020-03-04 12:29:23 +08:00
zhw2590582 2d4da12180 优化背光刷新频率 2020-02-29 23:03:44 +08:00
zhw2590582 c7a351bc55 fix event.composedPath 2020-02-29 22:18:11 +08:00
zhw2590582 25b041ad8c Update README.md 2020-02-29 09:50:25 +08:00
zhw2590582 3379e6091c 添加灯光模式 2020-02-29 09:37:06 +08:00
Harvey 4867d8e25a Update README.md 2020-02-28 10:04:04 +08:00
Harvey 3128e233da build all packages 2020-02-28 09:17:29 +08:00
Harvey 704fe7732c v3.4.2 2020-02-28 09:17:00 +08:00
Harvey 5a2f1d2787 修复音量拖动不准确问题 2020-02-28 09:16:35 +08:00
Harvey cefbade4a0 build all packages 2020-02-27 17:05:07 +08:00
Harvey b22288492f v3.4.1 2020-02-27 17:04:35 +08:00
Harvey dced5f8b34 fix docs 2020-02-27 16:59:38 +08:00
Harvey 8d95baabc3 Update index.html 2020-02-27 16:55:19 +08:00
Harvey 7560631b8c build all packages 2020-02-27 16:53:50 +08:00
Harvey a060398286 build all packages 2020-02-27 16:42:30 +08:00
Harvey ee1ab0e034 Update package.json 2020-02-27 08:27:41 +08:00
Harvey 13cc7ec64a build all packages 2020-02-24 11:20:30 +08:00
Harvey 5efa26463e v3.3.3 2020-02-24 11:20:00 +08:00
Harvey a969686d88 修改弹幕模式变量 2020-02-24 11:19:17 +08:00
zhw2590582 31f8f9fe09 Update package.json 2020-02-23 09:03:46 +08:00
zhw2590582 96333e00d8 Update package.json 2020-02-03 10:32:26 +08:00
zhw2590582 59413e121c Update package.json 2020-01-31 13:47:55 +08:00
zhw2590582 13282aaf5a Update package.json 2020-01-27 11:30:33 +08:00
Harvey 86e36f176a Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2020-01-22 13:12:24 +08:00
Harvey 60fe51272a Update package.json 2020-01-22 13:12:02 +08:00
Harvey Zack 6ab89f7358 Merge pull request #51 from zhw2590582/dependabot/npm_and_yarn/servor-3.0.8
Bump servor from 2.2.1 to 3.0.8
2020-01-14 08:33:37 +08:00
dependabot-preview[bot] b2db59d24a Bump servor from 2.2.1 to 3.0.8
Bumps [servor](https://github.com/lukejacksonn/servor) from 2.2.1 to 3.0.8.
- [Release notes](https://github.com/lukejacksonn/servor/releases)
- [Commits](https://github.com/lukejacksonn/servor/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 19:20:36 +00:00
Harvey 897aa0dd24 Update package.json 2020-01-09 10:13:34 +08:00
Harvey Zack f0fe5d53eb Merge pull request #50 from zhw2590582/dependabot/npm_and_yarn/mocha-7.0.0
Bump mocha from 6.2.2 to 7.0.0
2020-01-07 08:34:58 +08:00
dependabot-preview[bot] d1cdc516ac Bump mocha from 6.2.2 to 7.0.0
Bumps [mocha](https://github.com/mochajs/mocha) from 6.2.2 to 7.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/v6.2.2...v7.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-06 19:15:29 +00:00
Harvey 153924a966 Update package.json 2020-01-03 10:39:44 +08:00
Harvey af4c007547 Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2020-01-02 08:31:11 +08:00
Harvey 3f77cd1b4b Update package.json 2020-01-02 08:30:29 +08:00
zhw2590582 1a951729ef Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2019-12-29 13:39:24 +08:00
zhw2590582 18e49e8116 Update package.json 2019-12-29 13:38:55 +08:00
Harvey bad6c66f84 Update package.json 2019-12-27 08:34:38 +08:00
Harvey Zack 3307d1fd5a Update mobile.html 2019-12-17 22:36:31 +08:00
Harvey Zack 795b78e2a9 Update index.html 2019-12-17 22:36:13 +08:00
Harvey Zack 829d0e70f0 Update README-CN.md 2019-12-17 18:01:47 +08:00
Harvey Zack 5b22d9537a Update index.js 2019-12-13 08:40:24 +08:00
Harvey 8ca17bf0ae build all packages 2019-12-11 17:10:15 +08:00
Harvey 9315afa217 v3.3.2 2019-12-11 17:09:10 +08:00
Harvey 1939f33703 优化生命周期 2019-12-11 17:08:55 +08:00
Harvey 637a0ec98f 循环播放时不展示控制栏 2019-12-11 16:51:06 +08:00
Harvey cbc38dd78a 组件选项写进父实例属性 2019-12-09 18:43:07 +08:00
Harvey 40b2e14adc Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2019-12-09 17:39:55 +08:00
Harvey 124240255c build all packages 2019-12-09 17:38:23 +08:00
Harvey 22e9022d83 v3.3.1 2019-12-09 17:37:45 +08:00
Harvey 93d39ca618 3.3.0 2019-12-09 17:37:18 +08:00
Harvey 415a04a4a7 build all packages 2019-12-09 17:34:55 +08:00
zhw2590582 9d25c2b402 添加backdrop选项 2019-12-08 09:33:58 +08:00
zhw2590582 e4af4db6a7 Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2019-12-08 09:23:17 +08:00
Harvey Zack 2f71b0d70f Merge pull request #49 from zhw2590582/dependabot/npm_and_yarn/cpy-8.0.0
Bump cpy from 7.3.0 to 8.0.0
2019-12-07 08:41:14 +08:00
dependabot-preview[bot] 9168f0b212 Bump cpy from 7.3.0 to 8.0.0
Bumps [cpy](https://github.com/sindresorhus/cpy) from 7.3.0 to 8.0.0.
- [Release notes](https://github.com/sindresorhus/cpy/releases)
- [Commits](https://github.com/sindresorhus/cpy/compare/v7.3.0...v8.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-06 19:15:59 +00:00
Harvey a8cbb56d93 build all packages 2019-12-02 08:40:33 +08:00
Harvey 1a3c4c5f79 v3.2.6 2019-12-02 08:39:59 +08:00
Harvey 89a19a16f0 修复播放状态 2019-11-29 11:35:00 +08:00
Harvey 0acc2482d5 移除多余空格 2019-11-28 13:33:28 +08:00
Harvey 1cc2a57d5c 更新readme 2019-11-28 12:12:00 +08:00
Harvey a6e4575b84 build all packages 2019-11-28 11:55:11 +08:00
Harvey c81e5ba3a5 v3.2.5 2019-11-28 11:54:41 +08:00
Harvey 763e47ed0f Update package.json 2019-11-28 11:54:17 +08:00
Harvey 904e214727 移除播放列表插件 2019-11-28 11:44:51 +08:00
Harvey 4722226658 修复字幕偏移错误 2019-11-28 11:35:49 +08:00
Harvey 54e9fb9ae2 优化文档 2019-11-28 11:26:19 +08:00
Harvey 0cf455ced3 压缩字符 2019-11-28 10:56:53 +08:00
Harvey 7ff61b4660 删除多余事件 2019-11-28 10:10:29 +08:00
Harvey e0faa3fe68 移除多余icon 2019-11-27 17:16:59 +08:00
Harvey 14701f2141 删除多余字符 2019-11-27 17:11:42 +08:00
Harvey 2cf7905d58 格式化html 2019-11-27 16:32:22 +08:00
Harvey 1d153e9a8d build all packages 2019-11-27 16:17:05 +08:00
Harvey 3da08e1bc7 Update common.js 2019-11-27 16:16:00 +08:00
Harvey 06fc487482 优化demo 2019-11-27 16:14:43 +08:00
Harvey a836852e48 build all packages 2019-11-27 15:49:24 +08:00
Harvey 5f40463713 压缩字符 2019-11-27 15:46:55 +08:00
Harvey 2df60a78ff 修复图片样式 2019-11-25 08:48:19 +08:00
Harvey Zack 4a7736a8e0 Update index.js 2019-11-24 17:28:15 +08:00
Harvey Zack 563e796098 Update index.js 2019-11-24 17:25:47 +08:00
zhw2590582 11525f2ee3 Update index.js 2019-11-24 17:18:12 +08:00
zhw2590582 18a3e88e62 Update package.json 2019-11-22 21:47:57 +08:00
zhw2590582 7a3146db6b 3.2.4 2019-11-22 21:44:12 +08:00
zhw2590582 0a3a20568e build all packages 2019-11-22 21:40:30 +08:00
zhw2590582 6a51c6b0ad v3.2.4 2019-11-22 21:40:05 +08:00
zhw2590582 c10e760141 fix 2019-11-22 21:39:55 +08:00
zhw2590582 247d626c3d build all packages 2019-11-22 21:35:31 +08:00
zhw2590582 6262ff96c3 v3.2.3 2019-11-22 21:35:06 +08:00
zhw2590582 652965352f build all packages 2019-11-22 21:33:46 +08:00
zhw2590582 898ba45bf6 v3.2.2 2019-11-22 21:33:21 +08:00
zhw2590582 88c7b5c2ff build all packages 2019-11-22 21:26:30 +08:00
zhw2590582 590388125a build all packages 2019-11-22 21:23:48 +08:00
zhw2590582 9e6105c8f1 build all packages 2019-11-22 21:18:50 +08:00
zhw2590582 e43e7f3359 3.2.1 2019-11-22 21:12:52 +08:00
zhw2590582 65f2fd57de Update lerna.json 2019-11-22 21:11:33 +08:00
zhw2590582 6f82f3f91d update creatTestFromDoc 2019-11-22 21:08:29 +08:00
zhw2590582 e982482a6d build all packages 2019-11-22 21:04:19 +08:00
zhw2590582 7f9325909b build all packages 2019-11-22 20:59:16 +08:00
zhw2590582 424ce9f39b v3.1.20 2019-11-22 20:52:13 +08:00
zhw2590582 1270167a3e 简化工具函数 2019-11-22 20:50:14 +08:00
zhw2590582 be4d1d0437 add removeHtmlSpace 2019-11-22 20:27:10 +08:00
Harvey Zack d8ba5c266e Update package.json 2019-11-22 18:46:19 +08:00
Harvey 44ca79ef62 build all packages 2019-11-22 18:10:25 +08:00
Harvey 97646bc729 fix artplayer-plugin-playlist 2019-11-22 18:00:32 +08:00
Harvey a31fe1b5d5 压缩html空格 2019-11-22 17:54:59 +08:00
Harvey 48b81536a8 Update hotkey.js 2019-11-22 17:48:13 +08:00
Harvey 15f6f2759a 修复字幕插件 2019-11-22 17:37:53 +08:00
Harvey ee90291897 压缩字符 2019-11-22 17:32:09 +08:00
Harvey baaaa4c56c build all packages 2019-11-22 17:07:40 +08:00
Harvey 2fcd44e8e7 组件添加add方法 2019-11-22 16:34:31 +08:00
Harvey 1d859e2049 创建组件父类 2019-11-22 15:35:21 +08:00
Harvey 0c1c1273a6 压缩多余字符 2019-11-22 11:10:28 +08:00
Harvey 707df15b2d update i18n 2019-11-22 10:16:46 +08:00
Harvey 042745f001 修改本地预览插件 2019-11-22 09:52:56 +08:00
zhw2590582 7c5d0f7385 修复demo尺寸 2019-11-21 20:54:24 +08:00
zhw2590582 d512d9f8f0 修复subtitle:update事件 2019-11-21 20:40:02 +08:00
zhw2590582 965fccb985 修复subtitle:update事件 2019-11-21 20:39:25 +08:00
zhw2590582 c933bd68e4 优化版本输出 2019-11-21 20:26:43 +08:00
zhw2590582 17b7386ad6 remove version 2019-11-21 20:16:55 +08:00
Harvey f9d4bbd752 更新测试html 2019-11-21 13:49:11 +08:00
Harvey 7851ad373b Update creatTestFromDoc.js 2019-11-21 11:43:50 +08:00
Harvey c752982738 自动从文档生成测试用例 2019-11-21 11:39:49 +08:00
Harvey 12c64e41fb 完善文档 2019-11-21 10:31:49 +08:00
Harvey 20f3488830 update demo 2019-11-21 09:37:29 +08:00
Harvey 2d6627225f Update README.md 2019-11-21 09:30:17 +08:00
Harvey de20a350e6 添加事件文档 2019-11-20 15:30:11 +08:00
Harvey 339ec6a163 build all packages 2019-11-20 09:49:52 +08:00
Harvey 066a29e170 v3.1.19 2019-11-20 09:49:22 +08:00
Harvey 2223c01d83 Update package.json 2019-11-20 09:49:05 +08:00
Harvey a8d102cdad Update package.json 2019-11-20 09:46:59 +08:00
Harvey 355fdf623d Update index.html 2019-11-20 09:45:05 +08:00
Harvey ef5558e2d3 同步本地视频的标题 2019-11-15 12:03:47 +08:00
Harvey 04ea075cc4 build all packages 2019-11-15 11:29:25 +08:00
Harvey 1c58255301 remove comments 2019-11-15 11:28:49 +08:00
Harvey 5769baa676 build all packages 2019-11-15 11:19:40 +08:00
Harvey b3c2452758 优化菜单 2019-11-15 11:02:44 +08:00
Harvey 9e36a1ba44 build all packages 2019-11-15 10:37:59 +08:00
Harvey 8c604e6e4d 优化信息面板 2019-11-15 10:33:52 +08:00
Harvey 9f2038539e 优化字幕结构 2019-11-15 10:17:11 +08:00
zhw2590582 3965132252 Update localVideo.js 2019-11-14 20:51:04 +08:00
zhw2590582 c1758c604d 移除多余i18n 2019-11-14 20:50:47 +08:00
Harvey 224a7fe23c build all packages 2019-11-14 16:17:32 +08:00
Harvey 06be229b21 添加中文介绍 2019-11-14 16:04:23 +08:00
Harvey bdec289151 更新英文简介 2019-11-14 15:44:04 +08:00
Harvey 9cf1571ef8 添加字幕本地预览 2019-11-14 14:00:24 +08:00
Harvey 2878705e72 强制关闭controls 2019-11-14 12:05:57 +08:00
Harvey 50c293f6c3 设置 preload 默认值为 metadata 2019-11-14 11:57:38 +08:00
Harvey 8ef582f714 分离工具函数 2019-11-14 11:24:02 +08:00
Harvey 7a84c262da 提取共用方法 2019-11-14 10:11:03 +08:00
Harvey 48ade99047 build all packages 2019-11-11 09:22:33 +08:00
Harvey 61cbcb430d v3.1.18 2019-11-11 09:22:05 +08:00
Harvey d3cc1bd4fc 更新依赖 2019-11-11 09:20:37 +08:00
Harvey a0f90bef50 build all packages 2019-11-11 09:14:51 +08:00
Harvey 1310e1f0a8 v3.1.17 2019-11-11 09:14:25 +08:00
Harvey 66bb5326ec build all packages 2019-11-11 09:11:36 +08:00
zhw2590582 5fb324abc5 Update package.json 2019-11-11 06:47:58 +08:00
zhw2590582 2b83fc1b26 build all packages 2019-11-10 15:53:24 +08:00
zhw2590582 a67307d749 v3.1.17 2019-11-10 15:53:05 +08:00
zhw2590582 c91eab323e Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2019-11-08 06:58:09 +08:00
zhw2590582 27dbd8dfbf Update package.json 2019-11-08 06:57:35 +08:00
Harvey da45181d18 build all packages 2019-10-15 09:56:59 +08:00
Harvey 0d420c6413 更新依赖 2019-10-15 09:49:57 +08:00
Harvey a51b0debd9 添加尺寸错误验证 2019-10-15 09:40:12 +08:00
Harvey a6816d68fa 添加ready事件 2019-10-10 11:33:24 +08:00
zhw2590582 d43a71b931 优化字幕切换 2019-10-01 20:36:43 +08:00
zhw2590582 31d1949da0 添加字幕url的getter和setter 2019-10-01 19:51:10 +08:00
Harvey 8d6dcdf6aa 添加字幕切换方法 2019-09-29 17:02:35 +08:00
Harvey 6f84fcc8f2 add isLocalhost 2019-09-27 10:06:18 +08:00
Harvey 8ad6550d12 Update switchMix.js 2019-09-27 09:54:12 +08:00
Harvey 2fbacf77a6 添加ass格式字幕支持 2019-09-25 18:36:54 +08:00
Harvey 1644a7530f build all packages 2019-09-25 12:44:22 +08:00
Harvey c3ddddc223 v3.1.16 2019-09-25 12:43:54 +08:00
Harvey 13fa706bbf 优化字幕切换 2019-09-25 12:43:45 +08:00
Harvey abeb4b5326 networkMonitor 添加采样时间 2019-09-20 14:32:10 +08:00
Harvey b444b4fcc5 Update package.json 2019-09-19 15:48:58 +08:00
Harvey 6c98b91aa5 修正热键的值 2019-09-19 15:36:56 +08:00
Harvey 282c8f79e0 优化pip 2019-09-19 15:22:54 +08:00
Harvey 022f36624a 优化pip 2019-09-19 15:13:57 +08:00
Harvey Zack fcd7fbecfc Merge pull request #45 from zhw2590582/UI-rebuild
优化进度条样式
2019-09-19 14:41:09 +08:00
Harvey b1276c26a8 优化进度条样式 2019-09-19 14:27:13 +08:00
Harvey Zack af748fdebf Merge pull request #44 from zhw2590582/dependabot/npm_and_yarn/cross-env-tw-6.0.0
Update cross-env requirement from ^5.2.1 to ^6.0.0
2019-09-18 08:29:32 +08:00
dependabot-preview[bot] 853b15ba3c Update cross-env requirement from ^5.2.1 to ^6.0.0
Updates the requirements on [cross-env](https://github.com/kentcdodds/cross-env) to permit the latest version.
- [Release notes](https://github.com/kentcdodds/cross-env/releases)
- [Changelog](https://github.com/kentcdodds/cross-env/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kentcdodds/cross-env/compare/v5.2.1...v6.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-17 19:21:26 +00:00
Harvey 763cabdfe8 Create analysis.js 2019-09-16 10:01:22 +08:00
zhw2590582 902fe20895 build all packages 2019-09-15 16:16:53 +08:00
zhw2590582 8be47d625e v3.1.15 2019-09-15 16:16:33 +08:00
Harvey 9be587559f remove floatCeil 2019-09-12 17:41:20 +08:00
Harvey a244879a3e add floatCeil 2019-09-12 17:02:47 +08:00
Harvey 18ca81e2ed 添加背景模糊特效 2019-09-12 16:33:21 +08:00
Harvey da69b19b63 修改自动画中画的描述 2019-09-11 10:31:06 +08:00
Harvey 904358fbdf 修改字幕偏移插件name 2019-09-11 10:24:01 +08:00
Harvey 05cbe4dad6 添加监听视频卡顿的插件 2019-09-11 10:14:47 +08:00
Harvey cef60c4d9a Update gif.js 2019-09-10 09:04:39 +08:00
Harvey 8d1ae92e73 Update package.json 2019-09-10 08:52:17 +08:00
Harvey 6bac8ad6e2 update screenfull api 2019-09-10 08:46:21 +08:00
Harvey Zack 1ec9c5e2bf Merge pull request #43 from zhw2590582/dependabot/npm_and_yarn/screenfull-tw-5.0.0
Update screenfull requirement from ^4.2.0 to ^5.0.0
2019-09-10 08:32:27 +08:00
Harvey Zack efa498d0d6 Update package.json 2019-09-10 08:30:00 +08:00
Harvey Zack 58d443375c Merge pull request #42 from zhw2590582/dependabot/npm_and_yarn/rollup-1.21.2
Update rollup requirement from 1.14.2 to 1.21.2
2019-09-10 06:56:41 +08:00
dependabot-preview[bot] effcb52e9a Update screenfull requirement from ^4.2.0 to ^5.0.0
Updates the requirements on [screenfull](https://github.com/sindresorhus/screenfull.js) to permit the latest version.
- [Release notes](https://github.com/sindresorhus/screenfull.js/releases)
- [Commits](https://github.com/sindresorhus/screenfull.js/compare/v4.2.0...v5.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-09 20:42:03 +00:00
dependabot-preview[bot] 358c483077 Update rollup requirement from 1.14.2 to 1.21.2
Updates the requirements on [rollup](https://github.com/rollup/rollup) to permit the latest version.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v1.14.2...v1.21.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-09 20:41:41 +00:00
Harvey 07469bfb27 Update package.json 2019-09-09 11:26:09 +08:00
Harvey aa13d472cd Update package.json 2019-09-09 11:22:39 +08:00
Harvey 77acbe47ba Update package.json 2019-09-09 11:14:26 +08:00
Harvey 7bb66071d3 Update package.json 2019-09-09 10:52:27 +08:00
Harvey b2be95e131 Update package.json 2019-09-09 10:43:29 +08:00
Harvey cebb754cdf Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2019-09-09 10:42:51 +08:00
Harvey ea00e6c36b build all packages 2019-09-09 10:40:35 +08:00
Harvey ce09c375c0 Update package.json 2019-09-09 10:02:50 +08:00
zhw2590582 2f56243068 Update README.md 2019-09-08 13:04:56 +08:00
zhw2590582 150e43d325 Update README.md 2019-09-08 13:02:07 +08:00
zhw2590582 d0939d5b65 内置插件默认修改为关闭 2019-09-08 12:52:07 +08:00
zhw2590582 b2f30aa030 fix scheme 2019-09-08 12:43:12 +08:00
zhw2590582 6c0a198f02 add auto pip mode 2019-09-08 12:41:27 +08:00
Harvey Zack 8dc8dc3a3e Update nodejs.yml 2019-09-07 08:51:17 +08:00
Harvey Zack e0d8eea2fc Update nodejs.yml 2019-09-07 08:48:03 +08:00
Harvey Zack 29508485c8 Update nodejs.yml 2019-09-07 08:45:20 +08:00
Harvey Zack 08d195864b Update package.json 2019-09-06 08:21:40 +08:00
Harvey cdbf4b3816 typofix 2019-09-03 17:29:12 +08:00
Harvey 6b716c622c Update index.js 2019-09-03 17:05:23 +08:00
Harvey 743a812860 升级验证器2.0.0 2019-09-03 15:18:58 +08:00
Harvey Zack 663081d2ac Update nodejs.yml 2019-08-27 08:18:46 +08:00
zhw2590582 98942c8049 Update index.html 2019-08-24 09:23:58 +08:00
zhw2590582 4aba07cf79 Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2019-08-24 09:23:14 +08:00
zhw2590582 82c6c59875 add Donate links 2019-08-24 09:22:35 +08:00
Harvey Zack c14f03f019 Merge pull request #41 from zhw2590582/dependabot/npm_and_yarn/inquirer-tw-7.0.0
Update inquirer requirement from ^6.3.1 to ^7.0.0
2019-08-24 08:40:15 +08:00
dependabot-preview[bot] 8ea78d5f99 Update inquirer requirement from ^6.3.1 to ^7.0.0
Updates the requirements on [inquirer](https://github.com/SBoudrias/Inquirer.js) to permit the latest version.
- [Release notes](https://github.com/SBoudrias/Inquirer.js/releases)
- [Commits](https://github.com/SBoudrias/Inquirer.js/compare/inquirer@6.3.1...inquirer@7.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-23 19:23:49 +00:00
Harvey Zack 79c68a5c39 Update package.json 2019-08-23 20:55:27 +08:00
zhw2590582 db8df6015d Update README.md 2019-08-23 20:21:35 +08:00
zhw2590582 1ba6de1555 Update screenshot.png 2019-08-23 20:18:36 +08:00
zhw2590582 ea111be661 update some images 2019-08-23 20:06:53 +08:00
Harvey Zack 35d9350b6f Update package.json 2019-08-23 11:50:33 +08:00
Harvey 71d56e0a63 build all packages 2019-08-21 11:16:06 +08:00
Harvey 876d1b89cd v3.1.14 2019-08-21 11:15:40 +08:00
Harvey Zack 1eb13d9121 Merge pull request #40 from amowu/hotfix/postcss-values-parser-syntax-error
解決 postcss-values-parser 出現 Syntax Error 的問題
2019-08-21 11:11:39 +08:00
Harvey 06fbf2b3c7 remove balloon.css 2019-08-21 11:11:03 +08:00
Amo Wu 908cde6893 fix: solve postcss-values-parser Syntax Error problem
When using Rollup for balloon.css, `calc(var(--balloon-move) * -1))` will become like this `calc(var(--balloon-move)*-1))`. The space was removed.

This will lead to postcss-values-parser Syntax Error, such as webpacker of Ruby on Rails.

Ref https://github.com/postcss/postcss-custom-properties/issues/161#issuecomment-479025016
2019-08-21 09:59:43 +08:00
Harvey fcfc4334f4 change demo url 2019-08-19 11:56:55 +08:00
Harvey Zack 3cc0b40965 Update index.js 2019-08-19 10:29:57 +08:00
Harvey 2db70b99ef add donations 2019-08-16 13:36:36 +08:00
Harvey 8d1417f2fc change link 2019-08-16 09:23:51 +08:00
Harvey 1498c93921 fix eslint err 2019-08-15 10:08:21 +08:00
Harvey f81225b248 修复字幕偏移不准问题 2019-08-15 10:03:49 +08:00
Harvey 09e1d66676 update option-validator 2019-08-15 09:27:01 +08:00
Harvey cb2116fa9c Update README.md 2019-08-15 09:01:54 +08:00
Harvey 2560cee937 build all packages 2019-08-15 08:34:33 +08:00
Harvey cabade015c v3.1.13 2019-08-15 08:34:00 +08:00
Harvey Zack b9e6232b59 Merge pull request #39 from zhw2590582/dependabot/npm_and_yarn/eslint-tw-6.1.0
Update eslint requirement from ^5.16.0 to ^6.1.0
2019-08-14 08:50:22 +08:00
dependabot-preview[bot] 4b0e607c14 Update eslint requirement from ^5.16.0 to ^6.1.0
Updates the requirements on [eslint](https://github.com/eslint/eslint) to permit the latest version.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v5.16.0...v6.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-13 19:28:50 +00:00
harvey 4dbc42cef3 update lint 2019-08-13 08:39:32 +08:00
Harvey Zack e5ba6fcb95 rename DEFAULTS -> option 2019-08-09 14:55:11 +08:00
Harvey Zack ccd167dd84 Update README.md 2019-08-08 20:00:56 +08:00
Harvey Zack 169bce0faa Update index.js 2019-08-08 19:57:04 +08:00
Harvey Zack 655c8dad70 add console link 2019-08-08 19:46:57 +08:00
Harvey Zack 6fb1b0eb6e 精简eslinet 2019-08-08 19:09:22 +08:00
Harvey Zack fba16c2432 fix demo 2019-08-06 13:26:39 +08:00
Harvey Zack 8d8258eb42 add contribution 2019-08-06 13:03:15 +08:00
Harvey Zack b62ec8a5db Merge pull request #36 from amowu/patch-1
docs(README): typo
2019-08-02 11:54:36 +08:00
Amo Wu c2298bc5a8 docs(README): typo
`artplayerPluginBacklight` -> `artplayerPluginDanmuku`
2019-08-02 11:39:24 +08:00
Harvey Zack 2ac43c6c9e Update README.md 2019-08-01 17:45:50 +08:00
Harvey Zack 5e03c9b191 player属性代理到art属性 2019-08-01 15:53:01 +08:00
Harvey Zack 95d5f64057 Update README.md 2019-08-01 15:13:41 +08:00
Harvey Zack 2764cb6d51 Update README.md 2019-08-01 15:08:32 +08:00
Harvey Zack 1a5cf941a1 build all packages 2019-07-19 18:25:13 +08:00
Harvey Zack 7d24eabe32 v3.1.12 2019-07-19 18:24:26 +08:00
Harvey Zack c81240205d build all packages 2019-07-19 18:21:43 +08:00
Harvey Zack 6322e9446f v3.1.11 2019-07-19 18:20:37 +08:00
Harvey Zack 385fc7bda2 bugfix 2019-07-19 18:18:32 +08:00
Harvey Zack 8b16c0fc29 build all packages 2019-07-19 17:55:10 +08:00
Harvey Zack f6c76e9c8f v3.1.10 2019-07-19 17:54:25 +08:00
Harvey Zack dd8397f14e 优化DEMO 2019-07-09 09:45:02 +08:00
Harvey Zack d17104ed3b Update index.js 2019-07-08 20:44:56 +08:00
Harvey Zack ffbb4cc057 Update package.json 2019-07-08 17:44:24 +08:00
Harvey Zack 64b71850b4 Merge pull request #34 from zhw2590582/dependabot/npm_and_yarn/del-tw-5.0.0
Update del requirement from ^4.1.1 to ^5.0.0
2019-07-03 07:02:36 +08:00
dependabot-preview[bot] 760f7c1dfd Update del requirement from ^4.1.1 to ^5.0.0
Updates the requirements on [del](https://github.com/sindresorhus/del) to permit the latest version.
- [Release notes](https://github.com/sindresorhus/del/releases)
- [Commits](https://github.com/sindresorhus/del/compare/v4.1.1...v5.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-02 19:23:30 +00:00
Harvey Zack 2e168cb5e6 update 2019-06-27 09:44:43 +08:00
Harvey Zack d6e9643220 update validator 2019-06-26 16:34:30 +08:00
Harvey Zack b5cde4d611 Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2019-06-26 15:29:24 +08:00
Harvey Zack e0b5da64fb add sizereport 2019-06-26 15:29:16 +08:00
Harvey Zack 35ecf4bc53 Merge pull request #33 from zhw2590582/dependabot/npm_and_yarn/eslint-config-prettier-tw-6.0.0
Update eslint-config-prettier requirement from ^5.0.0 to ^6.0.0
2019-06-26 07:12:23 +08:00
dependabot-preview[bot] 712c488332 Update eslint-config-prettier requirement from ^5.0.0 to ^6.0.0
Updates the requirements on [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) to permit the latest version.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v5.0.0...v6.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-25 19:18:04 +00:00
Harvey Zack 47058616de 优化插件模块 2019-06-25 16:59:27 +08:00
Harvey Zack 98f0e80a33 bugfix 2019-06-25 16:45:14 +08:00
Harvey Zack d3d1c83eb8 update component.js 2019-06-25 16:34:11 +08:00
Harvey Zack c5355ed6d5 Update index.js 2019-06-25 12:48:55 +08:00
Harvey Zack dc35807bfa Merge pull request #32 from zhw2590582/dependabot/npm_and_yarn/rollup-plugin-eslint-tw-7.0.0
Update rollup-plugin-eslint requirement from ^6.0.0 to ^7.0.0
2019-06-25 11:01:13 +08:00
dependabot-preview[bot] b50dd1e4eb Update rollup-plugin-eslint requirement from ^6.0.0 to ^7.0.0
Updates the requirements on [rollup-plugin-eslint](https://github.com/TrySound/rollup-plugin-eslint) to permit the latest version.
- [Release notes](https://github.com/TrySound/rollup-plugin-eslint/releases)
- [Commits](https://github.com/TrySound/rollup-plugin-eslint/compare/v6.0.0...v7.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-24 19:17:26 +00:00
Harvey Zack a72a51d00b Update eslint-config-prettier requirement from ^4.3.0 to ^5.0.0 (#30)
Update eslint-config-prettier requirement from ^4.3.0 to ^5.0.0
2019-06-18 07:21:54 +08:00
Harvey Zack 81e2b441ff Update balloon-css requirement from ^0.5.0 to ^1.0.0 (#31)
Update balloon-css requirement from ^0.5.0 to ^1.0.0
2019-06-18 07:18:52 +08:00
dependabot-preview[bot] 6b62ca261b Update balloon-css requirement from ^0.5.0 to ^1.0.0
Updates the requirements on [balloon-css](https://github.com/kazzkiq/balloon.css) to permit the latest version.
- [Release notes](https://github.com/kazzkiq/balloon.css/releases)
- [Commits](https://github.com/kazzkiq/balloon.css/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-17 19:17:21 +00:00
dependabot-preview[bot] 1ee7d7e6a7 Update eslint-config-prettier requirement from ^4.3.0 to ^5.0.0
Updates the requirements on [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) to permit the latest version.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v4.3.0...v5.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-17 19:15:43 +00:00
Harvey Zack 4503676cbf add componentID 2019-06-12 17:08:45 +08:00
Harvey Zack 999636400e Update README.md 2019-06-12 15:49:24 +08:00
Harvey Zack a9474b6bf1 fix 2019-06-12 15:38:44 +08:00
Harvey Zack 6e44bee87b 优化vue/react组件 2019-06-12 15:34:07 +08:00
Harvey Zack cadfa4efe5 build all packages 2019-06-12 15:24:34 +08:00
Harvey Zack 6c2d5f62f6 build all packages 2019-06-06 15:57:29 +08:00
Harvey Zack 896de568cc 使用 e.pageX 2019-06-06 15:45:37 +08:00
Harvey Zack 581b453ed2 update demo 2019-06-06 15:40:18 +08:00
Harvey Zack 3c939b3c37 移除 draggabilly 2019-06-06 15:39:03 +08:00
Harvey Zack a510b9b772 build all packages 2019-06-06 13:33:49 +08:00
Harvey Zack 98c600c244 移除两个依赖 2019-06-06 13:32:19 +08:00
Harvey Zack dc8337dc65 修复 gif demo 错误 2019-06-06 13:12:52 +08:00
Harvey Zack 52b6693da2 简化player接口 2019-06-06 10:37:57 +08:00
Harvey Zack 1b69b28ba1 Update volume.js 2019-06-06 08:31:20 +08:00
zhw2590582 75bd703790 change file name 2019-06-01 00:58:17 +08:00
Harvey Zack 1f25803519 Update index.js 2019-05-27 09:15:24 +08:00
zhw2590582 0af2403bb8 build all packages 2019-05-25 12:50:02 +08:00
Harvey Zack 416e79705c Merge pull request #29 from zhw2590582/dependabot/npm_and_yarn/rollup-plugin-eslint-tw-6.0.0
Update rollup-plugin-eslint requirement from ^5.1.0 to ^6.0.0
2019-05-23 08:13:59 +08:00
dependabot[bot] 9b9e1da1c7 Update rollup-plugin-eslint requirement from ^5.1.0 to ^6.0.0
Updates the requirements on [rollup-plugin-eslint](https://github.com/TrySound/rollup-plugin-eslint) to permit the latest version.
- [Release notes](https://github.com/TrySound/rollup-plugin-eslint/releases)
- [Commits](https://github.com/TrySound/rollup-plugin-eslint/compare/v5.1.0...v6.0.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-22 19:15:33 +00:00
zhw2590582 899307696b 验证重名组件 2019-05-17 21:52:52 +08:00
Harvey Zack 73e58d356e Merge pull request #27 from zhw2590582/dependabot/npm_and_yarn/rollup-plugin-node-resolve-tw-5.0.0
Update rollup-plugin-node-resolve requirement from ^4.2.3 to ^5.0.0
2019-05-16 06:58:24 +08:00
dependabot[bot] 5a159c8f52 Update rollup-plugin-node-resolve requirement from ^4.2.3 to ^5.0.0
Updates the requirements on [rollup-plugin-node-resolve](https://github.com/rollup/rollup-plugin-node-resolve) to permit the latest version.
- [Release notes](https://github.com/rollup/rollup-plugin-node-resolve/releases)
- [Changelog](https://github.com/rollup/rollup-plugin-node-resolve/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup-plugin-node-resolve/compare/v4.2.3...v5.0.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-15 22:55:25 +00:00
Harvey Zack 1bab88147c Merge pull request #28 from zhw2590582/dependabot/npm_and_yarn/rollup-plugin-commonjs-tw-10.0.0
Update rollup-plugin-commonjs requirement from ^9.3.4 to ^10.0.0
2019-05-16 06:53:18 +08:00
dependabot[bot] 5f9a5abfcc Update rollup-plugin-commonjs requirement from ^9.3.4 to ^10.0.0
Updates the requirements on [rollup-plugin-commonjs](https://github.com/rollup/rollup-plugin-commonjs) to permit the latest version.
- [Release notes](https://github.com/rollup/rollup-plugin-commonjs/releases)
- [Changelog](https://github.com/rollup/rollup-plugin-commonjs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup-plugin-commonjs/compare/v9.3.4...v10.0.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-15 19:26:17 +00:00
zhw2590582 af2f30442d build all packages 2019-05-13 06:09:33 +08:00
zhw2590582 f1a71f5f6c v3.1.9 2019-05-13 06:09:18 +08:00
zhw2590582 89fecf5488 build all packages 2019-05-13 06:07:33 +08:00
zhw2590582 773714f739 localStorage 添加 del 方法 2019-05-12 10:02:42 +08:00
zhw2590582 6f34ea0da0 添加css主题变量 2019-05-10 22:08:00 +08:00
zhw2590582 4c28b38825 修正播放列表样式 2019-05-10 21:57:47 +08:00
Harvey Zack 6093d826a1 Update README.md 2019-05-10 10:25:17 +08:00
Harvey Zack 6695a128b8 Merge pull request #25 from fossabot/master
Add license scan report and status
2019-05-10 10:04:44 +08:00
fossabot 13da0815ca Add license scan report and status
Signed-off-by: fossabot <badges@fossa.io>
2019-05-09 18:55:40 -07:00
zhw2590582 6e2cb3ad5e add more badge 2019-05-09 22:05:20 +08:00
zhw2590582 88067817cd typofix 2019-05-09 21:18:12 +08:00
zhw2590582 3f33e98421 add more Badge 2019-05-09 21:03:52 +08:00
zhw2590582 524c3203ef safari 支持画中画模式 2019-05-09 20:37:27 +08:00
zhw2590582 cca41ae1fe 模糊插件添加支持判断 2019-05-09 20:01:52 +08:00
Harvey Zack 0eb028fbd4 Update index.js 2019-05-09 18:31:20 +08:00
Harvey Zack bbe0923064 Update index.js 2019-05-09 18:28:36 +08:00
Harvey Zack 0335c678d5 添加绝对坐标 2019-05-09 18:15:35 +08:00
Harvey Zack c95d379064 优化模糊插件 2019-05-09 13:15:43 +08:00
zhw2590582 a2b6ce6d7c pip style fix 2019-05-08 20:20:38 +08:00
Harvey Zack 947e41cd88 style fix 2019-05-08 13:15:05 +08:00
Harvey Zack 29dca053b6 bugfix 2019-05-08 12:40:54 +08:00
Harvey Zack 22f2b4714f 修正模糊插件的时间差问题 2019-05-08 12:12:43 +08:00
Harvey Zack dac68903c5 style fix 2019-05-08 11:57:21 +08:00
Harvey Zack 1aedc530d5 Update package.json 2019-05-08 11:34:57 +08:00
Harvey Zack f88a1f0fda Update index.js 2019-05-08 11:27:24 +08:00
Harvey Zack f82d6e85c8 Merge pull request #24 from zhw2590582/blur
add artplayer-plugin-blur
2019-05-08 11:20:51 +08:00
Harvey Zack 950d6a3b3a add artplayer-plugin-blur 2019-05-08 11:19:46 +08:00
Harvey Zack e26f43e243 暴露Draggabilly接口 2019-05-08 09:23:33 +08:00
Harvey Zack eb34a39429 修复迷你播放器的坐标错误 2019-05-08 09:14:25 +08:00
Harvey Zack 4b207c6bfb remove postinstall 2019-05-07 17:49:16 +08:00
Harvey Zack 335c9b28c3 add postinstall 2019-05-07 17:44:15 +08:00
Harvey Zack ccd027b928 Update constructor.test.js 2019-05-07 17:34:41 +08:00
Harvey Zack cbde597614 Update constructor.test.js 2019-05-07 17:30:03 +08:00
Harvey Zack abff0e0331 优化错误验证 2019-05-07 14:22:15 +08:00
Harvey Zack aa156e1516 Update index.js 2019-05-07 11:12:01 +08:00
Harvey Zack 23237c5ed6 icon 支持自定义元素 2019-05-07 08:27:16 +08:00
zhw2590582 5d286e5d00 添加isLive选项 2019-05-06 22:42:04 +08:00
zhw2590582 df54606294 build all packages 2019-05-06 21:58:00 +08:00
zhw2590582 6b95f054d8 添加demo图标 2019-05-06 21:48:11 +08:00
Harvey Zack 4ec49ec5f1 移除1.75播放速度 2019-05-06 17:22:33 +08:00
Harvey Zack 8d91a5f515 i18n update 2019-05-06 17:15:20 +08:00
Harvey Zack ad03401d74 style fix 2019-05-06 17:07:54 +08:00
Harvey Zack ea275dc405 typefix 2019-05-06 16:37:30 +08:00
Harvey Zack 1471e9ae5e typofix 2019-05-06 16:36:10 +08:00
Harvey Zack 90f1e5faa8 style fix 2019-05-06 16:24:18 +08:00
Harvey Zack b64fe65164 build all packages 2019-05-06 15:48:38 +08:00
Harvey Zack 952b66898a 弹幕同步视频播放速度功能 2019-05-06 15:06:52 +08:00
Harvey Zack 92893321b2 Update artplayer.d.ts 2019-05-06 14:06:05 +08:00
Harvey Zack c8143b0979 修正字幕偏移插件的值 2019-05-06 13:58:10 +08:00
Harvey Zack d012920f34 typofix 2019-05-06 13:52:41 +08:00
Harvey Zack 4d537d3872 简化icon 2019-05-06 13:34:49 +08:00
Harvey Zack d9b38d8e72 Update github.js 2019-05-06 11:40:44 +08:00
Harvey Zack c7d816192e typofix 2019-05-06 10:02:02 +08:00
Harvey Zack 44dec9f83e bugfix 2019-05-06 09:58:37 +08:00
Harvey Zack 0fd8a85ea9 添加flip配置项 2019-05-06 09:48:48 +08:00
Harvey Zack f6295c1fbc 添加更多设置项 2019-05-06 09:36:44 +08:00
Harvey Zack 0bc9c88af2 i18n改用json格式 2019-05-06 09:12:36 +08:00
Harvey Zack ffd7a38b35 Update getDanmuTop.js 2019-05-04 18:40:53 +08:00
zhw2590582 afcb601c84 修复尺寸变化时的弹幕偏移bug 2019-05-04 17:44:02 +08:00
zhw2590582 573c549ce1 修复切换画质时不能接着播放问题 2019-05-04 11:16:38 +08:00
zhw2590582 296a8122d8 build all packages 2019-05-03 22:22:38 +08:00
zhw2590582 ec1fa2f9d0 v3.1.8 2019-05-03 22:22:22 +08:00
zhw2590582 6824543951 fix miniProgressBar bug 2019-05-03 21:43:15 +08:00
zhw2590582 d0fd5abcd3 修复控制栏显示异常问题 2019-05-03 21:34:17 +08:00
zhw2590582 5000d6ed26 移除多余文件 2019-05-03 21:06:55 +08:00
zhw2590582 d70a84773b 优化背光插件 2019-05-03 21:01:24 +08:00
zhw2590582 046d679c81 Update index.html 2019-05-03 20:48:19 +08:00
zhw2590582 339996a873 build all packages 2019-05-03 20:46:24 +08:00
zhw2590582 df3f633e78 bugfix 2019-05-03 14:23:53 +08:00
zhw2590582 58b68a2c12 bugfix 2019-05-03 14:03:05 +08:00
zhw2590582 4dfcba5266 优化静止弹幕 2019-05-03 13:44:12 +08:00
zhw2590582 f4d097b918 添加静止弹幕 2019-05-03 11:52:54 +08:00
zhw2590582 6056e7a0c6 调整播放列表接口 2019-05-01 10:57:49 +08:00
zhw2590582 941ab07c66 添加弹幕设置 2019-05-01 10:43:48 +08:00
zhw2590582 c89f99f8a3 调整设置样式 2019-04-30 22:32:42 +08:00
Harvey Zack c323cea07a typofix 2019-04-30 17:19:12 +08:00
Harvey Zack a817034907 typofix 2019-04-30 17:08:34 +08:00
Harvey Zack 3de25525c4 修复配置全局变量bug 2019-04-30 15:51:36 +08:00
Harvey Zack b74eabc73b Update github.js 2019-04-30 15:18:09 +08:00
Harvey Zack fa585e536a 调整整体样式 2019-04-30 15:10:30 +08:00
Harvey Zack 487e865017 优化整体结构 2019-04-30 13:06:24 +08:00
Harvey Zack 9f9cb0e036 弹幕随播放器尺寸变化而调整 2019-04-29 15:25:01 +08:00
Harvey Zack 73462364b3 typofix 2019-04-29 08:25:15 +08:00
Harvey Zack bf1a4f2234 层使用异步加载 2019-04-29 08:21:19 +08:00
Harvey Zack 8ee7488bb1 优化组件id 2019-04-28 12:58:52 +08:00
Harvey Zack 39ea75450c 优化弹幕层级 2019-04-28 11:58:16 +08:00
Harvey Zack 100785bd58 Update package.json 2019-04-28 11:39:27 +08:00
Harvey Zack b73611b126 优化弹幕库 2019-04-28 11:14:32 +08:00
Harvey Zack cd67baae94 优化弹幕 2019-04-28 10:40:55 +08:00
Harvey Zack d29a5b788f Update github.js 2019-04-27 22:35:28 +08:00
zhw2590582 abaf47b380 Update github.js 2019-04-27 21:33:56 +08:00
zhw2590582 cd9c897c30 调整弹幕样式 2019-04-27 20:59:00 +08:00
zhw2590582 8b28148cc6 Update github.js 2019-04-27 20:35:48 +08:00
zhw2590582 ebc0835da4 Update github.js 2019-04-27 20:30:12 +08:00
zhw2590582 00d8b77e89 fix readme 2019-04-27 20:26:30 +08:00
zhw2590582 8e825effdb build all packages 2019-04-27 20:19:18 +08:00
zhw2590582 8f608ef694 build all packages 2019-04-27 20:18:54 +08:00
zhw2590582 429330a7e2 build all packages 2019-04-27 20:13:00 +08:00
zhw2590582 7c72e3ecd8 Delete artplayer-plugin-danmu.css 2019-04-27 16:00:27 +08:00
zhw2590582 86dd34dc37 build all packages 2019-04-27 15:39:29 +08:00
zhw2590582 dd6a2dafda 优化弹幕插件 2019-04-27 00:09:07 +08:00
Harvey Zack ec52781540 typofix 2019-04-26 18:00:25 +08:00
Harvey Zack de5c97dc52 弹幕添加暂停功能 2019-04-26 17:53:25 +08:00
Harvey Zack 495ff8625e 弹幕基本成型 2019-04-26 17:17:57 +08:00
Harvey Zack 9d730146c0 弹幕池支持异步返回 2019-04-26 12:05:59 +08:00
Harvey Zack 9bd1452030 add bilibiliDanmuParseFromAv 2019-04-26 10:01:54 +08:00
Harvey Zack d735bb4de7 update artplayer-plugin-danmu 2019-04-25 18:02:10 +08:00
Harvey Zack 8aac0ba52f 添加弹幕插件方法 2019-04-25 16:47:50 +08:00
Harvey Zack b1819b3ea2 add bilibiliDanmuParse 2019-04-25 14:15:12 +08:00
Harvey Zack 582114e79d 添加弹幕插件 2019-04-25 11:23:41 +08:00
Harvey Zack d626ee601e 移除flv插件 2019-04-25 09:17:53 +08:00
Harvey Zack 43f8e9d935 优化 screenfull 接口 2019-04-23 08:55:18 +08:00
Harvey Zack eeaeb95557 优化 screenfull 接口 2019-04-23 08:42:54 +08:00
zhw2590582 14c3b52b1d build all packages 2019-04-23 06:56:00 +08:00
zhw2590582 65a9fab8d9 v3.1.7 2019-04-23 06:55:45 +08:00
zhw2590582 bd73f2535d typofix 2019-04-22 22:07:56 +08:00
zhw2590582 bf22c92209 调整预览图精度bug 2019-04-22 22:06:02 +08:00
zhw2590582 09ef4c975b build all packages 2019-04-22 21:40:32 +08:00
Harvey Zack 57e48c0783 Update mobile.js 2019-04-22 18:40:42 +08:00
Harvey Zack c857340d11 Update mobile.js 2019-04-22 17:59:10 +08:00
Harvey Zack edf138730a add seo info 2019-04-22 15:39:27 +08:00
Harvey Zack 5ed7f240fa Update thumbnail.js 2019-04-22 15:19:48 +08:00
Harvey Zack 62c05ef659 优化回调参数 2019-04-22 13:32:27 +08:00
Harvey Zack 2385128abb 优化 playlist 2019-04-22 13:08:39 +08:00
Harvey Zack 328d580fb7 Update index.js 2019-04-22 11:30:06 +08:00
zhw2590582 9a0a02bf56 build all packages 2019-04-21 21:25:22 +08:00
zhw2590582 7bed66fdaf fix fullscreenEnabled bug 2019-04-21 21:16:24 +08:00
zhw2590582 c27d245003 Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2019-04-21 20:42:23 +08:00
zhw2590582 e453033792 修复提示语坐标bug 2019-04-21 20:42:17 +08:00
Harvey Zack 273c199df2 Update index.html 2019-04-21 18:42:29 +08:00
Harvey Zack b84ae21907 Update README.md 2019-04-21 18:32:37 +08:00
Harvey Zack cc71a27ad2 Update README.md 2019-04-21 18:32:13 +08:00
zhw2590582 a04900bcba typofix 2019-04-21 18:04:18 +08:00
zhw2590582 ca75dbd637 Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2019-04-21 18:00:10 +08:00
zhw2590582 7fb29496fe 添加播放列表自动循环 2019-04-21 18:00:02 +08:00
Harvey Zack d867a25a51 Update README.md 2019-04-21 12:43:41 +08:00
Harvey Zack 6fef6881be Update README.md 2019-04-21 12:34:41 +08:00
zhw2590582 2ebdfb4a2d add artplayerPluginPlaylist:change 2019-04-21 12:28:52 +08:00
zhw2590582 a056983047 移除列表自动播放 2019-04-21 12:00:36 +08:00
zhw2590582 3b172ffa93 build all packages 2019-04-21 11:57:44 +08:00
zhw2590582 9de6e12671 Update README.md 2019-04-21 10:06:06 +08:00
zhw2590582 cfafcf4959 add artplayerPluginPlaylist 2019-04-21 10:03:31 +08:00
zhw2590582 53c5502b0f 调整设置面板样式 2019-04-21 09:34:56 +08:00
Harvey Zack 8b88db6e71 Update index.js 2019-04-21 08:31:07 +08:00
Harvey Zack 3bb7a77b28 Update README.md 2019-04-21 08:04:20 +08:00
Harvey Zack 74bc9ba312 Update README.md 2019-04-21 08:03:54 +08:00
Harvey Zack dea98cbf7c Update README.md 2019-04-21 08:03:30 +08:00
Harvey Zack 6cbc84b47f Update README.md 2019-04-21 08:02:58 +08:00
zhw2590582 8a6e438d3b Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2019-04-20 23:00:53 +08:00
zhw2590582 06b15dc278 add mobile.html 2019-04-20 23:00:44 +08:00
Harvey Zack 60e64dd68e Update backlight.js 2019-04-20 22:47:13 +08:00
zhw2590582 1dd4a90734 Update index.html 2019-04-20 21:54:34 +08:00
zhw2590582 da2df1aa95 优化预览图demo 2019-04-20 21:53:03 +08:00
Harvey Zack e269d89821 Update style.css 2019-04-20 21:14:15 +08:00
zhw2590582 5c6245a8b8 style fix 2019-04-20 21:11:17 +08:00
zhw2590582 a9a3796744 添加更多菜单 2019-04-20 19:49:08 +08:00
Harvey Zack 8495892a75 fix docs 2019-04-20 18:06:32 +08:00
Harvey Zack 6da839465b Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2019-04-20 18:00:25 +08:00
Harvey Zack 59e3a43e3d build all packages 2019-04-20 17:59:28 +08:00
Harvey Zack 1cae225112 Update README.md 2019-04-20 17:53:10 +08:00
Harvey Zack af12acba9d add artplayer-tool-thumbnail demo 2019-04-20 17:51:08 +08:00
Harvey Zack 64c21d04bd Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2019-04-20 16:59:43 +08:00
Harvey Zack 935accdad2 fix gif 2019-04-20 16:58:41 +08:00
Harvey Zack 0aeb916e3d Merge pull request #20 from zhw2590582/new-docs
add gif demo
2019-04-20 16:56:45 +08:00
Harvey Zack 2f16d173da add gif demo 2019-04-20 16:55:20 +08:00
Harvey Zack 61913d1b75 Merge pull request #19 from zhw2590582/new-docs
New docs
2019-04-20 16:21:06 +08:00
Harvey Zack e47674f346 完成新docs结构 2019-04-20 16:20:14 +08:00
Harvey Zack f2947edacb new docs init 2019-04-20 12:46:15 +08:00
Harvey Zack f04493a8fa fix fullscreenEnabled 2019-04-20 12:13:48 +08:00
Harvey Zack 7d7dec5d93 Update index.js 2019-04-20 06:20:31 +08:00
Harvey Zack 1353ef0aaa build all packages 2019-04-19 17:01:21 +08:00
Harvey Zack 18d3523799 v3.1.6 2019-04-19 17:00:56 +08:00
Harvey Zack 008232ea14 Update artplayer.d.ts 2019-04-19 16:51:12 +08:00
Harvey Zack 94405a7240 修改d.ts 2019-04-19 16:39:09 +08:00
Harvey Zack 95bbe6f3b2 add ts 2019-04-19 15:41:12 +08:00
Harvey Zack 965e3e008f add getScreenshotBlobUrl 2019-04-19 14:28:33 +08:00
Harvey Zack 078507356a fix bug 2019-04-19 12:51:39 +08:00
Harvey Zack 769855be79 fix miniProgressBar timer 2019-04-19 11:26:56 +08:00
Harvey Zack 87d068dd68 build all packages 2019-04-19 09:56:19 +08:00
Harvey Zack 48436c008d Merge branch 'master' of https://github.com/zhw2590582/ArtPlayer 2019-04-19 08:51:16 +08:00
Harvey Zack f457fa779c 消除timer 2019-04-19 08:51:01 +08:00
zhw2590582 6ee14a9ff0 修改info精度 2019-04-19 06:55:26 +08:00
赵海伟 a5cda26b80 build all packages 2019-04-19 06:39:04 +08:00
Harvey Zack b787a3bb99 Update index.js 2019-04-18 21:48:24 +08:00
Harvey Zack 662531b35f Update index.js 2019-04-18 21:37:31 +08:00
Harvey Zack b434fa0d79 Update screenshot.js 2019-04-18 20:23:24 +08:00
Harvey Zack 966e25d13a Update screenshotMix.js 2019-04-18 20:22:39 +08:00
Harvey Zack 09a6c67c75 更新webkit样式 2019-04-18 18:26:59 +08:00
Harvey Zack 00c8054a8b update demo url 2019-04-18 18:10:30 +08:00
Harvey Zack 2d6ac77747 update 2019-04-18 18:08:50 +08:00
Harvey Zack a2c3e0d019 add artplayerPluginBacklight 2019-04-18 17:00:51 +08:00
Harvey Zack 80e04f7a4b fix style 2019-04-18 12:25:44 +08:00
Harvey Zack a3c4dcd051 Update README.md 2019-04-17 20:58:14 +08:00
Harvey Zack 6fd9a4f950 Update README.md 2019-04-17 20:53:57 +08:00
Harvey Zack aab55bf2fb Update README.md 2019-04-17 20:53:40 +08:00
Harvey Zack e71a675219 Update common.js 2019-04-17 20:52:31 +08:00
Harvey Zack b01e366f0a Update README.md 2019-04-17 20:52:01 +08:00
Harvey Zack 743662c5db Update index.html 2019-04-17 20:51:29 +08:00
Harvey Zack 8a9dc135ed Update index.html 2019-04-17 20:51:09 +08:00
Harvey Zack bb2d871826 Update example.js 2019-04-17 20:50:45 +08:00
Harvey Zack e7d0326dad Update README.md 2019-04-17 20:49:40 +08:00
Harvey Zack 5d5a90f195 Update README.md 2019-04-17 20:48:47 +08:00
Harvey Zack 7c86519e46 Update mobile.js 2019-04-17 20:47:59 +08:00
Harvey Zack 3baa3d5720 Update README.md 2019-04-17 20:47:22 +08:00
Harvey Zack 8ffa1ff2da fix js src 2019-04-16 14:28:35 +08:00
Harvey Zack 381a7e657e 修改多实例时的图标bug 2019-04-16 14:26:16 +08:00
Harvey Zack 1573364202 Update README.md 2019-04-16 12:09:43 +08:00
Harvey Zack f85e300d77 Update README.md 2019-04-16 12:09:27 +08:00
Harvey Zack fbe54980e3 build all packages 2019-04-16 11:47:22 +08:00
Harvey Zack 32a502cef3 v3.1.5 2019-04-16 11:47:00 +08:00
Harvey Zack 70a389ae37 npm fix 2019-04-16 11:46:49 +08:00
Harvey Zack 3ffd48d464 build all packages 2019-04-16 11:46:02 +08:00
Harvey Zack 7f8ea62e18 v3.1.4 2019-04-16 11:45:37 +08:00
Harvey Zack 507ce40213 npm fix 2019-04-16 11:45:21 +08:00
Harvey Zack a36eb4ab02 build all packages 2019-04-16 11:39:40 +08:00
Harvey Zack a78880dac9 v3.1.3 2019-04-16 11:39:18 +08:00
Harvey Zack d6a36558c5 npm fix 2019-04-16 11:39:06 +08:00
Harvey Zack 66e0519707 build all packages 2019-04-16 11:38:06 +08:00
Harvey Zack dc637e879f v3.1.2 2019-04-16 11:37:33 +08:00
Harvey Zack 21a03468a3 npm fix 2019-04-16 11:37:18 +08:00
Harvey Zack 9d2e1d1a6d build all packages 2019-04-16 11:35:11 +08:00
Harvey Zack 806c95e8ea build all packages 2019-04-16 11:34:09 +08:00
Harvey Zack f539c69eb4 v3.1.1 2019-04-16 11:33:37 +08:00
Harvey Zack f859640be2 build all packages 2019-04-16 11:33:00 +08:00
324 changed files with 24270 additions and 13403 deletions

No files matched your search

+1
View File
@@ -0,0 +1 @@
last 2 version
+20 -36
View File
@@ -1,37 +1,21 @@
{
"parser": "babel-eslint",
"extends": ["airbnb-base", "prettier"],
"env": {
"browser": true,
"es6": true
},
"globals": {
"Artplayer": false,
"jQuery": false
},
"rules": {
"class-methods-use-this": 2,
"no-console": 0,
"import/no-cycle": 1,
"no-const-assign": 1,
"no-shadow": 0,
"no-this-before-super": 1,
"no-undef": 1,
"no-unreachable": 1,
"no-unused-vars": 1,
"constructor-super": 1,
"valid-typeof": 1,
"indent": [2, 4, { "SwitchCase": 1 }],
"quotes": [2, "single", "avoid-escape"],
"semi": [2, "always"],
"eqeqeq": [2, "always"],
"one-var": [2, "never"],
"comma-dangle": [2, "always-multiline"],
"spaced-comment": [2, "always"],
"no-restricted-globals": 2,
"no-param-reassign": [2, { "props": false }]
},
"parserOptions": {
"sourceType": "module"
}
}
"parser": "babel-eslint",
"extends": [
"airbnb-base",
"prettier"
],
"env": {
"browser": true,
"es6": true
},
"rules": {
"no-shadow": 0,
"no-param-reassign": 0,
"prefer-object-spread": 0,
"prefer-destructuring": 0,
"import/named": 0
},
"parserOptions": {
"sourceType": "module"
}
}
+4 -4
View File
@@ -11,10 +11,10 @@ about: Report an issue or unexpected behaviour with Artplayer
### Environment
- Browser:
- Version:
- Operating System:
- Version:
- Browser:
- Version:
- Operating System:
- Version:
### Console errors (if any)
+31
View File
@@ -0,0 +1,31 @@
name: Node CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: npm install, lint, build, and test
run: |
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
npm install
npm install packages/* && npx lerna bootstrap --hoist
npm run lint
npm run build:all
npm run test
npm run sizereport
env:
CI: true
+42
View File
@@ -0,0 +1,42 @@
{
"packages/artplayer/dist/artplayer.js": {
"bundled": 189427,
"minified": 110151,
"gzipped": 26061
},
"packages/artplayer-plugin-backlight/dist/artplayer-plugin-backlight.js": {
"bundled": 4629,
"minified": 1985,
"gzipped": 955
},
"packages/artplayer-tool-github/dist/artplayer-tool-github.js": {
"bundled": 12660,
"minified": 12305,
"gzipped": 4307
},
"packages/artplayer-plugin-gif/dist/artplayer-plugin-gif.js": {
"bundled": 98490,
"minified": 28883,
"gzipped": 10422
},
"packages/artplayer-tool-thumbnail/dist/artplayer-tool-thumbnail.js": {
"bundled": 15973,
"minified": 7709,
"gzipped": 2786
},
"packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js": {
"bundled": 24161,
"minified": 12813,
"gzipped": 4163
},
"packages/artplayer-vue/dist/artplayer-vue.js": {
"bundled": 190986,
"minified": 111074,
"gzipped": 26215
},
"packages/artplayer-react/dist/artplayer-react.js": {
"bundled": 272921,
"minified": 139649,
"gzipped": 35314
}
}
+9 -6
View File
@@ -1,13 +1,16 @@
language: node_js
node_js:
- stable
- stable
before_script:
- npm install
- npm i packages/* && lerna bootstrap --hoist
- npm install
- npm i packages/* && lerna bootstrap --hoist
script:
- npm run lint
- npm run build:all
- npm run test
- npm run lint
- npm run build:all
- npm run test
after_success:
- npm run sizereport
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

+133
View File
@@ -0,0 +1,133 @@
# ArtPlayer.js
> :art: ArtPlayer.js 是一个现代全功能的 HTML5 视频播放器
[![Build Status](https://www.travis-ci.org/zhw2590582/ArtPlayer.svg?branch=master)](https://www.travis-ci.org/zhw2590582/ArtPlayer)
![version](https://badgen.net/npm/v/artplayer)
![license](https://badgen.net/npm/license/artplayer)
![size](https://badgen.net/bundlephobia/minzip/artplayer)
[![npm Downloads](https://img.shields.io/npm/dt/artplayer.svg)](https://www.npmjs.com/package/artplayer)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/354e9953b70a4791a5a46194d587c707)](https://www.codacy.com/app/zhw2590582/ArtPlayer?utm_source=github.com&utm_medium=referral&utm_content=zhw2590582/ArtPlayer&utm_campaign=Badge_Grade)
[![dependencies Status](https://david-dm.org/zhw2590582/artplayer/status.svg)](https://david-dm.org/zhw2590582/artplayer)
![Screenshot](./images/screenshot.png)
## Features
- <b>大小</b> - 缩小并压缩后的大小只有`25kb`
- <b>字幕</b> - 支持 `.VTT`, `.ASS` 和 `.SRT` 格式
- <b>自定义</b> - `右键菜单`, `业务图层`, `视频控制器` 和 `设置面板`
- <b>控制器</b> - `画质切换`, `字幕切换`, `播放速度`, `长宽比`, `视频翻转`, `全屏`, `画中画`, `截图`, `缩略图`, `自适应尺寸`, `高亮` 和 `热键`...
- <b>内建</b> - `打开本地字幕`, `打开本地视频`, `迷你进度条`, `网络监测` 和 `字幕时间偏移`
- <b>集成</b> - 容易与其它依赖集成:`flv.js`, `hls.js`, `dash.js`, `shaka-player`, `webtorrent`...
- <b>代码</b> - 纯 `ES6` 和 `SASS`, 高解耦的代码, 清晰的结构, 容易跟踪 `Bug` 和添加新功能
- <b>文档</b> - 详尽的接口文档和丰富的代码演示
- <b>接口</b> - 丰富的接口和响应事件, 容易对接到业务或者自定义插件
- <b>多语言</b> - 支持控件的国际化
## 生态
| 项目 | 描述 | 演示 |
| --------------------------------------------------------------------------------------------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| [artplayer-plugin-danmuku](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-plugin-danmuku) | 弹幕库插件 | [demo](https://artplayer.org/?libs=.%2Funcompiled%2Fartplayer-plugin-danmuku.js&example=danmuku) |
| [artplayer-plugin-gif](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-plugin-gif) | GIF 生成插件 | [demo](https://artplayer.org/?libs=.%2Funcompiled%2Fartplayer-plugin-gif.js&example=gif) |
| [artplayer-plugin-backlight](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-plugin-backlight) | 背光插件 | [demo](https://artplayer.org/?libs=.%2Funcompiled%2Fartplayer-plugin-backlight.js&example=backlight) |
| [artplayer-tool-thumbnail](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-tool-thumbnail) | 缩略图生成工具 | [demo](https://artplayer.org/?libs=.%2Funcompiled%2Fartplayer-tool-thumbnail.js&example=thumbnail) |
| [artplayer-tool-github](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-tool-github) | Github 弹幕库工具 | [demo](https://artplayer.org/?libs=.%2Funcompiled%2Fartplayer-tool-github.js%0A.%2Funcompiled%2Fartplayer-plugin-danmuku.js&example=github) | |
| [artplayer-react](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-react) | React 组件 | [demo](https://codesandbox.io/s/n74859y9rl) |
| [artplayer-vue](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-vue) | Vue 组件 | [demo](https://codesandbox.io/s/6z76lm109n) |
## 演示
[打开 Github Pages 演示](https://artplayer.org/)
## 手机端演示
![mobile](./images/mobile.png)
## 文档
[打开 Github Pages 文档](https://artplayer.org/document)
## 安装
通过 `npm` 安装:
```bash
$ npm install artplayer
```
或者通过 `yarn` 安装:
```bash
$ yarn add artplayer
```
```js
import Artplayer from 'artplayer';
```
或者直接引入`umd`文件:
```html
<script src="path/to/artplayer.js"></script>
```
或者从 jsDelivr CDN 引入:
```html
<script src="https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js"></script>
```
将会导出全局变量到`window.Artplayer`.
## 使用
```html
<div class="artplayer-app"></div>
```
```js
var art = new Artplayer({
container: '.artplayer-app',
url: 'path/to/video.mp4',
});
```
## 贡献
安装依赖:
```bash
$ npm install
$ npm run bootstrap
```
运行开发人员模式,然后选择要开发的项目:
```bash
$ npm run dev
```
开启网页服务器:
```bash
$ npm start
```
## 捐助
我们通过这些渠道接受捐赠:
- [Patreon](https://www.patreon.com/artplayer)
- [Paypal](https://www.paypal.me/harveyzack)
- [微信支付](./images/wechatpay.jpg)
- [支付宝](./images/alipay.jpg)
## QQ 群
![QQ Group](./images/qqgroup.png)
## 证书
MIT © [Harvey Zack](https://sleepy.im/)
+75 -40
View File
@@ -1,77 +1,86 @@
# ArtPlayer
# ArtPlayer.js
- [中文介绍](./README-CN.md)
> :art: ArtPlayer.js is a modern and full featured HTML5 video player
[![Build Status](https://www.travis-ci.org/zhw2590582/ArtPlayer.svg?branch=master)](https://www.travis-ci.org/zhw2590582/ArtPlayer)
![version](https://badgen.net/npm/v/artplayer)
![license](https://badgen.net/npm/license/artplayer)
![size](https://badgen.net/bundlephobia/minzip/artplayer)
[![npm Downloads](https://img.shields.io/npm/dt/artplayer.svg)](https://www.npmjs.com/package/artplayer)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/354e9953b70a4791a5a46194d587c707)](https://www.codacy.com/app/zhw2590582/ArtPlayer?utm_source=github.com&utm_medium=referral&utm_content=zhw2590582/ArtPlayer&utm_campaign=Badge_Grade)
[![dependencies Status](https://david-dm.org/zhw2590582/artplayer/status.svg)](https://david-dm.org/zhw2590582/artplayer)
> ArtPlayer is a modern HTML5 video player
![Screenshot](./screenshot.png)
![Screenshot](./images/screenshot.png)
## Features
- Support `vtt` and `srt` subtitles
- Support video quality switching
- Support for custom `control`, `layer`, `contextmenu`, `setting`
- Support `playback rate`, `aspect ratio`, `flip`, `window fullscreen` or `web fullscreen` adjustment
- Support integration with other dependencies, like: `flv.js`, `hls.js`, `dash.js`, `shaka-player`, `webtorrent`
- Support chrome native picture-in-picture mode, or custom picture-in-picture mode
- Support `thumbnails` and `highlight` in the progress bar
- Support to maintain the original video ratio, adaptive size
- Support rich custom event monitoring, easy to expand
- Support for internationalization of controls
- Support for custom plugins
- Support local video preview
- Support subtitle time offset
- Support `screenshot`
- And more...
- <b>Size</b> - `25kB` minified and gzipped
- <b>Subtitle</b> - Support for `.VTT`, `.ASS` and `.SRT` formats
- <b>Customizable</b> - `Right Click Menu`, `Business Layer`, `Video Controller` and `Settings Panel`
- <b>Controller</b> - `Quality Switch`, `Subtitle Switch`, `Play Speed`, `Aspect Ratio`, `Video Flip`, `Fullscreen`, `Picture In Picture`, `Screenshot`, `Thumbnail`, `Adaptive Size`, `Highlight` and `Hotkey`...
- <b>Built-in</b> - `Open Local Subtitles`, `Open Local Video`, `Mini Progress Bar`, `Network Detection` and `Subtitle Time Offset`
- <b>Integration</b> - Easy to integration with other dependencies: `flv.js`, `hls.js`, `dash.js`, `shaka-player`, `webtorrent`...
- <b>Code</b> - Vanilla `ES6` and `SASS`, Highly decoupled code, clear structure, easy to track bugs and add new features
- <b>Document</b> - Detailed interface documentation and rich code demo
- <b>API</b> - Rich interface and response events, easy to interface with business or custom plugin
- <b>I18N</b> - support for internationalization of controls
## Ecosystem
| Project | Description | Demo |
| ----------------------------------------------------------------------------------------------------------------- | ----------------------------- | ------------------------------------------- |
| [artplayer-plugin-danmu](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-plugin-danmu) | Danmu plugin for ArtPlayer | `WIP` |
| [artplayer-plugin-flv](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-plugin-flv) | Flv plugin for ArtPlayer | `WIP` |
| [artplayer-plugin-gif](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-plugin-gif) | Gif plugin for ArtPlayer | [demo](https://artplayer.org/gif/) |
| [artplayer-tool-thumbnail](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-tool-thumbnail) | Thumbnail tool for ArtPlayer | [demo](https://artplayer.org/thumbnail/) |
| [artplayer-react](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-react) | React Component for Artplayer | [demo](https://codesandbox.io/s/n74859y9rl) |
| [artplayer-vue](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-vue) | Vue Component for Artplayer | [demo](https://codesandbox.io/s/6z76lm109n) |
| Project | Description | Demo |
| --------------------------------------------------------------------------------------------------------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| [artplayer-plugin-danmuku](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-plugin-danmuku) | Danmuku plugin | [demo](https://artplayer.org/?libs=.%2Funcompiled%2Fartplayer-plugin-danmuku.js&example=danmuku) |
| [artplayer-plugin-gif](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-plugin-gif) | Gif plugin | [demo](https://artplayer.org/?libs=.%2Funcompiled%2Fartplayer-plugin-gif.js&example=gif) |
| [artplayer-plugin-backlight](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-plugin-backlight) | Backlight plugin | [demo](https://artplayer.org/?libs=.%2Funcompiled%2Fartplayer-plugin-backlight.js&example=backlight) |
| [artplayer-tool-thumbnail](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-tool-thumbnail) | Thumbnail tool | [demo](https://artplayer.org/?libs=.%2Funcompiled%2Fartplayer-tool-thumbnail.js&example=thumbnail) |
| [artplayer-tool-github](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-tool-github) | Github Danmuku tool | [demo](https://artplayer.org/?libs=.%2Funcompiled%2Fartplayer-tool-github.js%0A.%2Funcompiled%2Fartplayer-plugin-danmuku.js&example=github) | |
| [artplayer-react](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-react) | React Component | [demo](https://codesandbox.io/s/n74859y9rl) |
| [artplayer-vue](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-vue) | Vue Component | [demo](https://codesandbox.io/s/6z76lm109n) |
## Demo
[Checkout the demo](https://artplayer.org/lab/) from Github Pages
[Checkout the demo](https://artplayer.org/) from Github Pages
## Mobile Demo
![mobile](./images/mobile.png)
## Document
[Checkout the Document](https://artplayer.org/docs) from Github Pages
[Checkout the Document](https://artplayer.org/document) from Github Pages
## Install
Install with `npm`
Install with `npm`:
```
```bash
$ npm install artplayer
```
Or install with `yarn`
Or install with `yarn`:
```
```bash
$ yarn add artplayer
```
```js
import Artplayer from 'artplayer';
import 'artplayer/dist/artplayer.css';
```
Or umd builds are also available
Or umd builds are also available:
```html
<link rel="stylesheet" href="path/to/artplayer.css" />
<script src="path/to/artplayer.js"></script>
```
Or from jsDelivr CDN:
```html
<script src="https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js"></script>
```
Will expose the global variable to `window.Artplayer`.
## Usage
@@ -87,14 +96,40 @@ var art = new Artplayer({
});
```
## Changelog
## Contribution
[Checkout the changelog](https://github.com/zhw2590582/ArtPlayer/blob/master/changelog.md)
Installation dependency:
```bash
$ npm install
$ npm run bootstrap
```
Run the developer mode and select the project you want to develop:
```bash
$ npm run dev
```
Open web server:
```bash
$ npm start
```
## Donations
We accept donations through these channels:
![pay](./images/pay.png)
- [Patreon](https://www.patreon.com/artplayer)
- [Paypal](https://www.paypal.me/harveyzack)
## QQ Group
![QQ Group](./QQgroup.png)
![QQ Group](./images/qqgroup.png)
## License
MIT © [Harvey Zack](https://www.zhw-island.com/)
MIT © [Harvey Zack](https://sleepy.im/)
View File
Whitespace-only changes.
+8
View File
@@ -0,0 +1,8 @@
/*!
* artplayer-plugin-backlight.js v3.5.5
* Github: https://github.com/zhw2590582/ArtPlayer#readme
* (c) 2017-2020 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=t||self).artplayerPluginBacklight=e()}(this,(function(){"use strict";function t(t){for(var e=[],o=0;o<10;o+=1)for(var n=0;n<5;n+=1)0!==o&&9!==o&&0!==n&&4!==n||e.push(t(o,n,10,5));return e}return function(e){var o=e.constructor.utils.setStyles,n=e.template,a=n.$player,r=n.$video,i=e.player,c=document.createElement("div");c.classList.add("artplayer-backlight"),o(c,{position:"absolute",zIndex:9,left:0,top:0,right:0,bottom:0,width:"100%",height:"100%"});var l,s=(l=c,t((function(t,e,o,n){var a=document.createElement("div");return a.style.position="absolute",a.style.left="".concat(100*t/o,"%"),a.style.top="".concat(100*e/n,"%"),a.style.width="".concat(100/o,"%"),a.style.height="".concat(100/n,"%"),a.style.webkitBorderRadius="50%",a.style.borderRadius="50%",a.style.webkitTransition="all .2s ease",a.style.transition="all .2s ease",l.appendChild(a),{$box:a,left:0===t,right:t===o-1,top:0===e,bottom:e===n-1}}))),u=document.createElement("canvas");return a.insertBefore(c,r),function o(){setTimeout((function(){if(i.playing){var n=r.clientWidth,a=r.clientHeight;(function(e,o,n,a){var r=e.getContext("2d");return e.width=n,e.height=a,r.drawImage(o,0,0),t((function(t,e,o,i){for(var c=n/o,l=a/i,s=t*c,u=e*l,d=r.getImageData(s,u,c,l).data,f=0,h=0,p=0,g=0,y=d.length;g<y;g+=4)f+=d[g],h+=d[g+1],p+=d[g+2];return{r:f=Math.floor(f/(d.length/4)),g:h=Math.floor(h/(d.length/4)),b:p=Math.floor(p/(d.length/4))}}))})(u,r,n,a).forEach((function(t,e){var o=t.r,n=t.g,a=t.b,r=s[e],i=r.$box,c=r.left,l=r.right,u=r.top,d=r.bottom,f=c?"-64px":l?"64px":"0",h=u?"-64px":d?"64px":"0";i.style.webkitBoxShadow="rgb(".concat(o,", ").concat(n,", ").concat(a,") ").concat(f," ").concat(h," 128px"),i.style.boxShadow="rgb(".concat(o,", ").concat(n,", ").concat(a,") ").concat(f," ").concat(h," 128px")}))}e.isDestroy||o()}),200)}(),{name:"artplayerPluginBacklight"}}}));
-1
View File
@@ -1 +0,0 @@
.artplayerPluginDanmu{display:-webkit-box;display:-ms-flexbox;display:flex}
-8
View File
@@ -1,8 +0,0 @@
/*!
* artplayer-plugin-danmu.js v3.0.0
* Github: https://github.com/zhw2590582/ArtPlayer#readme
* (c) 2017-2019 Harvey Zack
* Released under the MIT License.
*/
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e=e||self)["artplayer-plugin-danmu"]=n()}(this,function(){"use strict";function e(e){var n=e.prototype;console.log(n)}return window.artplayerPluginDanmu=e});
+8
View File
@@ -0,0 +1,8 @@
/*!
* artplayer-plugin-danmuku.js v3.5.5
* Github: https://github.com/zhw2590582/ArtPlayer#readme
* (c) 2017-2020 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=t||self).artplayerPluginDanmuku=e()}(this,(function(){"use strict";var t=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t};var e=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};function n(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 i=function(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t},r={"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 a(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 o(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 s(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 u(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 l(t,e,n){return t.filter((function(t){return t.$state===e})).map(n)}function c(t,e){var n=t.getBoundingClientRect();return e?n[e]:n}var p=function(t){if(Array.isArray(t))return t};var f=function(t,e){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t)){var n=[],i=!0,r=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(i=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);i=!0);}catch(t){r=!0,a=t}finally{try{i||null==s.return||s.return()}finally{if(r)throw a}}return n}};var m=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")};var h=function(t,e){return p(t)||f(t,e)||m()};function d(t){switch(t){case 1:case 2:case 3:return 0;case 4:case 5:return 1;default:return 0}}function y(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.length?e.map((function(t){var e=t.match(/<d p="(.+)">(.+)<\/d>/),n=h(e,3),i=n[1],r=n[2],a=i.split(",");return 8===a.length&&r.trim()?{text:r,time:Number(a[0]),mode:d(Number(a[1])),fontSize:Number(a[2]),color:"#".concat(Number(a[3]).toString(16)),timestamp:Number(a[4]),pool:Number(a[5]),userID:a[6],rowID:Number(a[7])}:null})):[]}(t)}))}function g(t,e){var n=h(t.option.margiLine truncated
-8
View File
@@ -1,8 +0,0 @@
/*!
* artplayer-plugin-flv.js v3.0.0
* Github: https://github.com/zhw2590582/ArtPlayer#readme
* (c) 2017-2019 Harvey Zack
* Released under the MIT License.
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self)["artplayer-plugin-flv"]=t()}(this,function(){"use strict";var a=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")};function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var c=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e};function e(e,t){return e(t={exports:{}},t.exports),t.exports}var n=e(function(t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?t.exports=r=function(e){return n(e)}:t.exports=r=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":n(e)},r(e)}t.exports=r});var o=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e};var i=function(e,t){return!t||"object"!==n(t)&&"function"!=typeof t?o(e):t},u=e(function(t){function n(e){return t.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(e)}t.exports=n}),s=e(function(n){function r(e,t){return n.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(e,t)}n.exports=r});var t=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)};function f(){}f.prototype={on:function(e,t,n){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){var r=this;function o(){r.off(e,o),t.apply(n,arguments)}return o._=t,this.on(e,o,n)},emit:function(e){for(var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),r=0,o=n.length;r<o;r++)n[r].fn.apply(n[r].ctx,t);return this},off:function(e,t){var n=this.e||(this.e={}),r=n[e],o=[];if(r&&t)for(var i=0,a=r.length;i<a;i++)r[i].fn!==t&&r[i].fn._!==t&&o.push(r[i]);return o.length?n[e]=o:delete n[e],this}};var l=f,p=f;l.TinyEmitter=p;var d=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}};var h=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)};var v=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")};var y=function(e){return d(e)||h(e)||v()};var m=function(e){return-1!==Function.toString.call(e).indexOf("[native code]")},g=e(function(r){function o(e,t,n){return!function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}()?r.exports=o=function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&s(o,n.prototype),o}:r.exports=o=Reflect.construct,o.apply(null,arguments)}r.exports=o}),b=function(e){function r(e,t){var n;return a(this,r),n=i(this,u(r).call(this,e)),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(o(n),t||n.constructor),n.name="FlvError",n}return t(r,e),r}(e(function(t){function r(e){var n="function"==typeof Map?new Map:void 0;return t.exports=r=function(e){if(null===e||!m(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return g(e,arguments,u(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),s(t,e)},r(e)}t.exports=r})(Error));function w(e,t){if(!e)throw new b(t)}function S(e,t){var n=new e.constructor(e.length+t.length);return n.set(e),n.set(t,e.length),n}function k(r){return r.reduce(function(e,t,n){return e+t*Math.pow(256,r.length-n-1)},0)}function x(e){var t;return(t=String.fromCharCode).call.apply(t,[String].concat(y(e)))}function E(e){var n=new DataView(new ArrayBuffer(e.length));return e.forEach(function(e,t){n.setUint8(t,e)}),n.getFloat64(0)}function O(e){return 1===e}function T(o){var i=0;return function e(t){for(var n=new Uint8Array(t),r=0;r<t;r+=1)n[r]=o[i],i+=1;return e.index=i,n}}var j=Object.freeze({errorHandle:w,mergeTypedArrays:S,sleep:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0;return new Promise(function(e){return setTimeout(e,t)})},getUint8Sum:k,string2Bin:function(e){for(var t=[],n=0;n<e.length;n+=1)t.push(Number(e.charCodeAt(n).toString(10)));return t},bin2String:x,bin2Float:E,bin2Boolean:O,log:function(Line truncated
+3 -3
View File
@@ -1,8 +1,8 @@
/*!
* artplayer-plugin-gif.js v3.0.0
* artplayer-plugin-gif.js v3.5.5
* Github: https://github.com/zhw2590582/ArtPlayer#readme
* (c) 2017-2019 Harvey Zack
* (c) 2017-2020 Harvey Zack
* Released under the MIT License.
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self)["artplayer-plugin-gif"]=t()}(this,function(){"use strict";var n=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e};var x=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},i=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),i.forEach(function(e){n(t,e,r[e])})}return t};"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function e(e,t){return e(t={exports:{}},t.exports),t.exports}var k=e(function(C,e){!function(e,P,t,H){var r,i,z={URL:e.URL||e.webkitURL||e.mozURL||e.msURL,getUserMedia:(i=t.getUserMedia||t.webkitGetUserMedia||t.mozGetUserMedia||t.msGetUserMedia,i?i.bind(t):i),requestAnimFrame:e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame,requestTimeout:function(r,i){if(r=r||z.noop,i=i||0,!z.requestAnimFrame)return setTimeout(r,i);var n=(new Date).getTime(),o=new Object,a=z.requestAnimFrame;return o.value=a(function e(){var t=(new Date).getTime();i<=t-n?r.call():o.value=a(e)}),o},Blob:e.Blob||e.BlobBuilder||e.WebKitBlobBuilder||e.MozBlobBuilder||e.MSBlobBuilder,btoa:(r=e.btoa||function(e){for(var t="",r=0,i=e.length,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o=void 0,a=void 0,s=void 0,c=void 0,d=void 0,l=void 0,u=void 0;r<i;)c=(o=e.charCodeAt(r++))>>2,d=(3&o)<<4|(a=e.charCodeAt(r++))>>4,l=(15&a)<<2|(s=e.charCodeAt(r++))>>6,u=63&s,isNaN(a)?l=u=64:isNaN(s)&&(u=64),t=t+n.charAt(c)+n.charAt(d)+n.charAt(l)+n.charAt(u);return t},r?r.bind(e):z.noop),isObject:function(e){return e&&"[object Object]"===Object.prototype.toString.call(e)},isEmptyObject:function(e){return z.isObject(e)&&!Object.keys(e).length},isArray:function(e){return e&&Array.isArray(e)},isFunction:function(e){return e&&"function"==typeof e},isElement:function(e){return e&&1===e.nodeType},isString:function(e){return"string"==typeof e||"[object String]"===Object.prototype.toString.call(e)},isSupported:{canvas:function(){var e=P.createElement("canvas");return e&&e.getContext&&e.getContext("2d")},webworkers:function(){return e.Worker},blob:function(){return z.Blob},Uint8Array:function(){return e.Uint8Array},Uint32Array:function(){return e.Uint32Array},videoCodecs:function(){var e=P.createElement("video"),t={mp4:!1,h264:!1,ogv:!1,ogg:!1,webm:!1};try{e&&e.canPlayType&&(t.mp4=""!==e.canPlayType('video/mp4; codecs="mp4v.20.8"'),t.h264=""!==(e.canPlayType('video/mp4; codecs="avc1.42E01E"')||e.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"')),t.ogv=""!==e.canPlayType('video/ogg; codecs="theora"'),t.ogg=""!==e.canPlayType('video/ogg; codecs="theora"'),t.webm=-1!==e.canPlayType('video/webm; codecs="vp8, vorbis"'))}catch(e){}return t}()},noop:function(){},each:function(e,t){var r=void 0,i=void 0;if(z.isArray(e))for(r=-1,i=e.length;++r<i&&!1!==t(r,e[r]););else if(z.isObject(e))for(r in e)if(e.hasOwnProperty(r)&&!1===t(r,e[r]))break},mergeOptions:function(i,n){if(z.isObject(i)&&z.isObject(n)&&Object.keys){var o={};return z.each(i,function(e,t){o[e]=i[e]}),z.each(n,function(e,t){var r=n[e];z.isObject(r)&&i[e]?o[e]=z.mergeOptions(i[e],r):o[e]=r}),o}},setCSSAttr:function(r,e,t){z.isElement(r)&&(z.isString(e)&&z.isString(t)?r.style[e]=t:z.isObject(e)&&z.each(e,function(e,t){r.style[e]=t}))},removeElement:function(e){z.isElement(e)&&e.parentNode&&e.parentNode.removeChild(e)},createWebWorker:function(e){if(!z.isString(e))return{};try{var t=new z.Blob([e],{type:"text/javascript"}),r=z.URL.createObjectURL(t);return{objectUrl:r,worker:new Worker(r)}}catch(e){return""+e}},getExtension:function(e){return e.substr(e.lastIndexOf(".")+1,e.length)},getFontSize:function(){var e=0<arguments.length&&arguments[0]!==H?arguments[0]:{};if(!P.body||!1===e.resizeFont)return e.fontSize;var t=e.text,r=e.gifWidth,i=parseInt(e.fontSize,10),n=parseInt(e.minFontSize,10),o=P.createElement("div"),a=P.createElement("span");for(o.setAttribute("width",r),o.appendChild(a),a.innerHTML=t,a.style.fontSize=i+"px",a.style.textIndent="-9999px",a.style.visibility="hidden",P.body.appendChild(a);a.offsetWidth>r&&n<=i;)a.style.fontSize=--i+"px";return P.body.removeChild(a),i+"px"},webWorkerError:!1},n=Object.freeze({default:z}),u={validate:function(i){i=z.isObject(i)?i:{};var n={};return z.each(u.validators,function(e,t){var r=t.errorCode;if(!i[r]&&!t.condition)return!((n=t).error=!0)}),delete n.condition,n},isValid:function(e){var t=!0!==u.validate(e).error;return t},validators:[{condition:z.isFunction(z.getUserMedia),errorCode:"getUserMedia",errorMsg:"The getUserMedia API is not supported in your browser"},{conditioLine truncated
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).artplayerPluginGif=t()}(this,(function(){"use strict";var e=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e};"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function t(e,t){return e(t={exports:{}},t.exports),t.exports}var r=t((function(e,t){!function(t,r,i,n){var o,a,s={URL:t.URL||t.webkitURL||t.mozURL||t.msURL,getUserMedia:(a=i.getUserMedia||i.webkitGetUserMedia||i.mozGetUserMedia||i.msGetUserMedia,a?a.bind(i):a),requestAnimFrame:t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame,requestTimeout:function(e,t){if(e=e||s.noop,t=t||0,!s.requestAnimFrame)return setTimeout(e,t);var r=(new Date).getTime(),i=new Object,n=s.requestAnimFrame;return i.value=n((function o(){(new Date).getTime()-r>=t?e.call():i.value=n(o)})),i},Blob:t.Blob||t.BlobBuilder||t.WebKitBlobBuilder||t.MozBlobBuilder||t.MSBlobBuilder,btoa:(o=t.btoa||function(e){for(var t="",r=0,i=e.length,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o=void 0,a=void 0,s=void 0,c=void 0,d=void 0,l=void 0,u=void 0;r<i;)c=(o=e.charCodeAt(r++))>>2,d=(3&o)<<4|(a=e.charCodeAt(r++))>>4,l=(15&a)<<2|(s=e.charCodeAt(r++))>>6,u=63&s,isNaN(a)?l=u=64:isNaN(s)&&(u=64),t=t+n.charAt(c)+n.charAt(d)+n.charAt(l)+n.charAt(u);return t},o?o.bind(t):s.noop),isObject:function(e){return e&&"[object Object]"===Object.prototype.toString.call(e)},isEmptyObject:function(e){return s.isObject(e)&&!Object.keys(e).length},isArray:function(e){return e&&Array.isArray(e)},isFunction:function(e){return e&&"function"==typeof e},isElement:function(e){return e&&1===e.nodeType},isString:function(e){return"string"==typeof e||"[object String]"===Object.prototype.toString.call(e)},isSupported:{canvas:function(){var e=r.createElement("canvas");return e&&e.getContext&&e.getContext("2d")},webworkers:function(){return t.Worker},blob:function(){return s.Blob},Uint8Array:function(){return t.Uint8Array},Uint32Array:function(){return t.Uint32Array},videoCodecs:function(){var e=r.createElement("video"),t={mp4:!1,h264:!1,ogv:!1,ogg:!1,webm:!1};try{e&&e.canPlayType&&(t.mp4=""!==e.canPlayType('video/mp4; codecs="mp4v.20.8"'),t.h264=""!==(e.canPlayType('video/mp4; codecs="avc1.42E01E"')||e.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"')),t.ogv=""!==e.canPlayType('video/ogg; codecs="theora"'),t.ogg=""!==e.canPlayType('video/ogg; codecs="theora"'),t.webm=-1!==e.canPlayType('video/webm; codecs="vp8, vorbis"'))}catch(e){}return t}()},noop:function(){},each:function(e,t){var r=void 0,i=void 0;if(s.isArray(e))for(r=-1,i=e.length;++r<i&&!1!==t(r,e[r]););else if(s.isObject(e))for(r in e)if(e.hasOwnProperty(r)&&!1===t(r,e[r]))break},mergeOptions:function(e,t){if(s.isObject(e)&&s.isObject(t)&&Object.keys){var r={};return s.each(e,(function(t,i){r[t]=e[t]})),s.each(t,(function(i,n){var o=t[i];s.isObject(o)&&e[i]?r[i]=s.mergeOptions(e[i],o):r[i]=o})),r}},setCSSAttr:function(e,t,r){s.isElement(e)&&(s.isString(t)&&s.isString(r)?e.style[t]=r:s.isObject(t)&&s.each(t,(function(t,r){e.style[t]=r})))},removeElement:function(e){s.isElement(e)&&e.parentNode&&e.parentNode.removeChild(e)},createWebWorker:function(e){if(!s.isString(e))return{};try{var t=new s.Blob([e],{type:"text/javascript"}),r=s.URL.createObjectURL(t);return{objectUrl:r,worker:new Worker(r)}}catch(e){return""+e}},getExtension:function(e){return e.substr(e.lastIndexOf(".")+1,e.length)},getFontSize:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r.body||!1===e.resizeFont)return e.fontSize;var t=e.text,i=e.gifWidth,n=parseInt(e.fontSize,10),o=parseInt(e.minFontSize,10),a=r.createElement("div"),s=r.createElement("span");for(a.setAttribute("width",i),a.appendChild(s),s.innerHTML=t,s.style.fontSize=n+"px",s.style.textIndent="-9999px",s.style.visibility="hidden",r.body.appendChild(s);s.offsetWidth>i&&n>=o;)s.style.fontSize=--n+"px";return r.body.removeChild(s),n+"px"},webWorkerError:!1},c=Object.freeze({default:s}),d={validate:function(e){e=s.isObject(e)?e:{};var t={};return s.each(d.validators,(function(r,i){var n=i.errorCode;if(!e[n]&&!i.condition)return(t=i).error=!0,!1})),delete t.condition,t},isValid:function(e){var t=!0!==d.validate(e).error;return t},validators:[{condition:s.isFunction(s.getUserMedia),errorCode:"getUserMedia",errorMsg:"The getUserMedia API is not supported in your browser"},{condition:s.isSupported.canvas(),errorCode:"canvas",errorMsg:"Canvas elements are not supported in your browser"},{condition:s.isSupported.webworkers(),errorCode:"webworkers",errorMsg:"The Web Workers API is not supported in your browser"},{condition:s.isFunction(s.URL),errorCode:"window.URL",errorMsg:"The window.URL API is not supLine truncated
-1
View File
@@ -1 +0,0 @@
.artplayer-video-player{position:relative;width:100%;height:100%;overflow:hidden;outline:0;font-family:Roboto,Arial,Helvetica,sans-serif;color:#eee;text-align:left;direction:ltr;font-size:14px;line-height:1.3;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none}.artplayer-video-player *{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.artplayer-video-player .art-icon{display:inline-block;line-height:1.5}.artplayer-video-player .art-icon svg{fill:#fff}.artplayer-video-player .artplayer-video{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;width:100%;height:100%;background-color:#000;outline:0;cursor:pointer}.artplayer-video-player .artplayer-subtitle{position:absolute;z-index:20;bottom:40px;width:100%;padding:0 20px;text-align:center;color:#fff;text-shadow:.5px .5px .5px rgba(0,0,0,.5);font-size:20px;pointer-events:none}.artplayer-video-player .artplayer-subtitle p{margin:5px 0}.artplayer-video-player .artplayer-layers{position:absolute;z-index:30;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.artplayer-video-player .artplayer-layers .art-layer{pointer-events:all}.artplayer-video-player .artplayer-mask{display:none;position:absolute;z-index:40;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.artplayer-video-player .artplayer-mask .art-playBig{position:absolute;right:30px;bottom:65px;opacity:.6}.artplayer-video-player .artplayer-loading{display:none;position:absolute;z-index:60;left:0;top:0;right:0;bottom:0;width:100%;height:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;pointer-events:none}.artplayer-video-player .artplayer-bottom{position:absolute;z-index:50;left:0;right:0;bottom:0;height:100px;padding:60px 10px 0;opacity:0;visibility:hidden;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;pointer-events:none;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom}.artplayer-video-player .artplayer-bottom .artplayer-progress{position:relative;pointer-events:all}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress{position:relative;height:5px;padding:1px 0;cursor:pointer}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner{position:relative;height:100%;background:hsla(0,0%,100%,.2)}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;height:100%;width:0;background:hsla(0,0%,100%,.4)}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-played{position:absolute;z-index:20;left:0;top:0;right:0;bottom:0;height:100%;width:0}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{position:absolute;z-index:30;left:0;top:0;right:0;bottom:0;height:0}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{display:inline-block;position:absolute;left:0;top:0;width:7px;height:3px;background:#fff;border-radius:3px}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{display:none;position:absolute;z-index:40;top:-5px;left:-6.5px;width:13px;height:13px;border-radius:50%}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator.art-show-indicator{display:block}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-tip{display:none;position:absolute;z-index:50;top:-25px;left:0;height:20px;padding:0 5px;line-height:20px;color:#fff;font-size:12px;text-align:center;background:rgba(0,0,0,.7);border-radius:3px;font-weight:700}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-indicator,.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-tip{display:block}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-thumbnails{display:none;position:absolute;bottom:8px;left:0;pointer-events:none;background-color:rgba(0,0,0,.7)}.artplayer-video-player .artplayer-bottom .artplayer-controls{position:relative;pointer-events:all;display:-webkit-box;dispLine truncated
+3 -3
View File
@@ -1,8 +1,8 @@
/*!
* artplayer-react.js v3.0.0
* artplayer-react.js v3.5.5
* Github: https://github.com/zhw2590582/ArtPlayer#readme
* (c) 2017-2019 Harvey Zack
* (c) 2017-2020 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=t||self)["artplayer-react"]=e()}(this,function(){"use strict";var a=function(t,e){if(null==t)return{};var n,r,i={},o=Object.keys(t);for(r=0;r<o.length;r++)n=o[r],0<=e.indexOf(n)||(i[n]=t[n]);return i};var r=function(t,e){if(null==t)return{};var n,r,i=a(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r<o.length;r++)n=o[r],0<=e.indexOf(n)||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i};var i=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t};var o=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),r.forEach(function(t){i(e,t,n[t])})}return e},jt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(t,e){return t(e={exports:{}},e.exports),e.exports}var s=t(function(e){function n(t){return(n="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})(t)}function r(t){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?e.exports=r=function(t){return n(t)}:e.exports=r=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":n(t)},r(t)}e.exports=r});var c=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};function u(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var e=function(t,e,n){return e&&u(t.prototype,e),n&&u(t,n),t};var n=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t};var l=function(t,e){return!e||"object"!==s(e)&&"function"!=typeof e?n(t):e},f=t(function(e){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},n(t)}e.exports=n}),p=t(function(n){function r(t,e){return n.exports=r=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},r(t,e)}n.exports=r});var d=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&&p(t,e)},h=Object.getOwnPropertySymbols,y=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable;var $t=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(t){r[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,r,i=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),o=1;o<arguments.length;o++){for(var a in n=Object(arguments[o]))y.call(n,a)&&(i[a]=n[a]);if(h){r=h(n);for(var s=0;s<r.length;s++)v.call(n,r[s])&&(i[r[s]]=n[r[s]])}}return i},m="function"==typeof Symbol&&Symbol.for,g=m?Symbol.for("react.element"):60103,b=m?Symbol.for("react.portal"):60106,w=m?Symbol.for("react.fragment"):60107,x=m?Symbol.for("react.strict_mode"):60108,k=m?Symbol.for("react.profiler"):60114,S=m?Symbol.for("react.provider"):60109,E=m?Symbol.for("react.context"):60110,P=m?Symbol.for("react.concurrent_mode"):60111,$=m?Symbol.for("react.forward_ref"):60112,_=m?Symbol.for("react.suspense"):60113,O=m?Symbol.for("react.memo"):60115,R=m?Symbol.for("react.lazy"):60116,C="function"==typeof Symbol&&Symbol.iterator;function j(t){for(var e=arguments.length-1,n="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=0;r<e;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);!function(t,e,n,r,i,o,a,s){if(!t){if((t=void 0)===e)t=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,i,o,a,s],u=0;(t=Error(e.replace(/%s/g,function(){return c[u++]}))).name="Invariant Violation"}throw t.framesToPop=1,t}}(!1,"Minified React error #"+t+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",n)}var T={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceStLine truncated
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).ArtplayerReact=e()}(this,(function(){"use strict";var t=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r<i.length;r++)n=i[r],e.indexOf(n)>=0||(o[n]=t[n]);return o};var e=function(e,n){if(null==e)return{};var r,o,i=t(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)r=a[o],n.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i};var n=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t};"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function r(t,e){return t(e={exports:{}},e.exports),e.exports}var o=r((function(t){function e(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=e=function(t){return typeof t}:t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(n)}t.exports=e}));var i=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};function a(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var c=function(t,e,n){return e&&a(t.prototype,e),n&&a(t,n),t};var s=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t};var l=function(t,e){return!e||"object"!==o(e)&&"function"!=typeof e?s(t):e},u=r((function(t){function e(n){return t.exports=e=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},e(n)}t.exports=e})),p=r((function(t){function e(n,r){return t.exports=e=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},e(n,r)}t.exports=e}));var f=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&&p(t,e)},d=Object.getOwnPropertySymbols,h=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable;function m(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}var b=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(t){r[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,r,o=m(t),i=1;i<arguments.length;i++){for(var a in n=Object(arguments[i]))h.call(n,a)&&(o[a]=n[a]);if(d){r=d(n);for(var c=0;c<r.length;c++)y.call(n,r[c])&&(o[r[c]]=n[r[c]])}}return o},g="function"==typeof Symbol&&Symbol.for,v=g?Symbol.for("react.element"):60103,w=g?Symbol.for("react.portal"):60106,x=g?Symbol.for("react.fragment"):60107,O=g?Symbol.for("react.strict_mode"):60108,k=g?Symbol.for("react.profiler"):60114,j=g?Symbol.for("react.provider"):60109,P=g?Symbol.for("react.context"):60110,S=g?Symbol.for("react.forward_ref"):60112,E=g?Symbol.for("react.suspense"):60113,R=g?Symbol.for("react.memo"):60115,C=g?Symbol.for("react.lazy"):60116,$="function"==typeof Symbol&&Symbol.iterator;function D(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n<arguments.length;n++)e+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var T={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},A={};function z(t,e,n){this.props=t,this.context=e,this.refs=A,this.updater=n||T}function _(){}function L(t,e,n){this.props=t,this.context=e,this.refs=A,this.updater=n||T}z.prototype.isReactComponent={},z.prototype.setState=function(t,e){if("object"!=typeof t&&"function"!=typeof t&&null!=t)throw Error(D(85));this.updater.enqueueSetState(this,t,e,"setState")},z.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")},_.prototype=z.prototype;var M=L.prototype=new _;M.constructor=L,b(M,z.prototype),M.isPureReactComponent=!0;var q={current:null},I={current:null},F=Object.prototype.hasOwnProperty,W={key:!0,ref:!0,__self:!0,__source:!0};function N(t,e,n){var r,o={},i=null,a=null;if(null!=e)for(r in void 0!==e.ref&&(a=e.ref),void 0!==e.key&&(i=""+e.key),e)F.call(e,r)&&!W.hasOwnProperty(r)&&(o[r]=e[r]);var c=arguments.length-2;if(1===c)oLine truncated
+8
View File
@@ -0,0 +1,8 @@
/*!
* artplayer-tool-github.js v3.5.5
* Github: https://github.com/zhw2590582/ArtPlayer#readme
* (c) 2017-2020 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=t||self).ArtplayerToolGithub=e()}(this,(function(){"use strict";"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;return function(t,e){return t(e={exports:{}},e.exports),e.exports}((function(t,e){t.exports=function(){var t,e=function(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t},r=function(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable})))),o.forEach((function(r){e(t,r,n[r])}))}return t},n=(function(t){var e=function(t){var e,r=Object.prototype,n=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r,n){var o=e&&e.prototype instanceof d?e:d,i=Object.create(o.prototype),a=new j(n||[]);return i._invoke=function(t,e,r){var n=f;return function(o,i){if(n===l)throw new Error("Generator is already running");if(n===p){if("throw"===o)throw i;return S()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=O(a,r);if(c){if(c===y)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===f)throw n=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=l;var u=s(t,e,r);if("normal"===u.type){if(n=r.done?p:h,u.arg===y)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n=p,r.method="throw",r.arg=u.arg)}}}(t,r,a),i}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var f="suspendedStart",h="suspendedYield",l="executing",p="completed",y={};function d(){}function g(){}function v(){}var m={};m[i]=function(){return this};var w=Object.getPrototypeOf,b=w&&w(w(P([])));b&&b!==r&&n.call(b,i)&&(m=b);var x=v.prototype=d.prototype=Object.create(m);function k(t){["next","throw","return"].forEach((function(e){t[e]=function(t){return this._invoke(e,t)}}))}function L(t){var e;this._invoke=function(r,o){function i(){return new Promise((function(e,i){!function e(r,o,i,a){var c=s(t[r],t,o);if("throw"!==c.type){var u=c.arg,f=u.value;return f&&"object"==typeof f&&n.call(f,"__await")?Promise.resolve(f.__await).then((function(t){e("next",t,i,a)}),(function(t){e("throw",t,i,a)})):Promise.resolve(f).then((function(t){u.value=t,i(u)}),(function(t){return e("throw",t,i,a)}))}a(c.arg)}(r,o,e,i)}))}return e=e?e.then(i,i):i()}}function O(t,r){var n=t.iterator[r.method];if(n===e){if(r.delegate=null,"throw"===r.method){if(t.iterator.return&&(r.method="return",r.arg=e,O(t,r),"throw"===r.method))return y;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var o=s(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,y;var i=o.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function P(t){if(t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}return{next:S}}function S(){return{value:e,done:!0}}return g.prototype=x.constructor=v,v.constructor=g,v[c]=g.displayName="GeneratorFunction",t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,c in t||(t[c]="GeneratorFunction")),t.prototype=Object.create(x),t},t.awrap=function(t){return{__await:t}},k(L.prototype),L.prototype[a]=function(){return this},t.AsyncIterator=L,t.async=function(e,r,n,o){var i=new L(u(e,r,n,o));return t.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},k(x),x[c]="Generator",x[i]=function(){return this},x.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=P,j.prototype={constructor:j,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sentLine truncated
+3 -3
View File
@@ -1,8 +1,8 @@
/*!
* artplayer-tool-thumbnail.js v3.0.0
* artplayer-tool-thumbnail.js v3.5.5
* Github: https://github.com/zhw2590582/ArtPlayer#readme
* (c) 2017-2019 Harvey Zack
* (c) 2017-2020 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=t||self)["artplayer-tool-thumbnail"]=e()}(this,function(){"use strict";var o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};function i(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var e=function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t};function t(t,e){return t(e={exports:{}},e.exports),e.exports}var n=t(function(e){function n(t){return(n="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})(t)}function o(t){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?e.exports=o=function(t){return n(t)}:e.exports=o=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":n(t)},o(t)}e.exports=o});var r=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t};var a=function(t,e){return!e||"object"!==n(e)&&"function"!=typeof e?r(t):e},u=t(function(e){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},n(t)}e.exports=n}),s=t(function(n){function o(t,e){return n.exports=o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(t,e)}n.exports=o});var c=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&&s(t,e)};function l(){}l.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function i(){o.off(t,i),e.apply(n,arguments)}return i._=e,this.on(t,i,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,i=n.length;o<i;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],i=[];if(o&&e)for(var r=0,a=o.length;r<a;r++)o[r].fn!==e&&o[r].fn._!==e&&i.push(o[r]);return i.length?n[t]=i:delete n[t],this}};var h=l,f=l;function p(e){return new Promise(function(t){return setTimeout(t,e)})}function d(t,e,n){return Math.max(Math.min(t,Math.max(e,n)),Math.min(e,n))}h.TinyEmitter=f;var m=function(t){function n(){var t,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};return o(this,n),(t=a(this,u(n).call(this))).processing=!1,t.option={},t.setup(Object.assign({},n.DEFAULTS,e)),t.video=n.creatVideo(),t.inputChange=t.inputChange.bind(r(t)),t.ondrop=t.ondrop.bind(r(t)),t.option.fileInput.addEventListener("change",t.inputChange),t.option.fileInput.addEventListener("dragover",n.ondragover),t.option.fileInput.addEventListener("drop",n.ondrop),t}return c(n,h),e(n,[{key:"ondrop",value:function(t){t.preventDefault();var e=t.dataTransfer.files[0];this.loadVideo(e)}},{key:"setup",value:function(){var e=this,t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.option=Object.assign({},this.option,t);var n=this.option,o=n.fileInput,i=n.delay,r=n.number,a=n.width,u=n.height,s=n.column;return this.errorHandle("INPUT"===o.tagName&&"file"===o.type,"The 'fileInput' is not a usable file input like: <input type=\"file\">"),["delay","number","width","height","column"].forEach(function(t){e.errorHandle("number"==typeof e.option[t],"The '".concat(t,"' is not a number"))}),this.option.delay=d(i,10,1e3),this.option.number=d(r,10,1e3),this.option.width=d(a,10,1e3),this.option.height=d(u,10,1e3),this.option.column=d(s,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 o=this.video.canPlayType(t.type);this.errorHandle("maybe"===o||"probably"===o,"Playback of this file format is not supported: ".concat(t.type));var i=URL.createObjectURL(t);this.videoUrl=i,this.file=t,this.emit("file",this.file),this.video.src=i,p(n).then(function(){e.emit("video",e.video)}).catch(function(t){e.emit("error",t.message),console.error(t)})}}},{key:"start",value:function(){var o=this,t=this.option,i=t.width,r=t.height,a=t.number,u=t.delay;this.density=a/this.video.duration,this.errorHandle(this.file&&this.video,"Please select the video file first"),this.errorHandle(!this.processing,"There is currently a task in progress, please wait a moment..."),this.errorHandle(this.density<=1,"The preview density cannot be greater than 1, but got ".concat(this.density));var e=this.creatScreenshotDate(),s=this.creatCanvas(),c=s.getContext("2d");this.emit("canvas",s);var n=e.map(function(t,n){return function(){return o.video.currentTime=t.time,new Promise(function(e){p(u).theLine truncated
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).ArtplayerToolThumbnail=e()}(this,(function(){"use strict";var t=function(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 o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var n=function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t};function o(t,e){return t(e={exports:{}},e.exports),e.exports}var i=o((function(t){function e(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=e=function(t){return typeof t}:t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(n)}t.exports=e}));var r=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t};var a=function(t,e){return!e||"object"!==i(e)&&"function"!=typeof e?r(t):e},s=o((function(t){function e(n){return t.exports=e=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},e(n)}t.exports=e})),u=o((function(t){function e(n,o){return t.exports=e=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},e(n,o)}t.exports=e}));var l=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&&u(t,e)};function h(){}h.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function i(){o.off(t,i),e.apply(n,arguments)}return i._=e,this.on(t,i,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,i=n.length;o<i;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],i=[];if(o&&e)for(var r=0,a=o.length;r<a;r++)o[r].fn!==e&&o[r].fn._!==e&&i.push(o[r]);return i.length?n[t]=i:delete n[t],this}};var c=h,f=h;function p(t){return new Promise((function(e){return setTimeout(e,t)}))}function d(t,e,n){return Math.max(Math.min(t,Math.max(e,n)),Math.min(e,n))}return c.TinyEmitter=f,function(e){function o(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t(this,o),(e=a(this,s(o).call(this))).processing=!1,e.option={},e.setup(Object.assign({},o.DEFAULTS,n)),e.video=o.creatVideo(),e.inputChange=e.inputChange.bind(r(e)),e.ondrop=e.ondrop.bind(r(e)),e.option.fileInput.addEventListener("change",e.inputChange),e.option.fileInput.addEventListener("dragover",o.ondragover),e.option.fileInput.addEventListener("drop",o.ondrop),e}return l(o,e),n(o,[{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,o=n.fileInput,i=n.delay,r=n.number,a=n.width,s=n.height,u=n.column;if(this.errorHandle(o instanceof Element,"The 'fileInput' is not a Element"),"INPUT"!==o.tagName||"file"!==o.type){o.style.position="relative";var l=document.createElement("input");l.type="file",l.style.position="absolute",l.style.width="100%",l.style.height="100%",l.style.left="0",l.style.top="0",l.style.right="0",l.style.bottom="0",l.style.opacity="0",o.appendChild(l),this.option.fileInput=l}return["delay","number","width","height","column"].forEach((function(e){t.errorHandle("number"==typeof t.option[e],"The '".concat(e,"' is not a number"))})),this.option.delay=d(i,10,1e3),this.option.number=d(r,10,1e3),this.option.width=d(a,10,1e3),this.option.height=d(s,10,1e3),this.option.column=d(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 o=this.video.canPlayType(t.type);this.errorHandle("maybe"===o||"probably"===o,"Playback of this file format is not supported: ".concat(t.type));var i=URL.createObjectURL(t);this.videoUrl=i,this.file=t,this.emit("file",this.file),this.video.src=i,p(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,e=this.option,n=e.width,o=e.height,i=e.number,r=e.delay;this.density=i/this.video.duration,this.errorHandle(this.file&&this.video,"Please select the video file first"),this.errorHandle(!this.processing,"There is currently a task in progress, please wait a moment..."),this.errorHandle(this.density<=1,"The preview density cannot be greater than 1, but got ".concat(this.density));var a=this.creatScreenshotDate(),s=this.creatCanvas(),u=s.getContext("2d");this.emit("canvas",s);var l,h=a.map((function(e,a){return function(){return t.viLine truncated
-1
View File
@@ -1 +0,0 @@
.artplayer-video-player{position:relative;width:100%;height:100%;overflow:hidden;outline:0;font-family:Roboto,Arial,Helvetica,sans-serif;color:#eee;text-align:left;direction:ltr;font-size:14px;line-height:1.3;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none}.artplayer-video-player *{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.artplayer-video-player .art-icon{display:inline-block;line-height:1.5}.artplayer-video-player .art-icon svg{fill:#fff}.artplayer-video-player .artplayer-video{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;width:100%;height:100%;background-color:#000;outline:0;cursor:pointer}.artplayer-video-player .artplayer-subtitle{position:absolute;z-index:20;bottom:40px;width:100%;padding:0 20px;text-align:center;color:#fff;text-shadow:.5px .5px .5px rgba(0,0,0,.5);font-size:20px;pointer-events:none}.artplayer-video-player .artplayer-subtitle p{margin:5px 0}.artplayer-video-player .artplayer-layers{position:absolute;z-index:30;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.artplayer-video-player .artplayer-layers .art-layer{pointer-events:all}.artplayer-video-player .artplayer-mask{display:none;position:absolute;z-index:40;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.artplayer-video-player .artplayer-mask .art-playBig{position:absolute;right:30px;bottom:65px;opacity:.6}.artplayer-video-player .artplayer-loading{display:none;position:absolute;z-index:60;left:0;top:0;right:0;bottom:0;width:100%;height:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;pointer-events:none}.artplayer-video-player .artplayer-bottom{position:absolute;z-index:50;left:0;right:0;bottom:0;height:100px;padding:60px 10px 0;opacity:0;visibility:hidden;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;pointer-events:none;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom}.artplayer-video-player .artplayer-bottom .artplayer-progress{position:relative;pointer-events:all}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress{position:relative;height:5px;padding:1px 0;cursor:pointer}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner{position:relative;height:100%;background:hsla(0,0%,100%,.2)}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;height:100%;width:0;background:hsla(0,0%,100%,.4)}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-played{position:absolute;z-index:20;left:0;top:0;right:0;bottom:0;height:100%;width:0}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{position:absolute;z-index:30;left:0;top:0;right:0;bottom:0;height:0}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{display:inline-block;position:absolute;left:0;top:0;width:7px;height:3px;background:#fff;border-radius:3px}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{display:none;position:absolute;z-index:40;top:-5px;left:-6.5px;width:13px;height:13px;border-radius:50%}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator.art-show-indicator{display:block}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-tip{display:none;position:absolute;z-index:50;top:-25px;left:0;height:20px;padding:0 5px;line-height:20px;color:#fff;font-size:12px;text-align:center;background:rgba(0,0,0,.7);border-radius:3px;font-weight:700}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-indicator,.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-tip{display:block}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-thumbnails{display:none;position:absolute;bottom:8px;left:0;pointer-events:none;background-color:rgba(0,0,0,.7)}.artplayer-video-player .artplayer-bottom .artplayer-controls{position:relative;pointer-events:all;display:-webkit-box;dispLine truncated
+3 -3
View File
@@ -1,8 +1,8 @@
/*!
* artplayer-vue.js v3.0.0
* artplayer-vue.js v3.5.5
* Github: https://github.com/zhw2590582/ArtPlayer#readme
* (c) 2017-2019 Harvey Zack
* (c) 2017-2020 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=t||self)["artplayer-vue"]=e()}(this,function(){"use strict";var o=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t};var t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),i.forEach(function(t){o(e,t,n[t])})}return e},Ct="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e,n,i=(function(t,e){t.exports=function(){var a=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};function i(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 o=function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t},r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==Ct?Ct:"undefined"!=typeof self?self:{};function t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function e(t,e){return t(e={exports:{}},e.exports),e.exports}var n=e(function(e){function n(t){return(n="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})(t)}function i(t){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?e.exports=i=function(t){return n(t)}:e.exports=i=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":n(t)},i(t)}e.exports=i}),s=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t},c=function(t,e){return!e||"object"!==n(e)&&"function"!=typeof e?s(t):e},l=e(function(e){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},n(t)}e.exports=n}),u=e(function(n){function i(t,e){return n.exports=i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},i(t,e)}n.exports=i}),d=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&&u(t,e)};function f(){}f.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}};var p=f,h=f;p.TinyEmitter=h;var v=e(function(t,e){t.exports=function(){function s(t){return(s="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})(t)}var c=Object.prototype.toString,a=function(t){if(void 0===t)return"undefined";if(null===t)return"null";var e,n,i,o,r,a=s(t);if("boolean"===a)return"boolean";if("string"===a)return"string";if("number"===a)return"number";if("symbol"===a)return"symbol";if("function"===a)return"GeneratorFunction"===l(t)?"generatorfunction":"function";if(e=t,Array.isArray?Array.isArray(e):e instanceof Array)return"array";if(function(t){return!(!t.constructor||"function"!=typeof t.constructor.isBuffer)&&t.constructor.isBuffer(t)}(t))return"buffer";if(function(t){try{if("number"==typeof t.length&&"function"==typeof t.callee)return!0}catch(t){if(-1!==t.message.indexOf("callee"))return!0}return!1}(t))return"arguments";if((n=t)instanceof Date||"function"==typeof n.toDateString&&"function"==typeof n.getDate&&"function"==typeof n.setDate)return"date";if((i=t)instanceof Error||"string"==typeof i.message&&i.constructor&&"number"==typeof i.constructor.stackTraceLimit)return"error";if((o=t)instanceof RegExp||"string"==typeof o.flags&&"boolean"==typeof o.ignoreCase&&"boolean"==typeof o.multiline&&"boolean"==typeof o.global)return"regexp";switch(l(t)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16arLine truncated
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).ArtplayerVue=e()}(this,(function(){"use strict";var t=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t};var e=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};function n(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var r=function(t,e,r){return e&&n(t.prototype,e),r&&n(t,r),t};"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function o(t,e){return t(e={exports:{}},e.exports),e.exports}var i=o((function(t){function e(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=e=function(t){return typeof t}:t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(n)}t.exports=e}));var a=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t};var c=function(t,e){return!e||"object"!==i(e)&&"function"!=typeof e?a(t):e},s=o((function(t){function e(n){return t.exports=e=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},e(n)}t.exports=e})),l=o((function(t){function e(n,r){return t.exports=e=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},e(n,r)}t.exports=e}));var u=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&&l(t,e)};!function(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}('.art-undercover{background:#000;position:fixed;top:0;left:0;display:none;height:100%;width:100%;opacity:.9;z-index:10}.art-video-player{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;margin:0 auto;z-index:20;width:100%;height:100%;outline:0;zoom:1;font-family:Roboto,Arial,Helvetica,sans-serif;color:#eee;text-align:left;direction:ltr;font-size:14px;line-height:1.3;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none}.art-video-player *{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.art-video-player ::-webkit-scrollbar{width:5px}.art-video-player ::-webkit-scrollbar-thumb{background-color:#666}.art-video-player ::-webkit-scrollbar-thumb:hover{background-color:#ccc}.art-video-player .art-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1.5}.art-video-player .art-icon svg{fill:#fff}.art-video-player img{max-width:100%;vertical-align:top}.art-video-player>object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}@supports ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){.art-video-player .art-backdrop-filter{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);background-color:rgba(0,0,0,.7)!important}}.art-video-player .art-video{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;width:100%;height:100%;background-color:#000;cursor:pointer}.art-video-player .art-subtitle{display:none;position:absolute;z-index:20;bottom:10px;width:100%;padding:0 20px;text-align:center;color:#fff;font-size:20px;pointer-events:none;text-shadow:.5px .5px .5px rgba(0,0,0,.5)}.art-video-player .art-subtitle p{word-break:break-all;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin:5px 0}.art-video-player.art-subtitle-show .art-subtitle{display:block}.art-video-player.art-control-show .art-subtitle{bottom:40px}.art-video-player .art-danmuku{z-index:30}.art-video-player .art-danmuku,.art-video-player .art-layers{position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.art-video-player .art-layers{display:none;z-index:40}.art-video-player .art-layers .art-layer{pointer-events:auto}.art-video-player.art-layer-show .art-layers{display:block}.art-video-player .art-mask{display:none;z-index:50;left:0;top:0;right:0;bottom:0;width:100%;height:100%;overflow:hidden;pointer-evenLine truncated
-18
View File
@@ -1,18 +0,0 @@
.artplayer-video-player{position:relative;width:100%;height:100%;overflow:hidden;outline:0;font-family:Roboto,Arial,Helvetica,sans-serif;color:#eee;text-align:left;direction:ltr;font-size:14px;line-height:1.3;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none}.artplayer-video-player *{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.artplayer-video-player .art-icon{display:inline-block;line-height:1.5}.artplayer-video-player .art-icon svg{fill:#fff}
.artplayer-video-player .artplayer-video{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;width:100%;height:100%;background-color:#000;outline:0;cursor:pointer}
.artplayer-video-player .artplayer-subtitle{position:absolute;z-index:20;bottom:40px;width:100%;padding:0 20px;text-align:center;color:#fff;text-shadow:.5px .5px .5px rgba(0,0,0,.5);font-size:20px;pointer-events:none}.artplayer-video-player .artplayer-subtitle p{margin:5px 0}
.artplayer-video-player .artplayer-layers{position:absolute;z-index:30;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.artplayer-video-player .artplayer-layers .art-layer{pointer-events:all}
.artplayer-video-player .artplayer-mask{display:none;position:absolute;z-index:40;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.artplayer-video-player .artplayer-mask .art-playBig{position:absolute;right:30px;bottom:65px;opacity:.6}
.artplayer-video-player .artplayer-loading{display:none;position:absolute;z-index:60;left:0;top:0;right:0;bottom:0;width:100%;height:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;pointer-events:none}
.artplayer-video-player .artplayer-bottom{position:absolute;z-index:50;left:0;right:0;bottom:0;height:100px;padding:60px 10px 0;opacity:0;visibility:hidden;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;pointer-events:none;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom}.artplayer-video-player .artplayer-bottom .artplayer-progress{position:relative;pointer-events:all}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress{position:relative;height:5px;padding:1px 0;cursor:pointer}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner{position:relative;height:100%;background:hsla(0,0%,100%,.2)}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;height:100%;width:0;background:hsla(0,0%,100%,.4)}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-played{position:absolute;z-index:20;left:0;top:0;right:0;bottom:0;height:100%;width:0}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{position:absolute;z-index:30;left:0;top:0;right:0;bottom:0;height:0}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{display:inline-block;position:absolute;left:0;top:0;width:7px;height:3px;background:#fff;border-radius:3px}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{display:none;position:absolute;z-index:40;top:-5px;left:-6.5px;width:13px;height:13px;border-radius:50%}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator.art-show-indicator{display:block}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-tip{display:none;position:absolute;z-index:50;top:-25px;left:0;height:20px;padding:0 5px;line-height:20px;color:#fff;font-size:12px;text-align:center;background:rgba(0,0,0,.7);border-radius:3px;font-weight:700}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-indicator,.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-tip{display:block}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-thumbnails{display:none;position:absolute;bottom:8px;left:0;pointer-events:none;background-color:rgba(0,0,0,.7)}.artplayer-video-player .artplayer-bottom .artplayer-controls{position:relative;pointer-events:all;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:36px}.artplayer-video-player .artplayer-bottom .artplayer-controls .artplayer-controls-left,.artplayer-video-player .artplayer-bottom .artplayer-controls .artplayer-controls-right{display:-webkit-box;display:-ms-flexbox;display:flex}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control{opacity:.9;font-size:12px;height:36px;min-width:36px;line-height:36px;text-align:center;cursor:pointer}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control .art-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;float:left;height:36px;width:36px}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control:hover{opacity:1}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel{position:relative;float:left;width:0;height:100%;-webkit-transition:margin .2s cubic-bezier(.4,0,1,1),width .2s cubic-bezier(.4,0,1,1);transition:margin .2s cubic-bezier(.4,0,1,1),width .2s cubic-bezier(.4,0,1,1);overflow:hidden}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle{position:absolute;top:50%;left:0;width:12px;height:12px;border-radius:12px;margin-top:-6px;background:#fff}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:before{left:-54px;background:#fff}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:after{left:6px;baLine truncated
.artplayer-video-player .artplayer-notice{display:none;font-size:14px;position:absolute;z-index:70;left:0;top:0;padding:10px;width:100%;pointer-events:none}.artplayer-video-player .artplayer-notice .artplayer-notice-inner{display:inline-block;padding:5px 10px;color:#fff;background:rgba(0,0,0,.6);border-radius:3px}
.artplayer-video-player .artplayer-contextmenu{display:none;position:absolute;z-index:110;left:0;top:0;min-width:200px;padding:5px 0;background:rgba(0,0,0,.8);border-radius:3px}.artplayer-video-player .artplayer-contextmenu .art-contextmenu{cursor:pointer;font-size:13px;display:block;color:#fff;padding:7px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px rgba(0,0,0,.5);border-bottom:1px solid hsla(0,0%,100%,.1)}.artplayer-video-player .artplayer-contextmenu .art-contextmenu a{color:#fff;text-decoration:none}.artplayer-video-player .artplayer-contextmenu .art-contextmenu span{display:inline-block;padding:0 7px}.artplayer-video-player .artplayer-contextmenu .art-contextmenu span.current,.artplayer-video-player .artplayer-contextmenu .art-contextmenu span:hover{color:#00c9ff}.artplayer-video-player .artplayer-contextmenu .art-contextmenu:hover{background-color:hsla(0,0%,100%,.1)}.artplayer-video-player .artplayer-contextmenu .art-contextmenu:last-child{border-bottom:none}
.artplayer-video-player .artplayer-setting{display:none;position:absolute;z-index:80;left:0;top:0;height:100%;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;pointer-events:none}.artplayer-video-player .artplayer-setting .artplayer-setting-inner{position:relative;width:300px;height:250px;font-size:12px;background:rgba(0,0,0,.8);border-radius:3px;pointer-events:all;overflow:hidden}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body{overflow-y:auto;width:100%;height:100%}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting{border-bottom:1px solid hsla(0,0%,100%,.1);padding:12px 20px}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting .art-setting-header{color:#fff;margin-bottom:10px}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting .art-setting-body{color:hsla(0,0%,100%,.8)}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-close{position:absolute;top:0;right:0;width:20px;height:20px;line-height:20px;text-align:center;color:hsla(0,0%,100%,.8);background:rgba(0,0,0,.5);font-size:20px;cursor:pointer}.artplayer-video-player .artplayer-setting .art-setting-btns{display:-webkit-box;display:-ms-flexbox;display:flex;margin-left:-4px;margin-right:-4px}.artplayer-video-player .artplayer-setting .art-setting-btns .art-setting-btn{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 4px}.artplayer-video-player .artplayer-setting .art-setting-btns .art-setting-btn span{display:block;height:20px;line-height:20px;text-align:center;color:#fff;background:hsla(0,0%,100%,.3);border-radius:2px;cursor:pointer}.artplayer-video-player .artplayer-setting .art-setting-btns .art-setting-btn.current span,.artplayer-video-player .artplayer-setting .art-setting-btns .art-setting-btn:hover span{color:#fff;background:#00a1d6}
.artplayer-video-player .artplayer-info{display:none;position:absolute;left:10px;top:10px;z-index:90;width:350px;min-height:150px;padding:10px;color:#fff;font-size:12px;font-family:Noto Sans CJK SC DemiLight,Roboto,Segoe UI,Tahoma,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;background:rgba(0,0,0,.7)}.artplayer-video-player .artplayer-info .art-info-item{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:5px}.artplayer-video-player .artplayer-info .art-info-item .art-info-title{width:100px;text-align:right}.artplayer-video-player .artplayer-info .art-info-item .art-info-content{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:5px}.artplayer-video-player .artplayer-info .artplayer-info-close{position:absolute;top:5px;right:5px;cursor:pointer}
.artplayer-video-player.artplayer-hide-cursor *{cursor:none!important}
.artplayer-video-player[data-aspect-ratio] video{-webkit-box-sizing:content-box;box-sizing:content-box;-o-object-fit:fill;object-fit:fill}
.artplayer-video-player.artplayer-web-fullscreen{position:fixed;z-index:9999;width:100%;height:100%;left:0;top:0;right:0;bottom:0}
.artplayer-video-player .artplayer-pip-header{display:none;position:absolute;z-index:100;left:0;top:0;right:0;height:35px;line-height:35px;color:#fff;background:rgba(0,0,0,.5);-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;opacity:0;visibility:hidden;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.artplayer-video-player .artplayer-pip-header .artplayer-pip-title{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:move}.artplayer-video-player .artplayer-pip-header .artplayer-pip-close{width:35px;text-align:center;font-size:22px;cursor:pointer}.artplayer-video-player.is-dragging{opacity:.7}.artplayer-video-player.artplayer-pip{position:fixed;z-index:9999;right:20px;bottom:20px;width:400px;height:225px;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 3px 6px 0 rgba(0,0,0,.2);box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 3px 6px 0 rgba(0,0,0,.2)}.artplayer-video-player.artplayer-pip .artplayer-pip-header{display:-webkit-box;display:-ms-flexbox;display:flex}.artplayer-video-player.artplayer-pip.artplayer-hover .artplayer-pip-header{opacity:1;visibility:visible}.artplayer-video-player.artplayer-pip .artplayer-mask{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.artplayer-video-player.artplayer-pip .artplayer-mask .art-playBig{position:static}.artplayer-video-player.artplayer-pip .artplayer-bottom,.artplayer-video-player.artplayer-pip .artplayer-contextmenu,.artplayer-video-player.artplayer-pip .artplayer-danmu,.artplayer-video-player.artplayer-pip .artplayer-info,.artplayer-video-player.artplayer-pip .artplayer-layers,.artplayer-video-player.artplayer-pip .artplayer-notice,.artplayer-video-player.artplayer-pip .artplayer-setting,.artplayer-video-player.artplayer-pip .artplayer-subtitle{display:none!important}
.artplayer-auto-size{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}
.artplayer-video-player[data-flip=horizontal] .artplayer-video{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.artplayer-video-player[data-flip=vertical] .artplayer-video{-webkit-transform:scaleY(-1);transform:scaleY(-1)}
button[data-balloon]{overflow:visible}[data-balloon]{position:relative;cursor:pointer}[data-balloon]:after{font-family:sans-serif!important;font-weight:400!important;font-style:normal!important;text-shadow:none!important;font-size:12px!important;background:rgba(17,17,17,.9);border-radius:4px;color:#fff;content:attr(data-balloon);padding:.5em 1em;white-space:nowrap}[data-balloon]:after,[data-balloon]:before{filter:alpha(opactiy=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out .18s;transition:all .18s ease-out .18s;position:absolute;z-index:10}[data-balloon]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17,17,17,0.9)' d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002C14.285 12.002 8.594 0 2.658 0z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;content:""}[data-balloon]:hover:after,[data-balloon]:hover:before,[data-balloon][data-balloon-visible]:after,[data-balloon][data-balloon-visible]:before{filter:alpha(opactiy=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";-moz-opacity:1;-khtml-opacity:1;opacity:1;pointer-events:auto}[data-balloon].font-awesome:after{font-family:FontAwesome}[data-balloon][data-balloon-break]:after{white-space:pre}[data-balloon][data-balloon-blunt]:after,[data-balloon][data-balloon-blunt]:before{-webkit-transition:none;transition:none}[data-balloon][data-balloon-pos=up]:after{margin-bottom:11px}[data-balloon][data-balloon-pos=up]:after,[data-balloon][data-balloon-pos=up]:before{bottom:100%;left:50%;-webkit-transform:translate(-50%,10px);transform:translate(-50%,10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]:before{margin-bottom:5px}[data-balloon][data-balloon-pos=up]:hover:after,[data-balloon][data-balloon-pos=up]:hover:before,[data-balloon][data-balloon-pos=up][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=up-left]:after{left:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-left]:after,[data-balloon][data-balloon-pos=up-left]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-left]:before{left:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-left]:hover:after,[data-balloon][data-balloon-pos=up-left]:hover:before,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=up-right]:after{right:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-right]:after,[data-balloon][data-balloon-pos=up-right]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-right]:before{right:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-right]:hover:after,[data-balloon][data-balloon-pos=up-right]:hover:before,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down]:after{margin-top:11px}[data-balloon][data-balloon-pos=down]:after,[data-balloon][data-balloon-pos=down]:before{left:50%;top:100%;-webkit-transform:translate(-50%,-10px);transform:translate(-50%,-10px)}[data-balloon][data-balloon-pos=down]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17,17,17,0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;margin-top:5px}[data-balloon][data-balloon-pos=down]:hover:after,[data-balloon][data-balloon-pos=down]:hover:before,[data-balloon][data-balloon-pos=down][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=down-left]:after{left:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17,17,17,0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;left:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);tranLine truncated
+3 -3
View File
@@ -1,8 +1,8 @@
/*!
* artplayer.js v3.0.0
* artplayer.js v3.5.5
* Github: https://github.com/zhw2590582/ArtPlayer#readme
* (c) 2017-2019 Harvey Zack
* (c) 2017-2020 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=t||self).artplayer=e()}(this,function(){"use strict";var a=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};function i(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 r=function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t},o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function e(t,e){return t(e={exports:{}},e.exports),e.exports}var n=e(function(e){function n(t){return(n="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})(t)}function i(t){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?e.exports=i=function(t){return n(t)}:e.exports=i=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":n(t)},i(t)}e.exports=i});var s=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t};var c=function(t,e){return!e||"object"!==n(e)&&"function"!=typeof e?s(t):e},l=e(function(e){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},n(t)}e.exports=n}),u=e(function(n){function i(t,e){return n.exports=i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},i(t,e)}n.exports=i});var d=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&&u(t,e)};function f(){}f.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 r(){i.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),i=0,r=n.length;i<r;i++)n[i].fn.apply(n[i].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),i=n[t],r=[];if(i&&e)for(var o=0,a=i.length;o<a;o++)i[o].fn!==e&&i[o].fn._!==e&&r.push(i[o]);return r.length?n[t]=r:delete n[t],this}};var p=f,h=f;p.TinyEmitter=h;var v=e(function(t,e){t.exports=function(){function s(t){return(s="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})(t)}var c=Object.prototype.toString,a=function(t){if(void 0===t)return"undefined";if(null===t)return"null";var e,n,i,r,o,a=s(t);if("boolean"===a)return"boolean";if("string"===a)return"string";if("number"===a)return"number";if("symbol"===a)return"symbol";if("function"===a)return"GeneratorFunction"===l(t)?"generatorfunction":"function";if(e=t,Array.isArray?Array.isArray(e):e instanceof Array)return"array";if(function(t){return!(!t.constructor||"function"!=typeof t.constructor.isBuffer)&&t.constructor.isBuffer(t)}(t))return"buffer";if(function(t){try{if("number"==typeof t.length&&"function"==typeof t.callee)return!0}catch(t){if(-1!==t.message.indexOf("callee"))return!0}return!1}(t))return"arguments";if((n=t)instanceof Date||"function"==typeof n.toDateString&&"function"==typeof n.getDate&&"function"==typeof n.setDate)return"date";if((i=t)instanceof Error||"string"==typeof i.message&&i.constructor&&"number"==typeof i.constructor.stackTraceLimit)return"error";if((r=t)instanceof RegExp||"string"==typeof r.flags&&"boolean"==typeof r.ignoreCase&&"boolean"==typeof r.multiline&&"boolean"==typeof r.global)return"regexp";switch(l(t)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if("function"==typeof(o=t).throw&&"function"==typeof o.return&&"function"==typeof o.next)return"generator";switch(a=c.call(t)){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return a.slice(8,-1).toLowerCase().replace(/\s/g,"")};functLine truncated
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Artplayer=e()}(this,(function(){"use strict";var t=function(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 r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var n=function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t};"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function r(t,e){return t(e={exports:{}},e.exports),e.exports}var o=r((function(t){function e(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=e=function(t){return typeof t}:t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(n)}t.exports=e}));var i=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t};var a=function(t,e){return!e||"object"!==o(e)&&"function"!=typeof e?i(t):e},c=r((function(t){function e(n){return t.exports=e=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},e(n)}t.exports=e})),s=r((function(t){function e(n,r){return t.exports=e=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},e(n,r)}t.exports=e}));var l=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&&s(t,e)};!function(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}('.art-undercover{background:#000;position:fixed;top:0;left:0;display:none;height:100%;width:100%;opacity:.9;z-index:10}.art-video-player{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;margin:0 auto;z-index:20;width:100%;height:100%;outline:0;zoom:1;font-family:Roboto,Arial,Helvetica,sans-serif;color:#eee;text-align:left;direction:ltr;font-size:14px;line-height:1.3;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none}.art-video-player *{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.art-video-player ::-webkit-scrollbar{width:5px}.art-video-player ::-webkit-scrollbar-thumb{background-color:#666}.art-video-player ::-webkit-scrollbar-thumb:hover{background-color:#ccc}.art-video-player .art-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1.5}.art-video-player .art-icon svg{fill:#fff}.art-video-player img{max-width:100%;vertical-align:top}.art-video-player>object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}@supports ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){.art-video-player .art-backdrop-filter{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);background-color:rgba(0,0,0,.7)!important}}.art-video-player .art-video{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;width:100%;height:100%;background-color:#000;cursor:pointer}.art-video-player .art-subtitle{display:none;position:absolute;z-index:20;bottom:10px;width:100%;padding:0 20px;text-align:center;color:#fff;font-size:20px;pointer-events:none;text-shadow:.5px .5px .5px rgba(0,0,0,.5)}.art-video-player .art-subtitle p{word-break:break-all;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin:5px 0}.art-video-player.art-subtitle-show .art-subtitle{display:block}.art-video-player.art-control-show .art-subtitle{bottom:40px}.art-video-player .art-danmuku{z-index:30}.art-video-player .art-danmuku,.art-video-player .art-layers{position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.art-video-player .art-layers{display:none;z-index:40}.art-video-player .art-layers .art-layer{pointer-events:auto}.art-video-player.art-layer-show .art-layers{display:block}.art-video-player .art-mask{display:none;z-index:50;left:0;top:0;right:0;bottom:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.art-video-player .art-mask,.art-video-player .art-mask .art-state{-webkit-box-align:center;-ms-flex-align:center;align-Line truncated
File renamed without changes.
+41
View File
@@ -0,0 +1,41 @@
/*
Name: dracula
Author: Michael Kaminsky (http://github.com/mkaminsky11)
Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)
*/
.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {
background-color: #282a36 !important;
color: #f8f8f2 !important;
border: none;
}
.cm-s-dracula .CodeMirror-gutters { color: #282a36; }
.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }
.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }
.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-dracula span.cm-comment { color: #6272a4; }
.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }
.cm-s-dracula span.cm-number { color: #bd93f9; }
.cm-s-dracula span.cm-variable { color: #50fa7b; }
.cm-s-dracula span.cm-variable-2 { color: white; }
.cm-s-dracula span.cm-def { color: #50fa7b; }
.cm-s-dracula span.cm-operator { color: #ff79c6; }
.cm-s-dracula span.cm-keyword { color: #ff79c6; }
.cm-s-dracula span.cm-atom { color: #bd93f9; }
.cm-s-dracula span.cm-meta { color: #f8f8f2; }
.cm-s-dracula span.cm-tag { color: #ff79c6; }
.cm-s-dracula span.cm-attribute { color: #50fa7b; }
.cm-s-dracula span.cm-qualifier { color: #50fa7b; }
.cm-s-dracula span.cm-property { color: #66d9ef; }
.cm-s-dracula span.cm-builtin { color: #50fa7b; }
.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }
.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }
.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
@@ -4,11 +4,15 @@ html, body {
.container {
height: 100%;
padding: 20px;
padding: 10px;
box-sizing: border-box;
}
.artplayer-app {
width: 100%;
height: 100%;
height: 50%;
}
.tip {
text-align: center;
}
+215
View File
@@ -0,0 +1,215 @@
body,
html {
height: 100%;
}
body {
font-family: Hiragino Sans GB, Microsoft YaHei, \5fae\8f6f\96c5\9ed1, tahoma, arial, simsun, \5b8b\4f53;
-webkit-text-size-adjust: 100% !important;
-moz-text-size-adjust: 100% !important;
-ms-text-size-adjust: 100% !important;
text-size-adjust: 100% !important;
font-size: 14px;
margin: 0;
padding: 0;
color: #ccc;
background: rgb(16, 17, 19);
}
*,
:after,
:before {
box-sizing: border-box;
}
a {
color: #ccc;
text-decoration: none;
}
a:hover {
color: #fff;
}
img {
max-width: 100%;
vertical-align: top;
}
.header {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 13px;
height: 48px;
width: 100%;
padding: 0 0 0 20px;
border-bottom: 1px solid rgb(17, 21, 24);
background-color: rgb(28, 32, 34);
}
.header .menus {
display: flex;
align-items: center;
flex: 1;
height: 100%;
}
.header .menus .item {
display: flex;
align-items: center;
margin-left: 20px;
height: 100%;
}
.header .menus .has-sub-menu {
position: relative;
cursor: pointer;
}
.header .menus .has-sub-menu:hover .sub-menu{
display: block;
}
.header .menus .has-sub-menu .sub-menu {
display: none;
position: absolute;
z-index: 9;
top: 45px;
left: 0;
width: 200px;
padding: 0 10px;
background: #2b2b2b;
}
.header .menus .has-sub-menu .sub-menu ul {
padding: 0;
margin-bottom: 15px;
}
.header .menus .has-sub-menu .sub-menu li {
display: block;
list-style: none;
margin-bottom: 15px;
}
.header .menus .has-sub-menu .sub-menu li.title {
color: #fff;
font-size: 16px;
margin-bottom: 15px;
}
.header .run {
display: flex;
justify-content: center;
align-items: center;
width: 100px;
height: 100%;
cursor: pointer;
color: #f1fa8c;
border-left: 1px solid rgb(17, 21, 24);
background-color: rgb(39, 41, 54);
}
.main {
display: flex;
flex: 1;
height: 100%;
}
.main .part-left {
display: flex;
flex-direction: column;
width: 40%;
border-right: 1px solid rgb(17, 21, 24);
}
.main .part-left .libs {
height: 50px;
}
.main .part-left .libsInput {
height: 100%;
width: 100%;
padding: 5px 10px;
outline: none;
resize: none;
border: none;
font-size: 13px;
color: #ccc;
border-bottom: 1px solid rgb(17, 21, 24);
background-color: rgb(28, 32, 34);
}
.main .part-left .code {
flex: 1;
overflow: auto;
}
.main .part-left .code .codeMirrorWrap {
height: 100%;
overflow-x: hidden;
}
.CodeMirror {
height: 100%;
width: calc(100% + 30px);
padding: 10px 30px 10px 0;
}
.main .part-right {
flex: 1;
}
.part-right .video-wrap {
display: flex;
height: 70%;
align-items: center;
justify-content: center;
border-bottom: 1px solid rgb(17, 21, 24);
}
.part-right .video-wrap .artplayer-app {
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
width: 90%;
height: 65%;
border: 1px solid rgba(255, 255, 255, 0.05);
}
.part-right .console {
position: relative;
z-index: 8;
height: 30%;
}
.popups {
display: none;
justify-content: center;
align-items: center;
position: fixed;
z-index: 999;
left: 0;
top: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
}
.popups .popinner {
display: flex;
justify-content: center;
align-items: center;
width: 800px;
height: 600px;
background: #2b2b2b;
border-radius: 3px;
padding: 20px;
background-repeat: no-repeat;
background-position: center center;
background-size: contain;
}
+21
View File
@@ -0,0 +1,21 @@
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoSize: true,
light: true,
localVideo: true,
moreVideoAttr: {
crossOrigin: 'anonymous',
},
controls: [
{
name: 'open',
position: 'right',
html: 'Local Video',
mounted: $open => {
art.plugins.localVideo.attach($open);
},
},
],
plugins: [artplayerPluginBacklight],
});
+25
View File
@@ -0,0 +1,25 @@
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoSize: true,
moreVideoAttr: {
crossOrigin: 'anonymous',
},
layers: [
{
style: {
position: 'absolute',
top: '50%',
left: '50%',
width: '200px',
height: '200px',
margin: '-100px 0 0 -100px',
border: '1px solid rgba(255, 255, 255, 0.1)',
},
mounted($layer) {
art.plugins.artplayerPluginBlur.attach($layer);
},
},
],
plugins: [artplayerPluginBlur],
});
+49
View File
@@ -0,0 +1,49 @@
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoSize: true,
setting: true,
playbackRate: true,
fullscreenWeb: true,
plugins: [
artplayerPluginDanmuku({
danmuku: '/assets/sample/danmuku.xml',
speed: 5,
maxlength: 50,
margin: [10, 100],
opacity: 1,
fontSize: 25,
synchronousPlayback: false,
}),
],
controls: [
{
position: 'right',
html: 'Hide',
click: function () {
art.plugins.artplayerPluginDanmuku.hide();
},
},
{
position: 'right',
html: 'Show',
click: function () {
art.plugins.artplayerPluginDanmuku.show();
},
},
{
position: 'right',
html: 'Send',
click: function () {
var text = prompt('Please enter', 'Danmu text');
if (!text || !text.trim()) return;
var color = '#' + Math.floor(Math.random() * 0xffffff).toString(16);
art.plugins.artplayerPluginDanmuku.emit({
text: text,
color: color,
border: true,
});
},
},
],
});
+39
View File
@@ -0,0 +1,39 @@
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
title: '【新海诚动画】『秒速5センチメートル』',
autoSize: true,
localVideo: true,
moreVideoAttr: {
crossOrigin: 'anonymous',
},
controls: [
{
name: 'gif',
position: 'right',
html: 'Create GIF',
mounted: $gif => {
art.plugins.artplayerPluginGif.attach($gif);
},
},
{
name: 'open',
position: 'right',
html: 'Local Video',
mounted: $open => {
art.plugins.localVideo.attach($open);
},
},
],
plugins: [artplayerPluginGif],
});
var $popups = document.querySelector('.popups');
var $popinner = document.querySelector('.popinner');
art.on('artplayerPluginGif', image => {
$popups.style.display = 'flex';
var animatedImage = document.createElement('img');
animatedImage.src = image;
$popinner.innerHTML = '';
$popinner.appendChild(animatedImage);
});
+68
View File
@@ -0,0 +1,68 @@
// 使用 Github Issues Api 做弹幕接口
// 接口每小时限制 5000 次请求,勿滥用
var danmuku = new ArtplayerToolGithub({
api: 'zhw2590582/github-issues-api-as-danmuku/issues/1',
clientID: '749a95aad589f8849abe',
clientSecret: '7bb6fa67ef6e525e5bd5fda46cd3925ecc4a3760',
});
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoSize: true,
controls: [
{
name: 'danmuku',
position: 'right',
html: '发送弹幕',
click: () => {
if (window.location.href.includes('code=')) {
art.notice.show = '正在登陆中,请稍等!!!';
} else if (!danmuku.isLogin) {
danmuku.login();
} else {
var text = prompt('请输入:', '弹幕内容');
if (!text || !text.trim()) return;
if (text.length >= 20) {
art.notice.show = '弹幕字数不能大于20字!!!';
return;
}
if (danmuku.remaining <= 10) {
art.notice.show = '接口请求到达上限,请稍后再试!!!';
return;
}
art.notice.show = '弹幕发送中...';
danmuku
.send({
text: text,
time: art.player.currentTime,
color: '#' + Math.floor(Math.random() * 0xffffff).toString(16),
})
.then(data => {
art.notice.show = `发送弹幕成功: ${danmuku.remaining} / ${danmuku.limit}`;
art.plugins.artplayerPluginDanmuku.emit({
...data,
mode: 0,
time: art.player.currentTime + 0.2,
border: true,
});
})
.catch(() => {
art.notice.show = `发送弹幕失败: ${danmuku.remaining} / ${danmuku.limit}`;
});
}
},
},
],
plugins: [
artplayerPluginDanmuku({
danmuku: () => danmuku.load(),
speed: 5,
opacity: 1,
color: '#fff',
size: 25,
maxlength: 50,
margin: [10, 100],
}),
],
});
+116
View File
@@ -0,0 +1,116 @@
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
title: 'One More Time One More Chance',
poster: '/assets/sample/poster.jpg',
volume: 0.5,
isLive: false,
muted: false,
autoplay: false,
pip: true,
autoSize: true,
autoMin: true,
screenshot: true,
setting: true,
loop: true,
flip: true,
playbackRate: true,
aspectRatio: true,
fullscreen: true,
fullscreenWeb: true,
subtitleOffset: true,
miniProgressBar: true,
localVideo: true,
localSubtitle: true,
networkMonitor: false,
mutex: true,
light: true,
backdrop: true,
theme: '#ffad00',
lang: navigator.language.toLowerCase(),
moreVideoAttr: {
crossOrigin: 'anonymous',
},
contextmenu: [
{
html: 'Custom menu',
click: function (contextmenu) {
console.info('You clicked on the custom menu');
contextmenu.show = false;
},
},
],
layers: [
{
html: `<img style="width: 100px" src="/assets/sample/layer.png">`,
click: function () {
console.info('You clicked on the custom layer');
},
style: {
position: 'absolute',
top: '20px',
right: '20px',
opacity: '.9',
},
},
],
quality: [
{
default: true,
name: 'SD 480P',
url: '/assets/sample/video.mp4',
},
{
name: 'HD 720P',
url: '/assets/sample/video.mp4',
},
],
thumbnails: {
url: '/assets/sample/thumbnails.png',
number: 100,
width: 160,
height: 90,
column: 10,
},
subtitle: {
url: '/assets/sample/subtitle.srt',
style: {
color: '#03A9F4',
},
},
highlight: [
{
time: 60,
text: 'One more chance',
},
{
time: 120,
text: '谁でもいいはずなのに',
},
{
time: 180,
text: '夏の想い出がまわる',
},
{
time: 240,
text: 'こんなとこにあるはずもないのに',
},
{
time: 300,
text: '终わり',
},
],
controls: [
{
position: 'right',
html: 'Control',
click: function () {
console.info('You clicked on the custom control');
},
},
],
icons: {
loading: '<img src="./assets/img/ploading.gif">',
state: '<img src="./assets/img/state.png">',
},
});
+62
View File
@@ -0,0 +1,62 @@
var $popups = document.querySelector('.popups');
var $popinner = document.querySelector('.popinner');
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, // 列数
});
thumbnail.on('file', function(file) {
console.log('Read video successfully: ' + file.name);
});
thumbnail.on('video', function(video) {
console.log('Video size: ' + video.videoWidth + ' x ' + video.videoHeight);
console.log('Video duration: ' + video.duration + 's');
thumbnail.start();
});
thumbnail.on('canvas', function(canvas) {
console.log('Build canvas successfully');
console.log('Canvas size: ' + canvas.width + ' x ' + canvas.height);
console.log('Preview density: ' + thumbnail.density + ' p/s');
});
thumbnail.on('update', function(url, percentage) {
console.log('Processing: ' + Math.floor(percentage.toFixed(2) * 100) + '%');
$popups.style.display = 'flex';
$popinner.style.backgroundImage = 'url(' + url + ')';
});
thumbnail.on('download', function(name) {
console.log('Start download preview: ' + name);
});
thumbnail.on('done', function() {
$popups.style.display = 'none';
thumbnail.download();
console.log('Build preview image complete');
Artplayer.instances.forEach(function(art) {
art.destroy(true);
});
new Artplayer({
container: $artplayer,
url: thumbnail.videoUrl,
poster: thumbnail.thumbnailUrl,
thumbnails: {
url: thumbnail.thumbnailUrl,
number: thumbnail.option.number,
width: thumbnail.option.width,
height: thumbnail.option.height,
column: thumbnail.option.column,
},
});
console.log('Build player complete');
});
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -1,5 +1,3 @@
'use strict';
(function() {
var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
if (isMobile) {
@@ -7,9 +5,10 @@
return;
}
var $code = document.querySelector('.code');
var $codeMirror = document.querySelector('.codeMirrorWrap');
var $lib = document.querySelector('.libsInput');
var $run = document.querySelector('.run');
var $lib = document.querySelector('.lib');
var $popups = document.querySelector('.popups');
var loaddLib = [];
consola.creat({
@@ -18,16 +17,18 @@
zIndex: 99,
});
var mirror = CodeMirror($code, {
var mirror = CodeMirror($codeMirror, {
lineNumbers: true,
mode: 'javascript',
matchBrackets: true,
styleActiveLine: true,
theme: 'dracula',
value: '',
});
function initArt(art) {
Artplayer.config.video.events.forEach(function(item) {
art.on('video:' + item, function(event) {
Artplayer.config.events.forEach(function(item) {
art && art.on('video:' + item, function(event) {
console.log('video: ' + event.type);
});
});
@@ -105,22 +106,28 @@
return Promise.all(libPromise);
}
function loadCode(code) {
if (code) {
function runExample(name) {
fetch(`./assets/example/${name}.js`)
.then(function(response) {
return response.text();
})
.then(function(text) {
mirror.setValue(text);
runCode();
})
.catch(function(err) {
console.error(err.message);
});
}
function loadCode(code, example) {
if (example) {
runExample(example);
} else if (code) {
mirror.setValue(decodeURIComponent(code).trim());
runCode();
} else {
fetch('./js/example.js')
.then(function(response) {
return response.text();
})
.then(function(text) {
mirror.setValue(text);
runCode();
})
.catch(function(err) {
console.error(err.message);
});
runExample('index');
}
}
@@ -138,11 +145,12 @@
var _getURLParameters = getURLParameters(window.location.href),
code = _getURLParameters.code,
libs = _getURLParameters.libs;
example = _getURLParameters.example;
loadLib(libs)
.then(function(result) {
loaddLib = loaddLib.concat(result);
loadCode(code);
loadCode(code, example);
})
.catch(function(err) {
console.error(err.message);
@@ -153,6 +161,10 @@
console.error(err.message);
});
window.addEventListener('unhandledrejection', function(err) {
console.error(err.message);
});
$run.addEventListener('click', function(e) {
var libs = encodeURIComponent($lib.value);
var code = encodeURIComponent(mirror.getValue());
@@ -161,5 +173,11 @@
initApp();
});
$popups.addEventListener('click', function (e) {
if (e.target === this) {
this.style.display = 'none';
}
});
initApp();
})();
+67
View File
@@ -0,0 +1,67 @@
var vConsole = new VConsole();
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
title: 'One More Time One More Chance',
poster: '/assets/sample/poster.jpg',
autoSize: true,
loop: true,
mutex: true,
theme: '#ffad00',
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.png">',
},
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 (art.isWechat) {
document.querySelector('.tip').textContent = '微信环境需手动触发播放';
}
+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><i><chatserver>chat.bilibili.com</chatserver><chatid>11724691</chatid><mission>0</mission><maxlimit>500</maxlimit><state>0</state><real_name>0</real_name><source>k-v</source><d p="24.00000,1,25,16777215,1481940619,0,9369f6e1,2755349415">刚看完中文的</d><d p="47.83900,1,25,16777215,1481940620,0,9369f6e1,2755350229">看完中文版,看一下原版压压惊</d><d p="103.13600,1,25,16777215,1481940621,0,9369f6e1,2755352159">那一买哇</d><d p="93.65400,4,25,15138834,1481940647,0,3a91a313,2755409489">我叫欧布,欧布奥特曼!</d><d p="37.60400,1,25,16777215,1481950905,0,750af5df,2755948579">口昌占戈哥欠</d><d p="12.14200,1,25,16777215,1481961897,0,ab4d3d03,2756547743">刚看完</d><d p="107.61400,5,25,16711782,1481965559,0,f311f6e1,2756754771">自个儿看吧!</d><d p="2.64700,5,25,15138834,1481969183,0,a6f75681,2756841077">今晚三刷!</d><d p="44.21500,1,25,16777215,1481972875,0,f98384a7,2757208503">日刷一遍。哈哈</d><d p="79.24100,1,25,16777215,1481983853,0,fb570164,2758012907">89这个数字神了</d><d p="107.54200,5,25,16707842,1482019718,0,88e1250a,2758909611">子个看的笑哭我</d><d p="17.84600,1,25,0,1482027021,0,462140f3,2759121757">欠的电影票已还</d><d p="94.49900,5,25,16777215,1482030661,0,afe1c3ba,2759240147">老子有杯存了三年的抠脚酒,那些抢着要喝的我这里有</d><d p="102.04200,5,25,15138834,1482030686,0,c73ab657,2759313563">在下版本 有何贵干</d><d p="100.23000,1,25,16777215,1482030708,0,7cdcfcf8,2759381903">好感动</d><d p="1.31200,1,25,16777215,1482037278,0,caf41548,2759709291">三刷回来留念</d><d p="31.56800,4,25,41194,1482037291,0,3143abc,2759757455">幸瑜,我们一起去看吧</d><d p="66.68000,1,25,16777215,1482040963,0,a9c2f933,2760034489">这是什么歌啊啊啊好好听</d><d p="31.36200,4,25,16711680,1482055582,0,660e8376,2760779037">3刷路过</d><d p="15.42800,1,25,16777215,1482062931,0,c447a236,2761295787">看了也没脱单,让我找一个漂亮的德国妹子做女朋友吧!</d><d p="52.06700,1,25,16777215,1482062932,0,70d7d75f,2761299095">-0-</d><d p="52.47900,5,25,65280,1482120763,0,75828be6,2762846077">真想问问表白那些人</d><d p="52.47900,5,25,65280,1482120763,0,75828be6,2762847267">在这里表白算什么</d><d p="52.47900,5,25,65280,1482120763,0,75828be6,2762848323">只能说你是懦夫</d><d p="64.47200,1,25,0,1482127346,0,1f99633e,2763097299">电影院看完的+1</d><d p="92.66300,4,25,16776960,1482141968,0,4ddc51b,2763521111">哪买啊</d><d p="83.36500,1,25,16777215,1482235684,0,3d13d2d1,2766545727">大陆版的宣传片最有感觉</d><d p="91.92700,1,25,16777215,1482235697,0,af8227b4,2766590877">你的名字 郑安琪</d><d p="83.02400,1,25,16777215,1482235735,0,12acbbbf,2766717501">bgm 花火</d><d p="1.00100,1,25,38979,1482243059,0,ab62cfd,2767183303">五刷纪念 sc</d><d p="13.33100,1,25,16777215,1482250320,0,d4d486c6,2767395005">你……我……想和你一起看《你的名字》</d><d p="26.81200,1,25,16777215,1482250353,0,887e2676,2767478183">这就是我们梦寐以求的,唐朝和尚</d><d p="33.23900,1,25,16707842,1482253302,0,3b3a6f4d,2767597689">一个人刷了七遍就我了吧,我还是个男生</d><d p="0.00000,5,25,10027008,1482282578,0,e763cdf4,2767872227">自己看的</d><d p="5.21700,1,25,16777215,1482293534,0,c00038e9,2768119847">看完中毒了,越看中毒越深,新海诚你算计我..........</d><d p="80.32000,1,25,16777215,1482322119,0,a8bac6e4,2769449883">misha</d><d p="8.56700,5,25,15138834,1482322124,0,1d590742,2769465725">希望下辈子可以做个东京的帅哥</d><d p="92.03100,1,25,16777215,1482329452,0,ac03485d,2769962501">自己看吧</d><d p="110.12400,5,25,14811775,1482329453,0,ac03485d,2769964411">自己看吧</d><d p="1.99100,1,25,16777215,1482333104,0,73bfe3ed,2770147271">果然还是大陆版的预告最好</d><d p="43.85900,1,25,0,1482382882,0,b205d490,2771047893">看完电影再看预告的那个等等我,我也是哈哈</d><d p="1.14800,1,25,16777215,1482386544,0,4210f246,2771174753">电影院6刷路过</d><d p="36.30800,1,25,14811775,1482429738,0,748e1d11,2773043641">截止到20号,断断续续去刷了六遍,也是没谁了</d><d p="83.74300,1,25,16777215,1482472932,0,ca08e35f,2773826711">火花</d><d p="14.20000,1,25,16777215,1482491279,0,6e89d570,2774713355">明天二刷</d><d p="73.28500,1,25,16777215,1482502212,0,9c1a8324,2775235269">预告好良心</d><d p="5.54000,5,25,41194,1482549112,0,c2179b89,2776580937">刚看完国语感觉各种不适应</d><d p="76.46300,1,25,16777215,1482573973,0,c904b41b,2777844945">看完之后更加不可能有女朋友了</d><d p="50.16100,1,25,16777215,1482631815,0,24e6ff05,2780053005">三刷归来</d><d p="80.58300,1,25,16777215,1482639163,0,639f1a6c,2780504913">超级好看</d><d p="80.58700,1,25,16777215,1482649427,0,e6a7f8c3,2781190105">米兹哈</d><d p="14.86800,1,25,16777215,1482653076,0,27f539d4,2781355729">我也觉得大陆Line truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

+401
View File
@@ -0,0 +1,401 @@
1
00:00:01,500 --> 00:00:03,950
歌名:One More Time,One More Chance
〖愿往事重来〗
2
00:00:04,000 --> 00:00:05,950
【新海诚动画】『秒速5センチメートル』
《秒速5厘米》主题曲
3
00:00:06,000 --> 00:00:08,950
编曲:森俊之
4
00:00:09,000 --> 00:00:11,950
作词|作曲|演唱:山崎まさよし <山崎将义>
5
00:00:12,000 --> 00:00:15,950
6
00:00:16,000 --> 00:00:20,250
これ以上何をう失(し)なえば
【还要再失去什么】
7
00:00:20,300 --> 00:00:23,250
心は许(ゆる)されるの
【才能让心得到宽恕?】
8
00:00:23,300 --> 00:00:27,250
どれ程(ほど)の痛(いた)みならば
【还要再怎样痛苦】
9
00:00:27,300 --> 00:00:30,250
もう一度君に会(あ)える
【才能与你再次相见】
10
00:00:30,300 --> 00:00:33,250
One more time
11
00:00:33,300 --> 00:00:37,950
季节(きせつ)よ うつろわないで
【不愿看到季节的变迁】
12
00:00:38,000 --> 00:00:41,050
One more time
13
00:00:41,100 --> 00:00:45,250
ふざけあった时间(じかん)よ
【曾与你嬉闹的时光啊】
14
00:00:45,300 --> 00:00:49,250
くいちがうときはいつも
【每次争执的时候】
15
00:00:49,300 --> 00:00:53,100
仆が先(さき)に折(お)れたね
【总是我先让步】
16
00:00:53,150 --> 00:00:56,250
わがままな性格(せいかく)が
【你那任性的性格】
17
00:00:56,300 --> 00:00:59,250
なおさら爱(いと)しくさせた
【反而令你更加可爱】
18
00:00:59,300 --> 00:01:02,950
One more chance
19
00:01:03,000 --> 00:01:07,250
记忆(きおく)に足(あし)を取(と)られて
【回忆绊住我的脚步】
20
00:01:07,300 --> 00:01:10,250
One more chance
21
00:01:10,300 --> 00:01:14,950
次(つぎ)の场所を选(えら)べない
【无法选择下个地方】
22
00:01:15,000 --> 00:01:18,250
いつでも捜(さが)しているよ
【总是在一直寻觅】
23
00:01:18,300 --> 00:01:21,950
どっかに君の姿(すがた)を
【寻觅着你的身影】
24
00:01:22,000 --> 00:01:23,950
向(むか)いのホーム
【对面的月台上】
25
00:01:24,000 --> 00:01:25,950
路地裏(ろじうら)の窓(まど)
【在小巷的窗口里】
26
00:01:26,000 --> 00:01:29,250
こんなとこにいるはずもないのに
【尽管明知道你不可能在那里】
27
00:01:29,300 --> 00:01:33,250
愿(ねが)いがもしも叶(かな)うなら
【若愿望能够实现】
28
00:01:33,300 --> 00:01:36,550
いますぐ君のもとへ
【好想马上去到你身边】
29
00:01:36,600 --> 00:01:40,250
できないことは もう何もない
【如今我再也不会有丝毫退缩】
30
00:01:40,300 --> 00:01:47,300
すべてかけて抱きしめてみせるよ
【我会不顾一切将你紧紧拥抱】
31
00:01:47,350 --> 00:01:51,950
32
00:01:52,000 --> 00:01:55,250
33
00:01:55,300 --> 00:01:59,250
寂(さび)しさ纷(まぎ)らすだけなら
【如果只是为了排遣寂寞】
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
--终わり--
+403
View File
@@ -0,0 +1,403 @@
WEBVTT
1
00:00:01.500 --> 00:00:03.950
歌名:One More Time,One More Chance
〖愿往事重来〗
2
00:00:04.000 --> 00:00:05.950
【新海诚动画】『秒速5センチメートル』
《秒速5厘米》主题曲
3
00:00:06.000 --> 00:00:08.950
编曲:森俊之
4
00:00:09.000 --> 00:00:11.950
作词|作曲|演唱:山崎まさよし <山崎将义>
5
00:00:12.000 --> 00:00:15.950
6
00:00:16.000 --> 00:00:20.250
これ以上何をう失(し)なえば
【还要再失去什么】
7
00:00:20.300 --> 00:00:23.250
心は许(ゆる)されるの
【才能让心得到宽恕?】
8
00:00:23.300 --> 00:00:27.250
どれ程(ほど)の痛(いた)みならば
【还要再怎样痛苦】
9
00:00:27.300 --> 00:00:30.250
もう一度君に会(あ)える
【才能与你再次相见】
10
00:00:30.300 --> 00:00:33.250
One more time
11
00:00:33.300 --> 00:00:37.950
季节(きせつ)よ うつろわないで
【不愿看到季节的变迁】
12
00:00:38.000 --> 00:00:41.050
One more time
13
00:00:41.100 --> 00:00:45.250
ふざけあった时间(じかん)よ
【曾与你嬉闹的时光啊】
14
00:00:45.300 --> 00:00:49.250
くいちがうときはいつも
【每次争执的时候】
15
00:00:49.300 --> 00:00:53.100
仆が先(さき)に折(お)れたね
【总是我先让步】
16
00:00:53.150 --> 00:00:56.250
わがままな性格(せいかく)が
【你那任性的性格】
17
00:00:56.300 --> 00:00:59.250
なおさら爱(いと)しくさせた
【反而令你更加可爱】
18
00:00:59.300 --> 00:01:02.950
One more chance
19
00:01:03.000 --> 00:01:07.250
记忆(きおく)に足(あし)を取(と)られて
【回忆绊住我的脚步】
20
00:01:07.300 --> 00:01:10.250
One more chance
21
00:01:10.300 --> 00:01:14.950
次(つぎ)の场所を选(えら)べない
【无法选择下个地方】
22
00:01:15.000 --> 00:01:18.250
いつでも捜(さが)しているよ
【总是在一直寻觅】
23
00:01:18.300 --> 00:01:21.950
どっかに君の姿(すがた)を
【寻觅着你的身影】
24
00:01:22.000 --> 00:01:23.950
向(むか)いのホーム
【对面的月台上】
25
00:01:24.000 --> 00:01:25.950
路地裏(ろじうら)の窓(まど)
【在小巷的窗口里】
26
00:01:26.000 --> 00:01:29.250
こんなとこにいるはずもないのに
【尽管明知道你不可能在那里】
27
00:01:29.300 --> 00:01:33.250
愿(ねが)いがもしも叶(かな)うなら
【若愿望能够实现】
28
00:01:33.300 --> 00:01:36.550
いますぐ君のもとへ
【好想马上去到你身边】
29
00:01:36.600 --> 00:01:40.250
できないことは もう何もない
【如今我再也不会有丝毫退缩】
30
00:01:40.300 --> 00:01:47.300
すべてかけて抱きしめてみせるよ
【我会不顾一切将你紧紧拥抱】
31
00:01:47.350 --> 00:01:51.950
32
00:01:52.000 --> 00:01:55.250
33
00:01:55.300 --> 00:01:59.250
寂(さび)しさ纷(まぎ)らすだけなら
【如果只是为了排遣寂寞】
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
--终わり--
Binary file not shown.

After

Width:  |  Height:  |  Size: 753 KiB

Binary file not shown.
Binary file not shown.
-1356
View File
File diff suppressed because it is too large. Load diff
-25
View File
@@ -1,25 +0,0 @@
(function () {
window.runCode = function(hook) {
hook.ready(function() {
Array.from(document.querySelectorAll('.markdown-section a'))
.filter(function(item) {
return item.innerHTML === 'Run Code';
})
.forEach(function(item) {
item.addEventListener('click', function(event) {
event.preventDefault();
var codeElement = item.parentElement.nextElementSibling;
if (
codeElement.tagName === 'PRE' &&
codeElement.dataset.lang === 'js'
) {
var libs = item.href.split('/lib=')[1] || '';
var code = encodeURIComponent(codeElement.innerText);
var url = 'https://artplayer.org/lab/?libs=' + libs + '&code=' + code;
window.open(url);
}
});
});
});
};
})();
-36
View File
@@ -1,36 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>ArtPlayer Document</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta name="keywords" content="artplayer,html5,video,player">
<meta name="description" content="ArtPlayer is a modern HTML5 video player">
<link rel="shortcut icon" href="./favicon.ico">
<link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css">
</head>
<body>
<div id="app"></div>
<script src="./common.js"></script>
<script>
window.$docsify = {
name: 'ArtPlayer',
repo: 'zhw2590582/ArtPlayer',
maxLevel: 4,
subMaxLevel: 2,
plugins: [window.runCode]
}
</script>
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?b6c9b8bafbf5fe7225160101dafbbc7d";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</body>
</html>
+77
View File
@@ -0,0 +1,77 @@
## Install
Install with `npm`
```bash
$ npm install artplayer
```
Install with `yarn`
```bash
$ yarn add artplayer
```
Then load through the module
```js
// ES6
import Artplayer from 'artplayer';
// CommonJS
const Artplayer = require('artplayer');
```
Or umd builds are also available
```html
<!-- locally -->
<script src="path/to/artplayer.js"></script>
<!-- jsdelivr -->
<script src="https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js"></script>
<!-- unpkg -->
<script src="https://unpkg.com/artplayer/dist/artplayer.js"></script>
```
?> Will expose the global variable to `window.Artplayer`.
## Usage
```html
<!DOCTYPE html>
<html>
<head>
<title>ArtPlayer</title>
<meta charset="UTF-8" />
</head>
<body>
<div class="artplayer-app" style="width:400px;height:300px"></div>
<script src="path/to/artplayer.js"></script>
<script>
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
</script>
</body>
</html>
```
!> The size of the player depends on the size of the `container`, so don’t forget to set the `height` and `width` of the `container`.
## Demo
[https://artplayer.org](https://artplayer.org)
?> Most of the code in this document is directly linked to the demo by click the `Run Code`.
[Run Code](/Configuration.container)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
```
+6
View File
@@ -0,0 +1,6 @@
- [Getting started](/)
- [Options](/options)
- [Properties](/properties)
- [Events](/events)
- [Class](/class)
- [Libraries](/libraries)
+119
View File
@@ -0,0 +1,119 @@
## version
- Type: `String`
Return the player's version number
[Run Code](/Class.version)
```js
console.info(Artplayer.version);
```
## env
- Type: `String`
Return to the player's code environment: `development` or `production`
[Run Code](/Class.env)
```js
console.info(Artplayer.env);
```
## config
- Type: `Object`
Return all available `propertys`, `methods` and `events` of the `video` element
[Run Code](/Class.config)
```js
console.info(Artplayer.config);
```
## utils
- Type: `Object`
Return all functional tools for development
[Run Code](/Class.utils)
```js
console.info(Object.keys(Artplayer.utils));
```
## option
- Type: `Object`
Return to default player options
[Run Code](/Class.option)
```js
console.log(Artplayer.option);
```
## instances
- Type: `Array`
Return an array of all player instances
[Run Code](/Class.instances)
```js
console.info(Artplayer.instances);
```
## scheme
- Type: `Object`
Return the scheme used to verify player options
[Run Code](/Class.scheme)
```js
console.info(Artplayer.scheme);
```
## validator
- Type: `Function`
Return validator: [https://github.com/zhw2590582/option-validator](https://github.com/zhw2590582/option-validator)
[Run Code](/Class.validator)
```js
console.info(Artplayer.validator);
```
## kindOf
- Type: `Function`
Return type judgment function: [https://github.com/jonschlinkert/kind-of](https://github.com/jonschlinkert/kind-of)
[Run Code](/Class.kindOf)
```js
console.info(Artplayer.kindOf);
```
## Emitter
- Type: `Function`
Return the `Emitter` constructor
[Run Code](/Class.Emitter)
```js
console.info(Artplayer.Emitter);
```
+88
View File
@@ -0,0 +1,88 @@
## Video native event
You can use all the native events of video directly: [MDN web docs - Media events](https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events).
But be careful to add the `video` prefix in front of the event:
[Run Code](/Events.canplay)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.on('video:canplay', function (event) {
console.info(event);
});
```
## Player custom event
[Run Code](/Events.example)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.on('ready', function (args) {
console.info('The player can play');
});
```
| Event | Description | Parameter |
| --------------------- | --------------------------------------- | ------------------------- |
| `ready` | When the video can be played | `undefined` |
| `play` | When the video play | `undefined` |
| `pause` | When the video pause | `undefined` |
| `seek` | When the video seek | Video current time |
| `volume` | When the video volume change | Video volume value |
| `destroy` | When the instance is destroyed | `undefined` |
| `focus` | When the player gets focus | `undefined` |
| `blur` | When the player loses focus | `undefined` |
| `hoverenter` | When the mouse is moved into the player | `undefined` |
| `hoverleave` | When the mouse is moved out the player | `undefined` |
| `resize` | When the player resize | Player size |
| `mousemove` | When the mouse moves over the player | `undefined` |
| `aspectRatioChange` | When aspect ratio change | Aspect ratio |
| `aspectRatioRemove` | When aspect ratio remove | `undefined` |
| `aspectRatioReset` | When aspect ratio reset | `undefined` |
| `customType` | After triggering CustomType | Type name |
| `urlChange` | After the video url change | Video url |
| `autoSizeChange` | When the player auto size change | Player size |
| `autoSizeRemove` | When the player auto size remove | `undefined` |
| `flipChange` | When the player flip change | Flip name |
| `flipRemove` | When the player flip remove | `undefined` |
| `fullscreenChange` | When the full screen status change | Whether full screen |
| `fullscreenWebChange` | When entering web full screen | Whether web full screen |
| `pipChange` | When entering picture in picture | Whether in pip |
| `minChange` | When entering min player | Whether in min player |
| `playbackRateChange` | When playback rate change | Playback rate |
| `playbackRateRemove` | When playback rate remove | `undefined` |
| `playbackRateReset` | When playback rate reset | `undefined` |
| `screenshot` | When a screenshot occurs | Image data uri |
| `switch` | When switching video url | Video url |
| `loopAdd` | When an interval loop is added | Interval arrary |
| `loopRemove` | When the interval loop is deleted | `undefined` |
| `loopStart` | When entering the interval cycle | Interval arrary |
| `subtitleUpdate` | When the subtitles change | Current subtitle text |
| `subtitleSwitch` | When switching subtitles | Current subtitle url |
| `subtitleLoad` | When the subtitles loaded | Current subtitle url |
| `subtitleErr` | When the subtitles load error | Error object |
| `subtitleToggle` | When displaying subtitles | Whether to show |
| `noticeToggle` | When displaying notice | Whether to show |
| `maskToggle` | When displaying mask | Whether to show |
| `loadingToggle` | When displaying loading | Whether to show |
| `layerAdd` | When adding a new layer | Layer configuration |
| `layerToggle` | When displaying layer | Whether to show |
| `infoToggle` | When displaying info | Whether to show |
| `hotkey` | When the hotkey is triggered | Hotkey event object |
| `settingAdd` | When adding a new setting | Setting configuration |
| `settingToggle` | When displaying setting | Whether to show |
| `contextmenuAdd` | When adding a new contextmenu | Contextmenu configuration |
| `contextmenuToggle` | When displaying contextmenu | Whether to show |
| `controlAdd` | When adding a new control | Control configuration |
| `controlToggle` | When displaying control | Whether to show |
| `pluginAdd` | When adding a new plugin | Plugin configuration |
File renamed without changes.
+69
View File
@@ -0,0 +1,69 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>ArtPlayer Document</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta name="keywords" content="artplayer,html5,video,player">
<meta name="description" content="ArtPlayer is a modern HTML5 video player">
<link rel="shortcut icon" href="./favicon.ico">
<link rel="stylesheet" href="https://unpkg.com/docsify/lib/themes/vue.css">
</head>
<body>
<div id="app">Loading</div>
<script>
window.$docsify = {
name: 'ArtPlayer',
repo: 'zhw2590582/ArtPlayer',
maxLevel: 4,
auto2top: true,
subMaxLevel: 2,
loadSidebar: true,
plugins: [function (hook) {
hook.ready(function () {
document.addEventListener('click', function (event) {
if (event.target.tagName === 'A' && event.target.innerHTML === 'Run Code') {
event.preventDefault();
var codeElement = event.target.parentElement.nextElementSibling;
if (
codeElement.tagName === 'PRE' &&
codeElement.dataset.lang === 'js'
) {
var libs = event.target.href.split('/lib=')[1] || '';
var code = encodeURIComponent(codeElement.innerText);
var url = 'https://artplayer.org/?libs=' + libs + '&code=' + code;
window.open(url);
}
}
});
});
}]
}
</script>
<script src="https://unpkg.com/docsify/lib/docsify.min.js"></script>
<script src="https://unpkg.com/docsify/lib/plugins/search.min.js"></script>
<script>
var isLocalhost = Boolean(
window.location.hostname === 'localhost' ||
window.location.hostname === '[::1]' ||
window.location.hostname.match(
/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
)
);
var _hmt = _hmt || [];
(function () {
if (!isLocalhost) {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?b6c9b8bafbf5fe7225160101dafbbc7d";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
}
})();
</script>
</body>
</html>
+113
View File
@@ -0,0 +1,113 @@
## flv.js
- HomePage: [https://github.com/Bilibili/flv.js](https://github.com/Bilibili/flv.js)
[Run Code](/lib=https://cdn.bootcss.com/flv.js/1.4.2/flv.js)
```js
var art = new Artplayer({
container: '.artplayer-app',
autoplay: true,
url: '/assets/sample/video.flv',
customType: {
flv: function (video, url) {
const flvPlayer = flvjs.createPlayer({
type: 'flv',
url: url,
});
flvPlayer.attachMediaElement(video);
flvPlayer.load();
},
},
});
```
## hls.js
- HomePage: [https://github.com/video-dev/hls.js](https://github.com/video-dev/hls.js)
[Run Code](/lib=https://cdn.bootcss.com/hls.js/0.10.1/hls.js)
```js
var art = new Artplayer({
container: '.artplayer-app',
autoplay: true,
url: 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8',
customType: {
m3u8: function (video, url) {
var hls = new Hls();
hls.loadSource(url);
hls.attachMedia(video);
},
},
});
```
## dash.js
- HomePage: [https://github.com/Dash-Industry-Forum/dash.js](https://github.com/Dash-Industry-Forum/dash.js)
[Run Code](/lib=https://cdn.bootcss.com/dashjs/2.9.2/dash.all.min.js)
```js
var art = new Artplayer({
container: '.artplayer-app',
autoplay: true,
url: 'https://dash.akamaized.net/envivio/EnvivioDash3/manifest.mpd',
customType: {
mpd: function (video, url) {
var player = dashjs.MediaPlayer().create();
player.initialize(video, url, true);
},
},
});
```
## shaka-player
- HomePage: [https://github.com/google/shaka-player](https://github.com/google/shaka-player)
[Run Code](/lib=https://cdn.bootcss.com/shaka-player/2.5.0-beta/shaka-player.compiled.js)
```js
var art = new Artplayer({
container: '.artplayer-app',
autoplay: true,
url: '//storage.googleapis.com/shaka-demo-assets/angel-one/dash.mpd',
customType: {
mpd: function (video, url) {
shaka.polyfill.installAll();
var player = new shaka.Player(video);
player.load(url);
},
},
});
```
## webtorrent
- HomePage: [https://github.com/webtorrent/webtorrent](https://github.com/webtorrent/webtorrent)
[Run Code](/lib=https://cdn.bootcss.com/webtorrent/0.102.4/webtorrent.min.js)
```js
var art = new Artplayer({
container: '.artplayer-app',
autoplay: true,
url:
'magnet:?xt=urn:btih:6a9759bffd5c0af65319979fb7832189f4f3c35d&dn=sintel.mp4&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&tr=wss%3A%2F%2Ftracker.webtorrent.io&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel-1024-surround.mp4',
type: 'torrent',
customType: {
torrent: function (video, url, art) {
var client = new WebTorrent();
art.loading.show = true;
client.add(url, function (torrent) {
var file = torrent.files[0];
file.renderTo(video, {
autoplay: true,
});
});
},
},
});
```
+943
View File
@@ -0,0 +1,943 @@
## container
- Type: `String、Element`
- Default: `#artplayer`
- Required: `true`
DOM container of the player
[Run Code](/Configuration.container)
```js
var art = new Artplayer({
container: '.artplayer-app',
// container: document.querySelector('.artplayer-app'),
url: '/assets/sample/video.mp4',
});
```
You may need to initialize a size for the container element, like:
```css
.artplayer-app {
width: 400px;
height: 300px;
}
```
## url
- Type: `String`
- Default: `''`
- Required: `true`
Video source url, Three video file formats are supported: `mp4`, `ogg`, `webm`
[Run Code](/Configuration.url)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
```
## type
- Type: `String`
- Default: `''`
Specify the format for the `url`, use with `customType`
[Run Code](/Configuration.type)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.flv',
type: 'flv',
});
```
## customType
- Type: `Object`
- Default: `{}`
Customize when loading third-party libraries
[Run Code](/Configuration.customType)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.flv',
type: 'flv',
customType: {
flv: function (video, url, art) {
// video: The video element
// url: The video url
// art: The Artplayer instance
},
},
});
```
## whitelist
- Type: `Array`
- Default: `[]`
The current player uses the simplest native components on mobile devices, but you can filter this feature through whitelist. `whitelist` accept `String`, `function`, and `regular` expressions, contrast information comes from `window.navigator.userAgent`
By default, non-whitelisted devices only set video native properties and third-party dependencies.
`*` is a special value indicating that all mobile devices have the Artplayer UI enabled
[Open with mobile](https://artplayer.org/mobile.html)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
whitelist: ['iPhone OS 11'],
// whitelist: ['*'],
// whitelist: [(ua) => /iPhone OS 11/gi.test(ua)],
// whitelist: [/iPhone OS 11/gi]
});
```
## poster
- Type: `String`
- Default: `''`
Video poster image url
[Run Code](/Configuration.poster)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
poster: '/assets/sample/poster.jpg',
});
```
## title
- Type: `String`
- Default: `''`
Video title, will be shown in `screenshot` file name and `min` mode
[Run Code](/Configuration.title)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
title: '【新海诚动画】『秒速5センチメートル』',
screenshot: true,
});
```
## volume
- Type: `Number`
- Default: `0.7`
Default volume, player will cache the last volume, which may be overwritten
[Run Code](/Configuration.volume)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
volume: 0.5,
});
```
## muted
- Type: `Boolean`
- Default: `false`
Whether to mute by default
[Run Code](/Configuration.muted)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
muted: true,
});
```
## autoplay
- Type: `Boolean`
- Default: `false`
Whether to play automatically, sometimes it doesn't necessarily succeed
More info: [autoplay-policy-changes](https://developers.google.com/web/updates/2017/09/autoplay-policy-changes)
[Run Code](/Configuration.autoplay)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoplay: true,
});
```
## autoSize
- Type: `Boolean`
- Default: `false`
Keep the original video aspect ratio and automatically zoom
[Run Code](/Configuration.autoSize)
```js
// Zoom browser window
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoSize: true,
});
```
## autoMin
- Type: `Boolean`
- Default: `false`
When the player scrolls out of the viewport, the mini player mode is automatically enabled
[Run Code](/Configuration.autoMin)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoMin: true,
});
```
## loop
- Type: `Boolean`
- Default: `false`
Automatic loop playback
[Run Code](/Configuration.loop)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
loop: true,
});
```
## playbackRate
- Type: `Boolean`
- Default: `false`
Whether to show playback rate controller in the contextmenu and setting panel
[Run Code](/Configuration.playbackRate)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
playbackRate: true,
setting: true,
});
```
## aspectRatio
- Type: `Boolean`
- Default: `false`
Whether to show aspect ratio controller in the contextmenu and setting panel
[Run Code](/Configuration.aspectRatio)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
aspectRatio: true,
setting: true,
});
```
## screenshot
- Type: `Boolean`
- Default: `false`
Whether to show screenshot controller in the bottom, If the video resource exists cross-domain, the screenshot may fail. Unless serves this url with the correct `Access-Control-Allow-Origin`, and Set the video's `crossOrigin` property to `anonymous`
[Run Code](/Configuration.screenshot)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
screenshot: true,
// Optional
moreVideoAttr: {
crossOrigin: 'anonymous',
},
});
```
## setting
- Type: `Boolean`
- Default: `false`
Whether to show setting controller in the bottom
[Run Code](/Configuration.setting)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
setting: true,
});
```
## pip
- Type: `Boolean`
- Default: `false`
Whether to show pip controller in the bottom, it will give priority to the native picture-in-picture feature.
More info: [picture-in-picture](https://developers.google.com/web/updates/2017/09/picture-in-picture)
[Run Code](/Configuration.pip)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
pip: true,
});
```
## fullscreen
- Type: `Boolean`
- Default: `false`
Whether to show window fullscreen controller in the bottom
[Run Code](/Configuration.fullscreen)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
fullscreen: true,
});
```
## fullscreenWeb
- Type: `Boolean`
- Default: `false`
Whether to show web page fullscreen controller in the bottom
[Run Code](/Configuration.fullscreenWeb)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
fullscreenWeb: true,
});
```
## mutex
- Type: `Boolean`
- Default: `true`
Player mutually exclusive, only one player can play at a time
[Run Code](/Configuration.mutex)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
mutex: true,
});
```
## light
- Type: `Boolean`
- Default: `false`
Whether to display the light mode in the context menu
[Run Code](/Configuration.light)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
light: true,
});
```
## backdrop
- Type: `Boolean`
- Default: `true`
Whether to use blurred background in the context menu and settings panel
[Run Code](/Configuration.backdrop)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
backdrop: true,
});
```
## hotkey
- Type: `Boolean`
- Default: `true`
Whether to use hotkey
[Run Code](/Configuration.hotkey)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
hotkey: true,
});
```
| Key | Description |
| ------- | --------------- |
| `↑` | Increase volume |
| `↓` | Decrease volume |
| `←` | Seek backward |
| `→` | Seek forward |
| `space` | Toggle playback |
## lang
- Type: `String`
- Default: `navigator.language.toLowerCase()`
Default display language: en, zh-cn, zh-tw
[Run Code](/Configuration.lang)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
lang: 'en',
});
```
## icons
- Type: `Object`
- Default: `{}`
Replace the default icon
[Run Code](/Configuration.icons)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
icons: {
loading: '',
state: '',
play: '',
pause: '',
volume: '',
volumeClose: '',
subtitle: '',
screenshot: '',
setting: '',
fullscreen: '',
fullscreenWeb: '',
pip: '',
},
});
```
## theme
- Type: `String`
- Default: `#f00`
Default theme color
[Run Code](/Configuration.theme)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
theme: '#ffad00',
});
```
## subtitleOffset
- Type: `Boolean`
- Default: `false`
Subtitle time offset plugin
[Run Code](/Configuration.subtitleOffset)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
subtitle: {
url: '/assets/sample/subtitle.srt',
},
setting: true,
subtitleOffset: true,
});
```
## miniProgressBar
- Type: `Boolean`
- Default: `false`
Mini progress bar plugin
[Run Code](/Configuration.miniProgressBar)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
miniProgressBar: true,
});
```
## localVideo
- Type: `Boolean`
- Default: `false`
Local video preview plugin. By default, a configuration is added in the settings panel.
[Run Code](/Configuration.localVideo)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
localVideo: true,
controls: [
{
name: 'preview',
position: 'right',
html: 'OPEN VIDEO',
mounted: ($preview) => {
art.plugins.localVideo.attach($preview);
},
},
],
});
```
## localSubtitle
- Type: `Boolean`
- Default: `false`
Local subtitle preview plugin. By default, a configuration is added in the settings panel.
[Run Code](/Configuration.localSubtitle)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
localSubtitle: true,
controls: [
{
name: 'preview',
position: 'right',
html: 'OPEN SUBTITLE',
mounted: ($preview) => {
art.plugins.localSubtitle.attach($preview);
},
},
],
});
```
## networkMonitor
- Type: `Boolean`
- Default: `false`
A network monitor is used to monitor the blocking of the video.
[Run Code](/Configuration.networkMonitor)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
networkMonitor: true,
});
// Is the ratio of the time the video is blocked to the time the video has been played.
// For example, when the ratio is equal to 0.3, it means that every 10 seconds of sampling time, it is blocked for three seconds.
let notice = false;
art.on('networkMonitor', (ratio) => {
if (ratio >= 0.5 && !notice) {
notice = true;
console.log('Current network condition is not good');
}
});
// Modify sampling time, the unit is milliseconds, default 10 seconds.
art.plugins.networkMonitor.sample(30000);
```
## subtitle
- Type: `Object`
- Default: `{}`
Custom subtitle
| propertie | type | Description |
| --------- | -------- | ---------------------------------------- |
| `url` | `String` | Subtitle url, support vtt and srt format |
| `style` | `Object` | Subtitle style |
[Run Code](/Configuration.subtitle)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
subtitle: {
url: '/assets/sample/subtitle.srt',
style: {
color: '#03A9F4',
'font-size': '30px',
},
},
});
```
## thumbnails
- Type: `Object`
- Default: `{}`
Custom thumbnails in the progress bar with lazy load
| propertie | type | Description |
| --------- | -------- | -------------------------------------- |
| `url` | `String` | Thumbnails image url |
| `number` | `Number` | Total number of thumbnails |
| `width` | `Number` | The width of each thumbnail |
| `height` | `Number` | The height of each thumbnail |
| `column` | `Number` | Total number of columns for thumbnails |
[Run Code](/Configuration.thumbnails)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
thumbnails: {
url: '/assets/sample/thumbnails.png',
number: 100,
width: 160,
height: 90,
column: 10,
},
});
```
## moreVideoAttr
- Type: `Object`
- Default: `{'controls': false,'preload': 'metadata'}`
More video Attributes, these properties will be written directly to the video element
[Run Code](/Configuration.moreVideoAttr)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
moreVideoAttr: {
'webkit-playsinline': true,
playsInline: true,
},
});
```
## quality
- Type: `Array`
- Default: `[]`
Custom quality, The type of quality is an object
| propertie | type | Description |
| --------- | --------- | ------------------------------------------------------------------------------ |
| `default` | `Boolean` | Whether the default quality, if not specified, the first quality will be taken |
| `name` | `String` | Quality name to show |
| `url` | `String` | Video url |
[Run Code](/Configuration.quality)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
quality: [
{
default: true,
name: 'SD 480P',
url: '/assets/sample/video.mp4',
},
{
name: 'HD 720P',
url: '/assets/sample/video.mp4',
},
],
});
```
## highlight
- Type: `Array`
- Default: `[]`
Custom highlight, The type of highlight is an object
| propertie | type | Description |
| --------- | -------- | ---------------- |
| `time` | `Number` | highlight second |
| `text` | `String` | highlight text |
[Run Code](/Configuration.highlight)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
highlight: [
{
time: 60,
text: 'One more chance',
},
{
time: 120,
text: '谁でもいいはずなのに',
},
{
time: 180,
text: '夏の想い出がまわる',
},
{
time: 240,
text: 'こんなとこにあるはずもないのに',
},
{
time: 300,
text: '--终わり--',
},
],
});
```
## layers
- Type: `Array`
- Default: `[]`
Custom layer, The type of layer is an object or function
| propertie | type | Description |
| --------- | ------------------- | --------------------------------------------- |
| `disable` | `Boolean` | Whether to disable |
| `name` | `String` | The unique name , used for the class name |
| `index` | `Number` | The unique index, used for the priority level |
| `html` | `String`、`Element` | The dom element |
| `style` | `Object` | The style object |
| `click` | `Function` | Click event |
| `mounted` | `Function` | Callback after mounted |
| `tooltip` | `String` | Tooltip text |
[Run Code](/Configuration.layers)
```js
var layer = '/assets/sample/layer.png';
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
layers: [
{
html: `<img style="width: 100px" src="${layer}">`,
style: {
position: 'absolute',
top: '20px',
right: '20px',
opacity: '.9',
},
},
],
});
```
## contextmenu
- Type: `Array`
- Default: `[]`
Custom contextmenu, The type of layer is an object or function
| propertie | type | Description |
| --------- | ------------------- | --------------------------------------------- |
| `disable` | `Boolean` | Whether to disable |
| `name` | `String` | The unique name , used for the class name |
| `index` | `Number` | The unique index, used for the priority level |
| `html` | `String`、`Element` | The dom element |
| `style` | `Object` | The style object |
| `click` | `Function` | Click event |
| `mounted` | `Function` | Callback after mounted |
| `tooltip` | `String` | Tooltip text |
[Run Code](/Configuration.contextmenu)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
contextmenu: [
{
html: 'Custom menu',
click: function (contextmenu) {
console.info('You clicked on the custom menu');
contextmenu.show = false;
},
},
],
});
```
## controls
- Type: `Array`
- Default: `[]`
Custom controls, The type of controls is an object or function
| propertie | type | Description |
| ---------- | ------------------- | ----------------------------------------------------------------- |
| `disable` | `Boolean` | Whether to disable |
| `name` | `String` | The unique name , used for the class name |
| `index` | `Number` | The unique index, used for the priority level |
| `html` | `String`、`Element` | The dom element |
| `style` | `Object` | The style object |
| `click` | `Function` | Click event |
| `mounted` | `Function` | Callback after mounted |
| `position` | `String` | The position where the controller appears: `top`, `left`, `right` |
| `tooltip` | `String` | Tooltip text |
[Run Code](/Configuration.controls)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
controls: [
{
name: 'myController',
position: 'right',
index: 10,
html: 'myController',
tooltip: 'This is my controller',
click: function () {
console.log('myController');
},
},
],
});
```
## plugins
- Type: `Array`
- Default: `[]`
Custom plugins, The type of plugin is a function
[Run Code](/Configuration.plugins)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
plugins: [
function myPlugin(art) {
// Do something you like here.
// You can also return an object for external calls.
console.info('myPlugin running...');
return {
// This exposes plugin properties or methods for others to use. Like:
something: 'something',
doSomething: function () {
console.info('Do something here...');
},
};
},
],
});
// Call plugin from the outside
art.plugins.myPlugin.doSomething();
```
+480
View File
@@ -0,0 +1,480 @@
## Instance
| propertie | type | Description |
| ----------- | ---------- | ------------------------------------------------ |
| `isFocus` | `Boolean` | Return the focus state |
| `userAgent` | `String` | The user agent |
| `isMobile` | `boolean` | Whether mobile access |
| `isDestroy` | `Boolean` | Return the destroy state |
| `option` | `Object` | Return the merge option |
| `destroy` | `Function` | Destroy instance, will not remove dom by default |
[Run Code](/Properties.instance)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
console.log('isFocus', art.isFocus);
console.log('isDestroy', art.isDestroy);
console.log('option', art.option);
setTimeout(function () {
// remove dom
art.destroy();
// keep dom
// art.destroy(false);
}, 1000);
```
## player
Player core function.
All player properties and methods can be accessed directly through the instance. For example, the following properties are all equal:
```js
art.currentTime === art.player.currentTime;
art.volume === art.player.volume;
art.seek === art.player.seek;
```
| propertie | type | Description |
| ------------------------ | ---------- | ------------------------------------------------------------------------------------------------- |
| `aspectRatio` | `String` | Set aspect ratio, Currently only accepts three values:`default`, `4:3`, `16:9` and `false` |
| `aspectRatioReset` | `Boolean` | Recalculate the aspect ratio |
| `url` | `String` | `Getter` and `Setter` of the video url |
| `autoSize` | `Boolean` | Set auto size |
| `currentTime` | `Number` | `Getter` and `Setter` of the current time |
| `duration` | `Number` | `Getter` of the duration |
| `flip` | `String` | Set flip, Currently only accepts three values:`normal`, `horizontal`, `vertical` and `false` |
| `fullscreen` | `Boolean` | Enable or disable fullscreen |
| `fullscreenToggle` | `Boolean` | Toggle fullscreen |
| `fullscreenWeb` | `Boolean` | Enable or disable web fullscreen |
| `fullscreenWebToggle` | `Boolean` | Toggle web fullscreen |
| `fullscreenRotate` | `Boolean` | Enable or disable web fullscreen on the mobile |
| `fullscreenRotateToggle` | `Boolean` | Toggle web fullscreen on the mobile |
| `loaded` | `Number` | Return the proportion of the load |
| `pause` | `Boolean` | Pause playback |
| `pip` | `Boolean` | Enable or disable pip |
| `pipToggle` | `Boolean` | Toggle pip |
| `min` | `Boolean` | Enable or disable min player |
| `minToggle` | `Boolean` | Toggle min player |
| `playbackRate` | `String` | Set playbackRate, Currently only accepts three values:`0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `2.0` |
| `playbackRateReset` | `Boolean` | Recalculate the playback rate |
| `played` | `Number` | Return the proportion of the played |
| `playing` | `Boolean` | Return to playing state |
| `play` | `Boolean` | Start playback |
| `screenshot` | `Function` | Download a screenshot of current time |
| `seek` | `Number` | Set the current time |
| `forward` | `Number` | Video fast forward |
| `backward` | `Number` | Video fast backward |
| `switchQuality` | `Function` | Switch video quality |
| `switchUrl` | `Function` | Switch video url |
| `toggle` | `Boolean` | Toggle play and pause |
| `volume` | `Number` | `Getter` and `Setter` of the current volume |
| `muted` | `Boolean` | `Getter` and `Setter` of the muted |
| `light` | `Boolean` | `Getter` and `Setter` of the light mode |
| `url` | `String` | `Getter` and `Setter` of the video url |
| `loop` | `Arrary` | `Getter` and `Setter` of the interval loop |
[Run Code](/Properties.player)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.on('ready', () => {
art.player.seek = 5;
art.player.screenshot();
});
```
## storage
The player will automatically add a `localStorage` object named `artplayer_settings`, Now the player will only set and read the `volume` value.
| propertie | type | Description |
| --------- | ---------- | ----------------- |
| `get` | `Function` | Get a storage |
| `set` | `Function` | Set a storage |
| `del` | `Function` | Delete a storage |
| `clean` | `Function` | Clean all storage |
[Run Code](/Properties.storage)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.storage.set('your-key', 'your-value');
console.log(art.storage.get('your-key'));
```
## i18n
The current support i18n has: `en`, `zh-cn`, `zh-tw`
| propertie | type | Description |
| --------- | ---------- | ------------------------------- |
| `get` | `Function` | Get the a i18n value |
| `update` | `Function` | Pass in a parameter for merging |
[Run Code](/Properties.i18n)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
lang: 'jp',
});
console.log(art.i18n.get('Play'));
art.i18n.update({
'zh-cn': {
Language: '简体',
},
'zh-tw': {
Language: '繁體',
},
jp: {
Language: '日文',
},
});
console.log(art.i18n.get('Language'));
```
## hotkey
| propertie | type | Description |
| --------- | ---------- | ------------ |
| `add` | `function` | Add a hotkey |
[Run Code](/Properties.hotkey)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
// Add a hotkey
art.hotkey.add(27, function (event) {
console.log('You pressed esc button');
});
```
## whitelist
| propertie | type | Description |
| --------- | --------- | ------------------------------------- |
| `state` | `Boolean` | Whether to enable the UI on the phone |
## notice
- Type: `Object`
| propertie | type | Description |
| --------- | -------- | -------------- |
| `show` | `setter` | Show a message |
[Run Code](/Properties.notice)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
// auto hide
art.notice.show = 'some message';
```
## events
Agent for managing native events
- Type: `Object`
| propertie | type | Description |
| --------- | ---------- | ------------------------------------------------------------------------------------ |
| `proxy` | `Function` | A proxy for `addEventListener` and `removeEventListener` to manage event destruction |
| `hover` | `Function` | Hover simplified proxy |
| `loadImg` | `Function` | Determine whether to finish the picture |
| `destroy` | `Function` | Destroy all events |
[Run Code](/Properties.events)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
var target = document.querySelector('body');
art.events.proxy(target, 'click', function (e) {
console.log('body click');
});
```
## layers
Layer manager, and every layer has `show` and `hide` funciton
- Type: `Object`
| propertie | type | Description |
| --------- | ---------- | ----------------------- |
| `add` | `Function` | Dynamically add a layer |
| `show` | `setter` | Show or hide |
[Run Code](/Properties.layers)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
var layer = '/assets/sample/layer.png';
art.layers.add({
html: `<img style="width: 100px" src="${layer}">`,
style: {
position: 'absolute',
top: '20px',
right: '20px',
opacity: '.9',
},
});
```
## controls
Controls manager, and every control has `show` setter
- Type: `Object`
| propertie | type | Description |
| --------- | ---------- | ------------------------- |
| `add` | `Function` | Dynamically add a control |
| `show` | `setter` | Show or hide |
[Run Code](/Properties.controls)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.controls.add({
name: 'myController',
position: 'right',
index: 10,
html: 'myController',
tooltip: 'This is my controller',
click: function () {
console.log('myController');
},
});
```
## contextmenu
Contextmenu manager, and every contextmenu has `show` setter
- Type: `Object`
| propertie | type | Description |
| --------- | ---------- | ----------------------------- |
| `add` | `Function` | Dynamically add a contextmenu |
| `show` | `setter` | Show or hide |
[Run Code](/Properties.contextmenu)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.contextmenu.add({
html: 'Custom menu',
click: function (contextmenu) {
console.info('You clicked on the custom menu');
contextmenu.show = false;
},
});
```
## subtitle
- Type: `Object`
| propertie | type | Description |
| --------- | ---------- | ---------------- |
| `init` | `Function` | Init subtitle |
| `show` | `setter` | Show or hide |
| `switch` | `Function` | Switch subtitle |
| `url` | `getter` | get subtitle url |
[Run Code](/Properties.subtitle)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
subtitle: {
url: '/assets/sample/subtitle.srt',
},
controls: [
{
position: 'right',
index: 10,
html: 'subtitle 01',
click: function () {
art.subtitle.switch('/assets/sample/subtitle.srt', 'srt subtitle name');
},
},
{
position: 'right',
index: 20,
html: 'subtitle 02',
click: function () {
art.subtitle.switch('/assets/sample/subtitle.vtt', 'vtt subtitle name');
},
},
],
});
```
## loading
- Type: `Object`
| propertie | type | Description |
| --------- | -------- | ------------ |
| `show` | `setter` | Show or hide |
[Run Code](/Properties.loading)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.on('ready', function () {
// Show the loading
art.loading.show = true;
setTimeout(function () {
// Hide the loading
art.loading.show = false;
}, 5000);
});
```
## mask
- Type: `Object`
| propertie | type | Description |
| --------- | -------- | ------------ |
| `show` | `setter` | Show or hide |
[Run Code](/Properties.mask)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.on('ready', function () {
// Show the mask
art.mask.show = true;
setTimeout(function () {
// Hide the mask
art.mask.show = false;
}, 5000);
});
```
## setting
Setting manager, and every setting has `show` and `hide` funciton
- Type: `Object`
| propertie | type | Description |
| --------- | ---------- | ------------------------- |
| `add` | `Function` | Dynamically add a setting |
| `show` | `setter` | Show or hide |
[Run Code](/Properties.setting)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
setting: true,
});
art.on('ready', function () {
// Add a setting
art.setting.add({
html: 'Your Setting',
name: 'yourSetting',
});
// Show the setting
art.setting.show = true;
setTimeout(function () {
// Hide the setting
art.setting.show = false;
}, 5000);
});
```
## plugins
Plugins manager
- Type: `Object`
| propertie | type | Description |
| --------- | ---------- | ------------------------ |
| `add` | `Function` | Dynamically add a plugin |
[Run Code](/Properties.plugins)
```js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.plugins.add(function myPlugin(art) {
// Do something you like here.
// You can also return an object for external calls.
console.info('myPlugin running...');
return {
// This exposes plugin properties or methods for others to use. Like:
something: 'something',
doSomething: function () {
console.info('Do something here...');
},
};
});
// Call plugin from the outside
art.plugins.myPlugin.something === 'something';
art.plugins.myPlugin.doSomething();
```
-40
View File
@@ -1,40 +0,0 @@
html,
body,
.container {
height: 100%;
}
.container {
display: flex;
flex-direction: column;
}
.part-top {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
height: 70%;
}
.part-top .config {
width: 500px;
margin-bottom: 20px;
}
.part-top .config .urlInput {
width: 100%;
margin-bottom: 20px;
}
.part-top .artplayer {
opacity: 0;
width: 500px;
height: 300px;
background: #fff;
}
.part-bottom {
position: relative;
height: 30%;
}
-48
View File
@@ -1,48 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Flv plugin for ArtPlayer</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta name="keywords" content="artplayer,html5,video,player,flv">
<meta name="description" content="Flv plugin for ArtPlayer">
<link rel="shortcut icon" href="../assets/img/favicon.ico">
<link rel="stylesheet" href="../assets/css/normalize.css">
<link rel="stylesheet" href="../assets/css/consola.css">
<link rel="stylesheet" href="./css/common.css">
<link rel="stylesheet" href="../uncompiled/artplayer.css">
</head>
<body>
<div class="container">
<div class="part-top">
<div class="config">
<input class="urlInput" type="text" value="./video/again.flv">
<!-- <input class="urlInput" type="text" value="https://blog.zhw-island.com/assets-cdn/video/one-more-time-one-more-chance-480p.flv"> -->
<div class="btns">
<input class="playBtn" type="button" value="Play">
<input class="fileBtn" type="file">
</div>
</div>
<div class="artplayer"></div>
</div>
<div class="part-bottom"></div>
</div>
<script src="../assets/js/consola.js"></script>
<script src="../uncompiled/artplayer.js"></script>
<script src="../uncompiled/artplayer-plugin-flv.js"></script>
<script src="./js/common.js"></script>
<script>
// var _hmt = _hmt || [];
// (function() {
// var hm = document.createElement("script");
// hm.src = "https://hm.baidu.com/hm.js?b6c9b8bafbf5fe7225160101dafbbc7d";
// var s = document.getElementsByTagName("script")[0];
// s.parentNode.insertBefore(hm, s);
// })();
</script>
</body>
</html>
-52
View File
@@ -1,52 +0,0 @@
'use strict';
(function() {
// consola.creat({
// target: '.part-bottom',
// size: '100%',
// zIndex: 99,
// });
console.info('Welcome, if you like it, consider star it, thank you.');
console.info('https://github.com/zhw2590582/ArtPlayer');
window.addEventListener('error', function(err) {
console.error(err.message);
});
var $urlInput = document.querySelector('.urlInput');
var $playBtn = document.querySelector('.playBtn');
var $fileBtn = document.querySelector('.fileBtn');
function creatPlayer(file) {
Artplayer.instances.forEach(function(art) {
art.destroy(true);
});
new Artplayer({
container: '.artplayer',
url: $urlInput.value,
type: 'flv',
customType: {
flv: function(video, url) {
var flv = new Flv({
mediaElement: video,
url: file instanceof File ? file : url,
debug: true,
});
this.on('destroy', () => {
flv.destroy();
});
},
},
});
}
creatPlayer();
$playBtn.addEventListener('click', creatPlayer);
$fileBtn.addEventListener('change', () => {
const file = $fileBtn.files[0];
creatPlayer(file);
});
})();
Binary file not shown.
-53
View File
@@ -1,53 +0,0 @@
html,
body,
.container {
height: 100%;
}
.container {
display: flex;
flex-direction: column;
}
.part-top {
display: flex;
height: 70%;
}
.part-bottom {
position: relative;
height: 30%;
}
.part-left {
width: 50%;
display: flex;
align-items: center;
justify-content: center;
}
.part-right {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
}
.part-left .artplayer {
width: 500px;
height: 300px;
background: #fff;
}
.part-right .preview {
display: flex;
align-items: center;
justify-content: center;
width: 500px;
height: 500px;
background: #f3f3f3;
}
.part-right .preview img {
max-width: 100%;
}
-45
View File
@@ -1,45 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Gif plugin for ArtPlayer</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta name="keywords" content="artplayer,html5,video,player,gif">
<meta name="description" content="Gif plugin for ArtPlayer">
<link rel="shortcut icon" href="../assets/img/favicon.ico">
<link rel="stylesheet" href="../assets/css/normalize.css">
<link rel="stylesheet" href="../assets/css/consola.css">
<link rel="stylesheet" href="./css/common.css">
<link rel="stylesheet" href="../uncompiled/artplayer.css">
</head>
<body>
<div class="container">
<div class="part-top">
<div class="part-left">
<div class="artplayer"></div>
</div>
<div class="part-right">
<div class="preview"></div>
</div>
</div>
<div class="part-bottom"></div>
</div>
<script src="../assets/js/consola.js"></script>
<script src="../uncompiled/artplayer.js"></script>
<script src="../uncompiled/artplayer-plugin-gif.js"></script>
<script src="./js/common.js"></script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?b6c9b8bafbf5fe7225160101dafbbc7d";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</body>
</html>
-47
View File
@@ -1,47 +0,0 @@
'use strict';
(function() {
consola.creat({
target: '.part-bottom',
size: '100%',
zIndex: 99,
});
console.info('Welcome, if you like it, consider star it, thank you.');
console.info('https://github.com/zhw2590582/ArtPlayer');
console.warn('For web video, this plugin depends on the network, so the results are not necessarily ideal.');
window.addEventListener('error', function(err) {
console.error(err.message);
});
var art = new Artplayer({
container: '.artplayer',
url: function () {
return new Promise(function (resolve) {
resolve('https://blog.zhw-island.com/assets-cdn/video/one-more-time-one-more-chance-480p.mp4');
});
},
title: '【新海诚动画】『秒速5センチメートル』',
autoSize: true,
controls: [
{
name: 'preview',
position: 'right',
html: '打开',
mounted: $preview => {
art.plugins.localPreview.attach($preview);
},
},
],
plugins: [artplayerPluginGif]
});
var $preview = document.querySelector('.preview');
art.on('artplayerPluginGif', image => {
var animatedImage = document.createElement('img');
animatedImage.src = image;
$preview.innerHTML = '';
$preview.appendChild(animatedImage);
});
})();
+121
View File
@@ -0,0 +1,121 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Artplayer.js</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" />
<meta name="keywords" content="artplayer, player, js, html5, video" />
<meta name="description" content="ArtPlayer.js is a modern and full featured HTML5 video player" />
<link rel="shortcut icon" href="./assets/img/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="./assets/css/normalize.css" />
<link rel="stylesheet" href="./assets/css/codemirror.css" />
<link rel="stylesheet" href="./assets/css/dracula.css" />
<link rel="stylesheet" href="./assets/css/consola.css" />
<link rel="stylesheet" href="./assets/css/style.css" />
</head>
<body>
<section class="main">
<div class="part-left">
<header class="header">
<a href="./" class="logo">Artplayer.js</a>
<div class="menus">
<div class="item has-sub-menu">
Ecosystem
<div class="sub-menu">
<ul>
<li class="title">Plugins</li>
<li>
<a href="./?libs=.%2Funcompiled%2Fartplayer-plugin-danmuku.js&example=danmuku">artplayer-plugin-danmuku</a>
</li>
<li>
<a href="./?libs=.%2Funcompiled%2Fartplayer-plugin-backlight.js&example=backlight">artplayer-plugin-backlight</a>
</li>
<li>
<a href="./?libs=.%2Funcompiled%2Fartplayer-plugin-gif.js&example=gif">artplayer-plugin-gif</a>
</li>
</ul>
<ul>
<li class="title">Tools</li>
<li>
<a href="./?libs=.%2Funcompiled%2Fartplayer-tool-thumbnail.js&example=thumbnail">artplayer-tool-thumbnail</a>
</li>
<li>
<a href="./?libs=.%2Funcompiled%2Fartplayer-tool-github.js%0A.%2Funcompiled%2Fartplayer-plugin-danmuku.js&example=github">artplayer-tool-github</a>
</li>
</ul>
<ul>
<li class="title">Component</li>
<li><a href="https://codesandbox.io/s/n74859y9rl">artplayer-react</a></li>
<li><a href="https://codesandbox.io/s/6z76lm109n">artplayer-vue</a></li>
</ul>
</div>
</div>
<a class="item" href="./document/">Document</a>
<a class="item" href="https://github.com/zhw2590582/ArtPlayer">Github</a>
<div class="item has-sub-menu">
Donate
<div class="sub-menu">
<ul>
<li>
<a href="https://www.paypal.me/harveyzack">Paypal</a>
</li>
<li>
<a href="https://github.com/zhw2590582/ArtPlayer/blob/master/images/wechatpay.jpg">WeChat Pay</a>
</li>
<li>
<a href="https://github.com/zhw2590582/ArtPlayer/blob/master/images/alipay.jpg">Alipay</a>
</li>
</ul>
</div>
</div>
</div>
<div class="run">Run Code</div>
</header>
<div class="libs">
<textarea class="libsInput"
placeholder="Other dependencies, support for js and css, multiple line breaks"
spellcheck="false"></textarea>
</div>
<div class="code">
<div class="codeMirrorWrap"></div>
</div>
</div>
<div class="part-right">
<div class="video-wrap">
<div class="artplayer-app"></div>
</div>
<div class="console"></div>
</div>
</section>
<div class="popups">
<div class="popinner"></div>
</div>
<script src="./assets/js/codemirror.js"></script>
<script src="./assets/js/javascript.js"></script>
<script src="./assets/js/consola.js"></script>
<script src="./uncompiled/artplayer.js"></script>
<script src="./assets/js/common.js"></script>
<script>
var isLocalhost = Boolean(
window.location.hostname === 'localhost' ||
window.location.hostname === '[::1]' ||
window.location.hostname.match(
/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
)
);
var _hmt = _hmt || [];
(function () {
if (!isLocalhost) {
var hm = document.createElement('script');
hm.src = 'https://hm.baidu.com/hm.js?b6c9b8bafbf5fe7225160101dafbbc7d';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(hm, s);
}
})();
</script>
</body>
</html>
-66
View File
@@ -1,66 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>ArtPlayer.js Lab</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta name="keywords" content="artplayer,html5,video,player">
<meta name="description" content="ArtPlayer is a modern HTML5 video player">
<link rel="shortcut icon" href="../assets/img/favicon.ico">
<link rel="stylesheet" href="../assets/css/normalize.css">
<link rel="stylesheet" href="../uncompiled/artplayer.css">
<style>
html, body {
height: 100%;
}
.container {
height: 100%;
padding: 20px;
box-sizing: border-box;
}
.artplayer-app {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div class="container">
<div class="artplayer-app"></div>
</div>
<script src="https://cdn.bootcss.com/vConsole/3.2.0/vconsole.min.js"></script>
<script src="https://cdn.bootcss.com/hls.js/0.10.1/hls.js"></script>
<script src="../uncompiled/artplayer.js"></script>
<script>
var vConsole = new VConsole();
var whitelist = new URL(window.location.href).searchParams.get('whitelist');
var option = {
container: '.artplayer-app',
url: 'https://video-dev.github.io/streams/x36xhzz/x36xhzz.m3u8',
customType: {
m3u8: function(video, url) {
var hls = new Hls();
hls.loadSource(url);
hls.attachMedia(video);
if (!video.src) {
video.src = url;
}
},
},
}
if (whitelist) {
option.whitelist = [whitelist]
}
var art = new Artplayer(option);
</script>
</body>
</html>
-95
View File
@@ -1,95 +0,0 @@
html, body {
height: 100%;
}
.container {
display: flex;
height: 100%;
}
.part-left {
display: flex;
flex-direction: column;
width: 45%;
border-right: 1px solid #ddd;
}
.part-right {
display: flex;
flex-direction: column;
flex: 1;
overflow: hidden;
}
.part-left .header {
display: flex;
align-items: center;
height: 40px;
line-height: 40px;
padding: 0 20px;
border-bottom: 1px solid #ddd;
box-sizing: border-box;
}
.part-left .header .links {
display: flex;
align-items: center;
flex: 1;
}
.part-left .header .links a {
padding-right: 30px;
}
.part-left .lib {
height: 30px;
padding: 5px;
outline: none;
resize: none;
border: none;
font-size: 13px;
color: #666;
border-bottom: 1px solid #ddd;
}
.part-left .header .run {
height: 30px;
width: 100px;
}
.part-left .code {
flex: 1;
overflow: auto;
}
.part-left .code .CodeMirror {
height: 100%;
}
.part-left .code .CodeMirror pre {
padding-left: 7px;
line-height: 1.25;
}
.part-right .video-wrap {
display: flex;
height: 70%;
align-items: center;
justify-content: center;
border-bottom: 1px solid #ddd;
}
.part-right .video-wrap.dark {
background: #000;
}
.part-right .video-wrap .artplayer-app {
width: 90%;
height: 60%;
border: 1px solid #ddd;
}
.part-right .console {
position: relative;
height: 30%;
}
-56
View File
@@ -1,56 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>ArtPlayer.js Lab</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta name="keywords" content="artplayer,html5,video,player">
<meta name="description" content="ArtPlayer is a modern HTML5 video player">
<link rel="shortcut icon" href="../assets/img/favicon.ico">
<link rel="stylesheet" href="../assets/css/normalize.css">
<link rel="stylesheet" href="../assets/css/consola.css">
<link rel="stylesheet" href="../assets/css/codemirror.css">
<link rel="stylesheet" href="./css/common.css">
<link rel="stylesheet" href="../uncompiled/artplayer.css">
</head>
<body>
<div class="container">
<div class="part-left">
<div class="header">
<div class="links">
<a href="./">ArtPlayer.js Lab</a>
<a href="../docs">Document</a>
<a href="https://github.com/zhw2590582/ArtPlayer">Github</a>
</div>
<input class="run" type="button" value="Run Code">
</div>
<textarea class="lib" cols="30" rows="10" placeholder="Other dependencies, support for js and css, multiple line breaks" spellcheck="false"></textarea>
<div class="code"></div>
</div>
<div class="part-right">
<div class="video-wrap">
<div class="artplayer-app"></div>
</div>
<div class="console"></div>
</div>
</div>
<script src="../assets/js/consola.js"></script>
<script src="../assets/js/codemirror.js"></script>
<script src="../assets/js/javascript.js"></script>
<script src="../uncompiled/artplayer.js"></script>
<script src="./js/common.js"></script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?b6c9b8bafbf5fe7225160101dafbbc7d";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</body>
</html>
-130
View File
@@ -1,130 +0,0 @@
var url = 'https://blog.zhw-island.com/assets-cdn';
var art = new Artplayer({
container: '.artplayer-app',
url: url + '/video/one-more-time-one-more-chance-480p.mp4',
title: '【新海诚动画】『秒速5センチメートル』',
poster: url + '/image/one-more-time-one-more-chance-poster.jpg',
volume: 0.5,
muted: false,
autoplay: false,
pip: true,
autoSize: true,
screenshot: true,
setting: true,
loop: true,
playbackRate: true,
aspectRatio: true,
fullscreen: true,
fullscreenWeb: true,
mutex: true,
theme: '#ffad00',
lang: 'zh-cn',
moreVideoAttr: {
crossOrigin: 'anonymous'
},
contextmenu: [
{
html: '自定义菜单 - 天亮请关灯 Σ(っ °Д °;)っ',
click: function() {
document.querySelector('.video-wrap').classList.toggle('dark');
this.hide();
},
},
],
layers: [
{
html: `<img style="width: 100px" src="${url}/image/your-name.png">`,
click: function() {
art.destroy(true);
art = new Artplayer({
autoplay: true,
container: '.artplayer-app',
url: url + '/video/you-name.mp4',
});
},
style: {
position: 'absolute',
top: '20px',
right: '20px',
opacity: '.9',
},
},
],
quality: [
{
default: true,
name: '标清 480P',
url: url + '/video/one-more-time-one-more-chance-480p.mp4',
},
{
name: '高清 720P',
url: url + '/video/one-more-time-one-more-chance-720p.mp4',
},
],
thumbnails: {
url: url + '/image/one-more-time-one-more-chance-thumbnails.png',
width: 190,
height: 107,
},
subtitle: {
url: url + '/subtitle/one-more-time-one-more-chance.srt',
style: {
color: '#03A9F4',
},
},
highlight: [
{
time: 60,
text: 'One more chance',
},
{
time: 120,
text: '谁でもいいはずなのに',
},
{
time: 180,
text: '夏の想い出がまわる',
},
{
time: 240,
text: 'こんなとこにあるはずもないのに',
},
{
time: 300,
text: '--终わり--',
},
],
controls: [
{
name: 'preview',
position: 'right',
html: '打开',
mounted: $preview => {
art.plugins.localPreview.attach($preview);
},
},
],
icons: {
loading: '<img src="https://static.hdslb.com/player/images/ploading.gif">',
}
});
art.on('firstCanplay', () => {
art.on('resize', $player => {
art.controls.quality.show();
art.controls.setting.show();
art.controls.subtitle.show();
art.controls.pip.show();
var playerWidth = $player.clientWidth;
if (playerWidth < 480) {
art.controls.quality.hide();
art.controls.setting.hide();
}
if (playerWidth < 360) {
art.controls.subtitle.hide();
art.controls.pip.hide();
}
});
});
-9
View File
@@ -1,9 +0,0 @@
var vConsole = new VConsole();
var url = 'https://blog.zhw-island.com/assets-cdn';
var art = new Artplayer({
container: '.artplayer-app',
url: url + '/video/one-more-time-one-more-chance-480p.mp4',
whitelist: ['iPhone OS 11'],
// whitelist: [(ua)=>{ return /iPhone OS 11/gi.test(ua); }],
// whitelist: [/iPhone OS 11/gi]
});
-35
View File
@@ -1,35 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>ArtPlayer.js Lab</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta name="keywords" content="artplayer,html5,video,player">
<meta name="description" content="ArtPlayer is a modern HTML5 video player">
<link rel="shortcut icon" href="../assets/img/favicon.ico">
<link rel="stylesheet" href="../assets/css/normalize.css">
<link rel="stylesheet" href="./css/mobile.css">
<link rel="stylesheet" href="../uncompiled/artplayer.css">
</head>
<body>
<div class="container">
<div class="artplayer-app"></div>
</div>
<script src="https://cdn.bootcss.com/vConsole/3.2.0/vconsole.min.js"></script>
<script src="../uncompiled/artplayer.js"></script>
<script src="./js/mobile.js"></script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?b6c9b8bafbf5fe7225160101dafbbc7d";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</body>
</html>
+46
View File
@@ -0,0 +1,46 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Artplayer.js</title>
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<meta name="keywords" content="artplayer, player, js, html5, video" />
<meta name="description" content="ArtPlayer.js is a modern and full featured HTML5 video player" />
<link rel="shortcut icon" href="./assets/img/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="./assets/css/normalize.css">
<link rel="stylesheet" href="./assets/css/mobile.css">
</head>
<body>
<div class="container">
<div class="artplayer-app"></div>
<p class="tip"></p>
</div>
<script src="https://cdn.bootcss.com/vConsole/3.2.0/vconsole.min.js"></script>
<script src="./uncompiled/artplayer.js"></script>
<script src="./uncompiled/artplayer-plugin-danmuku.js"></script>
<script src="./assets/js/mobile.js"></script>
<script>
var isLocalhost = Boolean(
window.location.hostname === 'localhost' ||
window.location.hostname === '[::1]' ||
window.location.hostname.match(
/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
)
);
var _hmt = _hmt || [];
(function () {
if (!isLocalhost) {
var hm = document.createElement('script');
hm.src = 'https://hm.baidu.com/hm.js?b6c9b8bafbf5fe7225160101dafbbc7d';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(hm, s);
}
})();
</script>
</body>
</html>
-165
View File
@@ -1,165 +0,0 @@
html, body {
height: 100%;
}
::-webkit-input-placeholder {
color:#dadada;
}
:-moz-placeholder {
color:#dadada;
}
::-moz-placeholder {
color:#dadada;
}
:-ms-input-placeholder {
color:#dadada;
}
.container {
height: 100%;
display: flex;
font-size: 14px;
color: #97a8be;
}
.left-part {
width: 40%;
flex-direction: column;
border-right: 1px solid #ddd;
padding: 20px;
box-sizing: border-box;
}
.left-part .upload {
position: relative;
display: flex;
align-items: center;
justify-content: center;
height: 300px;
border: 2px dashed #d9d9d9;
text-align: center;
font-size: 16px;
cursor: pointer;
border-radius: 3px;
margin-bottom: 10px;
box-sizing: border-box;
}
.left-part .upload .file {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
outline: none;
opacity: 0;
}
.left-part .artplayer {
display: none;
height: 300px;
margin-bottom: 10px;
}
.left-part .result {
display: flex;
height: 30px;
line-height: 30px;
margin-bottom: 10px;
}
.left-part .result .item {
display: flex;
height: 30px;
line-height: 30px;
margin-right: 20px;
}
.left-part .result .item .name{
width: 50px;
}
.left-part .setup {
margin-bottom: 10px;
}
.left-part .setup .item {
display: flex;
height: 30px;
line-height: 30px;
margin-bottom: 20px;
}
.left-part .setup .item .name{
width: 65px;
text-align: right;
}
.left-part .setup .item .input {
height: 30px;
width: 200px;
border-radius: 3px;
outline: none;
color: #687079;
border: 1px solid #d9d9d9;
padding: 0 10px;
}
.left-part .btns {
display: flex;
}
.left-part .btns .btn {
width: 120px;
height: 35px;
line-height: 35px;
text-align: center;
border-radius: 3px;
margin-right: 20px;
color: #fff;
cursor: pointer;
}
.left-part .btns .btn.reset {
background: #97a8be;
}
.left-part .btns .btn.create {
background: #3ca5ea;
}
.left-part .btns .btn.download {
background: #3ca5ea;
}
.left-part .btns .btn:hover {
opacity: .8;
}
.rigth-part {
display: flex;
flex-direction: column;
flex: 1;
overflow: hidden;
}
.rigth-part .preview {
width: 100%;
height: 70%;
border: 2px dashed #d9d9d9;
background-color: #f5f5f5;
background-repeat: no-repeat;
background-position: center center;
background-size: contain;
box-sizing: border-box;
}
.rigth-part .preview canvas {
max-width: 100%;
}
.rigth-part .console {
position: relative;
height: 30%;
}
-74
View File
@@ -1,74 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Thumbnail tool for ArtPlayer</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta name="keywords" content="artplayer,html5,video,player,thumbnail">
<meta name="description" content="Thumbnail tool for ArtPlayer">
<link rel="shortcut icon" href="../assets/img/favicon.ico">
<link rel="stylesheet" href="../assets/css/normalize.css">
<link rel="stylesheet" href="../assets/css/consola.css">
<link rel="stylesheet" href="./css/common.css">
<link rel="stylesheet" href="../uncompiled/artplayer.css">
</head>
<body>
<div class="container">
<div class="left-part">
<div class="upload">
Drop video file here or click to upload.
<input class="file" type="file">
</div>
<div class="artplayer"></div>
<div class="setup">
<div class="item">
<div class="name">Delay:</div>
<input class="input delay" type="number" min="10" max="1000" placeholder="10 - 1000" value="300">
</div>
<div class="item">
<div class="name">Number:</div>
<input class="input number" type="number" min="10" max="1000" placeholder="10 - 1000" value="60">
</div>
<div class="item">
<div class="name">Width:</div>
<input class="input width" type="number" min="10" max="1000" placeholder="10 - 1000" value="160">
</div>
<div class="item">
<div class="name">Height:</div>
<input class="input height" type="number" min="10" max="1000" placeholder="10 - 1000" value="90">
</div>
<div class="item">
<div class="name">Column:</div>
<input class="input column" type="number" min="1" max="1000" placeholder="1 - 1000" value="10">
</div>
</div>
<div class="btns">
<div class="btn reset">Reset</div>
<div class="btn download">Download</div>
<div class="btn create">Create</div>
</div>
</div>
<div class="rigth-part">
<div class="preview"></div>
<div class="console"></div>
</div>
</div>
<script src="../assets/js/consola.js"></script>
<script src="../uncompiled/artplayer.js"></script>
<script src="../uncompiled/artplayer-tool-thumbnail.js"></script>
<script src="./js/common.js"></script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?b6c9b8bafbf5fe7225160101dafbbc7d";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</body>
</html>
-103
View File
@@ -1,103 +0,0 @@
'use strict';
(function() {
var $preview = document.querySelector('.preview');
var $upload = document.querySelector('.upload');
var $file = document.querySelector('.file');
var $reset = document.querySelector('.reset');
var $create = document.querySelector('.create');
var $download = document.querySelector('.download');
var $artplayer = document.querySelector('.artplayer');
var $delay = document.querySelector('.delay');
var $number = document.querySelector('.number');
var $width = document.querySelector('.width');
var $height = document.querySelector('.height');
var $column = document.querySelector('.column');
function getConfig() {
return {
delay: Number($delay.value),
number: Number($number.value),
width: Number($width.value),
height: Number($height.value),
column: Number($column.value),
};
}
consola.creat({
target: '.console',
size: '100%',
zIndex: 99,
});
console.info('Welcome, if you like it, consider star it, thank you.');
console.info('https://github.com/zhw2590582/ArtPlayer');
window.addEventListener('error', function(err) {
console.error(err.message);
});
var thumbnail = new ArtplayerToolThumbnail({
fileInput: $file,
});
$reset.addEventListener('click', function() {
window.location.reload();
});
$create.addEventListener('click', function() {
thumbnail.setup(getConfig()).start();
});
$download.addEventListener('click', function() {
thumbnail.download();
});
thumbnail.on('file', function(file) {
console.log('Read video successfully: ' + file.name);
});
thumbnail.on('video', function(video) {
console.log('Video size: ' + video.videoWidth + ' x ' + video.videoHeight);
console.log('Video duration: ' + video.duration + 's');
thumbnail.setup(getConfig()).start();
});
thumbnail.on('canvas', function(canvas) {
console.log('Build canvas successfully');
console.log('Canvas size: ' + canvas.width + ' x ' + canvas.height);
console.log('Preview density: ' + thumbnail.density + ' p/s');
});
thumbnail.on('update', function(url, percentage) {
console.log('Processing: ' + Math.floor(percentage.toFixed(2) * 100) + '%');
$preview.style.backgroundImage = 'url(' + url + ')';
});
thumbnail.on('download', function(name) {
console.log('Start download preview: ' + name);
});
thumbnail.on('done', function() {
console.log('Build preview image complete');
$upload.style.display = 'none';
$artplayer.style.display = 'block';
Artplayer.instances.forEach(function(art) {
art.destroy(true);
});
new Artplayer({
container: $artplayer,
url: thumbnail.videoUrl,
thumbnails: {
url: thumbnail.thumbnailUrl,
number: thumbnail.option.number,
width: thumbnail.option.width,
height: thumbnail.option.height,
column: thumbnail.option.column,
},
});
console.log('Build player complete');
});
})();
@@ -0,0 +1,142 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, global.artplayerPluginBacklight = factory());
}(this, (function () { 'use strict';
function matrixCallback(callback) {
var result = [];
var x = 10;
var y = 5;
for (var xIndex = 0; xIndex < x; xIndex += 1) {
for (var yIndex = 0; yIndex < y; yIndex += 1) {
if (xIndex === 0 || xIndex === x - 1 || yIndex === 0 || yIndex === y - 1) {
result.push(callback(xIndex, yIndex, x, y));
}
}
}
return result;
}
function getColors($canvas, $video, width, height) {
var ctx = $canvas.getContext('2d');
$canvas.width = width;
$canvas.height = height;
ctx.drawImage($video, 0, 0);
return matrixCallback(function (xIndex, yIndex, x, y) {
var itemW = width / x;
var itemH = height / y;
var itemX = xIndex * itemW;
var itemY = yIndex * itemH;
var _ctx$getImageData = ctx.getImageData(itemX, itemY, itemW, itemH),
data = _ctx$getImageData.data;
var r = 0;
var g = 0;
var b = 0;
for (var i = 0, l = data.length; i < l; i += 4) {
r += data[i];
g += data[i + 1];
b += data[i + 2];
}
r = Math.floor(r / (data.length / 4));
g = Math.floor(g / (data.length / 4));
b = Math.floor(b / (data.length / 4));
return {
r: r,
g: g,
b: b
};
});
}
function creatMatrix(parent) {
return matrixCallback(function (xIndex, yIndex, x, y) {
var $box = document.createElement('div');
$box.style.position = 'absolute';
$box.style.left = "".concat(xIndex * 100 / x, "%");
$box.style.top = "".concat(yIndex * 100 / y, "%");
$box.style.width = "".concat(100 / x, "%");
$box.style.height = "".concat(100 / y, "%");
$box.style.webkitBorderRadius = '50%';
$box.style.borderRadius = '50%';
$box.style.webkitTransition = 'all .2s ease';
$box.style.transition = 'all .2s ease';
parent.appendChild($box);
return {
$box: $box,
left: xIndex === 0,
right: xIndex === x - 1,
top: yIndex === 0,
bottom: yIndex === y - 1
};
});
}
function artplayerPluginBacklight(art) {
var setStyles = art.constructor.utils.setStyles;
var _art$template = art.template,
$player = _art$template.$player,
$video = _art$template.$video,
player = art.player;
var $backlight = document.createElement('div');
$backlight.classList.add('artplayer-backlight');
setStyles($backlight, {
position: 'absolute',
zIndex: 9,
left: 0,
top: 0,
right: 0,
bottom: 0,
width: '100%',
height: '100%'
});
var matrix = creatMatrix($backlight);
var $canvas = document.createElement('canvas');
$player.insertBefore($backlight, $video);
(function loop() {
setTimeout(function () {
if (player.playing) {
var clientWidth = $video.clientWidth,
clientHeight = $video.clientHeight;
var colors = getColors($canvas, $video, clientWidth, clientHeight);
colors.forEach(function (_ref, index) {
var r = _ref.r,
g = _ref.g,
b = _ref.b;
var _matrix$index = matrix[index],
$box = _matrix$index.$box,
left = _matrix$index.left,
right = _matrix$index.right,
top = _matrix$index.top,
bottom = _matrix$index.bottom; // eslint-disable-next-line no-nested-ternary
var x = left ? '-64px' : right ? '64px' : '0'; // eslint-disable-next-line no-nested-ternary
var y = top ? '-64px' : bottom ? '64px' : '0';
$box.style.webkitBoxShadow = "rgb(".concat(r, ", ").concat(g, ", ").concat(b, ") ").concat(x, " ").concat(y, " 128px");
$box.style.boxShadow = "rgb(".concat(r, ", ").concat(g, ", ").concat(b, ") ").concat(x, " ").concat(y, " 128px");
});
}
if (!art.isDestroy) {
loop();
}
}, 200);
})();
return {
name: 'artplayerPluginBacklight'
};
}
return artplayerPluginBacklight;
})));
//# sourceMappingURL=artplayer-plugin-backlight.js.map
@@ -0,0 +1 @@
{"version":3,"file":"artplayer-plugin-backlight.js","sources":["../../packages/artplayer-plugin-backlight/src/index.js"],"sourcesContent":["function matrixCallback(callback) {\n const result = [];\n const x = 10;\n const y = 5;\n for (let xIndex = 0; xIndex < x; xIndex += 1) {\n for (let yIndex = 0; yIndex < y; yIndex += 1) {\n if (xIndex === 0 || xIndex === x - 1 || yIndex === 0 || yIndex === y - 1) {\n result.push(callback(xIndex, yIndex, x, y));\n }\n }\n }\n return result;\n}\n\nfunction getColors($canvas, $video, width, height) {\n const ctx = $canvas.getContext('2d');\n $canvas.width = width;\n $canvas.height = height;\n ctx.drawImage($video, 0, 0);\n return matrixCallback((xIndex, yIndex, x, y) => {\n const itemW = width / x;\n const itemH = height / y;\n const itemX = xIndex * itemW;\n const itemY = yIndex * itemH;\n const { data } = ctx.getImageData(itemX, itemY, itemW, itemH);\n let r = 0;\n let g = 0;\n let b = 0;\n for (let i = 0, l = data.length; i < l; i += 4) {\n r += data[i];\n g += data[i + 1];\n b += data[i + 2];\n }\n r = Math.floor(r / (data.length / 4));\n g = Math.floor(g / (data.length / 4));\n b = Math.floor(b / (data.length / 4));\n return { r, g, b };\n });\n}\n\nfunction creatMatrix(parent) {\n return matrixCallback((xIndex, yIndex, x, y) => {\n const $box = document.createElement('div');\n $box.style.position = 'absolute';\n $box.style.left = `${(xIndex * 100) / x}%`;\n $box.style.top = `${(yIndex * 100) / y}%`;\n $box.style.width = `${100 / x}%`;\n $box.style.height = `${100 / y}%`;\n $box.style.webkitBorderRadius = '50%';\n $box.style.borderRadius = '50%';\n $box.style.webkitTransition = 'all .2s ease';\n $box.style.transition = 'all .2s ease';\n parent.appendChild($box);\n return {\n $box,\n left: xIndex === 0,\n right: xIndex === x - 1,\n top: yIndex === 0,\n bottom: yIndex === y - 1,\n };\n });\n}\n\nfunction artplayerPluginBacklight(art) {\n const { setStyles } = art.constructor.utils;\n const {\n template: { $player, $video },\n player,\n } = art;\n\n const $backlight = document.createElement('div');\n $backlight.classList.add('artplayer-backlight');\n setStyles($backlight, {\n position: 'absolute',\n zIndex: 9,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n width: '100%',\n height: '100%',\n });\n\n const matrix = creatMatrix($backlight);\n const $canvas = document.createElement('canvas');\n $player.insertBefore($backlight, $video);\n\n (function loop() {\n setTimeout(() => {\n if (player.playing) {\n const { clientWidth, clientHeight } = $video;\n const colors = getColors($canvas, $video, clientWidth, clientHeight);\n colors.forEach(({ r, g, b }, index) => {\n const { $box, left, right, top, bottom } = matrix[index];\n // eslint-disable-next-line no-nested-ternary\n const x = left ? '-64px' : right ? '64px' : '0';\n // eslint-disable-next-line no-nested-ternary\n const y = top ? '-64px' : bottom ? '64px' : '0';\n $box.style.webkitBoxShadow = `rgb(${r}, ${g}, ${b}) ${x} ${y} 128px`;\n $box.style.boxShadow = `rgb(${r}, ${g}, ${b}) ${x} ${y} 128px`;\n });\n }\n\n if (!art.isDestroy) {\n loop();\n }\n }, 200);\n })();\n\n return {\n name: 'artplayerPluginBacklight',\n };\n}\n\nexport default artplayerPluginBacklight;\n"],"names":["matrixCallback","callback","result","x","y","xIndex","yIndex","push","getColors","$canvas","$video","width","height","ctx","getContext","drawImage","itemW","itemH","itemX","itemY","getImageData","data","r","g","b","i","l","length","Math","floor","creatMatrix","parent","$box","document","createElement","style","position","left","top","webkitBorderRadius","borderRadius","webkitTransition","transition","appendChild","right","bottom","artplayerPluginBacklight","art","setStyles","constructor","utils","template","$player","player","$backlight","classList","add","zIndex","matrix","insertBefore","loop","setTimeout","playing","clientWidth","clientHeight","colors","forEach","index","webkitBoxShadow","boxShadow","isDestroy","name"],"mappings":";;;;;;IAAA,SAASA,cAAT,CAAwBC,QAAxB,EAAkC;IAC9B,MAAMC,MAAM,GAAG,EAAf;IACA,MAAMC,CAAC,GAAG,EAAV;IACA,MAAMC,CAAC,GAAG,CAAV;;IACA,OAAK,IAAIC,MAAM,GAAG,CAAlB,EAAqBA,MAAM,GAAGF,CAA9B,EAAiCE,MAAM,IAAI,CAA3C,EAA8C;IAC1C,SAAK,IAAIC,MAAM,GAAG,CAAlB,EAAqBA,MAAM,GAAGF,CAA9B,EAAiCE,MAAM,IAALine truncated
@@ -1 +0,0 @@
.artplayerPluginDanmu{display:flex}
-18
View File
@@ -1,18 +0,0 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(factory((global['artplayer-plugin-danmu'] = {})));
}(this, (function (exports) { 'use strict';
function artplayerPluginDanmu(Artplayer) {
var art = Artplayer.prototype;
console.log(art);
}
window.artplayerPluginDanmu = artplayerPluginDanmu;
exports.default = artplayerPluginDanmu;
Object.defineProperty(exports, '__esModule', { value: true });
})));
+721
View File
@@ -0,0 +1,721 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, global.artplayerPluginDanmuku = factory());
}(this, (function () { 'use strict';
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
var defineProperty = _defineProperty;
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
var classCallCheck = _classCallCheck;
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
var createClass = _createClass;
var i18n = {
'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 opacity(art) {
var i18n = art.i18n,
proxy = art.events.proxy;
return {
name: 'danmuku-opacity',
index: 10,
html: "\n <div class=\"art-setting-header\">\n ".concat(i18n.get('Danmu opacity'), ": <span class=\"art-value\">100</span>%\n </div>\n <div class=\"art-setting-range\">\n <input type=\"range\" value=\"1\" min=\"0.1\" max=\"1\" step=\"0.1\">\n </div>\n "),
mounted: function mounted($setting) {
var $range = $setting.querySelector('input[type=range]');
var $value = $setting.querySelector('.art-value');
proxy($range, 'change', function () {
var value = $range.value;
$value.innerText = Number(value) * 100;
art.plugins.artplayerPluginDanmuku.config({
opacity: Number(value)
});
});
art.on('artplayerPluginDanmuku:config', function (config) {
if ($range.value !== config.opacity) {
$range.value = config.opacity;
$value.innerText = config.opacity * 100;
}
});
}
};
}
function size(art) {
var i18n = art.i18n,
proxy = art.events.proxy;
return {
name: 'danmuku-size',
index: 11,
html: "\n <div class=\"art-setting-header\">\n ".concat(i18n.get('Danmu size'), ": <span class=\"art-value\">25</span>px\n </div>\n <div class=\"art-setting-range\">\n <input type=\"range\" value=\"25\" min=\"14\" max=\"30\" step=\"1\">\n </div>\n "),
mounted: function mounted($setting) {
var $range = $setting.querySelector('input[type=range]');
var $value = $setting.querySelector('.art-value');
proxy($range, 'change', function () {
var value = $range.value;
$value.innerText = value;
art.plugins.artplayerPluginDanmuku.config({
fontSize: Number(value)
});
});
art.on('artplayerPluginDanmuku:config', function (config) {
if ($range.value !== config.fontSize) {
$range.value = config.fontSize;
$value.innerText = config.fontSize;
}
});
}
};
}
function speed(art) {
var i18n = art.i18n,
proxy = art.events.proxy;
return {
name: 'danmuku-speed',
index: 12,
html: "\n <div class=\"art-setting-header\">\n ".concat(i18n.get('Danmu speed'), ": <span class=\"art-value\">5</span>s\n </div>\n <div class=\"art-setting-range\">\n <input type=\"range\" value=\"5\" min=\"1\" max=\"10\" step=\"1\">\n </div>\n "),
mounted: function mounted($setting) {
var $range = $setting.querySelector('input[type=range]');
var $value = $setting.querySelector('.art-value');
proxy($range, 'change', function () {
var value = $range.value;
$value.innerText = value;
art.plugins.artplayerPluginDanmuku.config({
speed: Number(value)
});
});
art.on('artplayerPluginDanmuku:config', function (config) {
if ($range.value !== config.speed) {
$range.value = config.speed;
$value.innerText = config.speed;
}
});
}
};
}
function synchronousPlayback(art) {
var i18n = art.i18n,
proxy = art.events.proxy;
return {
name: 'danmuku-synchronousPlayback',
index: 13,
html: "\n <label class=\"art-setting-checkbox\">\n <input type=\"checkbox\"/>".concat(i18n.get('Danmu speed synchronous playback multiple'), "\n </label>\n "),
mounted: function mounted($setting) {
var $checkbox = $setting.querySelector('input[type=checkbox]');
proxy($checkbox, 'change', function () {
art.plugins.artplayerPluginDanmuku.config({
synchronousPlayback: $checkbox.checked
});
});
art.on('artplayerPluginDanmuku:config', function (config) {
if ($checkbox.checked !== config.synchronousPlayback) {
$checkbox.checked = config.synchronousPlayback;
}
});
}
};
}
function filter(queue, state, callback) {
return queue.filter(function (danmu) {
return danmu.$state === state;
}).map(callback);
}
function getRect(ref, key) {
var result = ref.getBoundingClientRect();
return key ? result[key] : result;
}
function getDanmuRef(queue) {
var result = queue.find(function (danmu) {
return danmu.$ref && danmu.$state === 'wait';
});
if (result) {
var _$ref = result.$ref;
result.$ref = null;
return _$ref;
}
var $ref = document.createElement('div');
$ref.style.cssText = "\n user-select: none;\n position: absolute;\n white-space: pre;\n pointer-events: none;\n perspective: 500px;\n display: inline-block;\n will-change: transform;\n font-family: SimHei, \"Microsoft JhengHei\", Arial, Helvetica, sans-serif;\n font-weight: normal;\n line-height: 1.125;\n text-shadow: rgb(0, 0, 0) 1px 0px 1px, rgb(0, 0, 0) 0px 1px 1px, rgb(0, 0, 0) 0px -1px 1px, rgb(0, 0, 0) -1px 0px 1px;\n ";
return $ref;
}
function _arrayWithHoles(arr) {
if (Array.isArray(arr)) return arr;
}
var arrayWithHoles = _arrayWithHoles;
function _iterableToArrayLimit(arr, i) {
if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
return;
}
var _arr = [];
var _n = true;
var _d = false;
var _e = undefined;
try {
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
_arr.push(_s.value);
if (i && _arr.length === i) break;
}
} catch (err) {
_d = true;
_e = err;
} finally {
try {
if (!_n && _i["return"] != null) _i["return"]();
} finally {
if (_d) throw _e;
}
}
return _arr;
}
var iterableToArrayLimit = _iterableToArrayLimit;
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance");
}
var nonIterableRest = _nonIterableRest;
function _slicedToArray(arr, i) {
return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();
}
var slicedToArray = _slicedToArray;
function getMode(key) {
switch (key) {
case 1:
case 2:
case 3:
return 0;
case 4:
case 5:
return 1;
default:
return 0;
}
}
function bilibiliDanmuParseFromXml(xmlString) {
if (typeof xmlString !== 'string') return [];
var srtList = xmlString.match(/<d([\S ]*?>[\S ]*?)<\/d>/gi);
return srtList.length ? srtList.map(function (item) {
var _item$match = item.match(/<d p="(.+)">(.+)<\/d>/),
_item$match2 = slicedToArray(_item$match, 3),
attrStr = _item$match2[1],
text = _item$match2[2];
var attr = attrStr.split(',');
return attr.length === 8 && text.trim() ? {
text: text,
time: Number(attr[0]),
mode: getMode(Number(attr[1])),
fontSize: Number(attr[2]),
color: "#".concat(Number(attr[3]).toString(16)),
timestamp: Number(attr[4]),
pool: Number(attr[5]),
userID: attr[6],
rowID: Number(attr[7])
} : null;
}) : [];
}
function bilibiliDanmuParseFromUrl(url) {
return fetch(url).then(function (res) {
return res.text();
}).then(function (xmlString) {
return bilibiliDanmuParseFromXml(xmlString);
});
}
function calculatedTop(danmus) {
var top = 0;
var topMap = {};
for (var index = 0; index < danmus.length; index += 1) {
var item = danmus[index];
if (topMap[item.top]) {
topMap[item.top].push(item);
} else {
topMap[item.top] = [item];
}
}
var topMapKeys = Object.keys(topMap);
var maxDiff = 0;
for (var _index = 1; _index < danmus.length; _index += 1) {
var _item = danmus[_index];
var prev = danmus[_index - 1];
var prevTop = prev.top + prev.height;
var diff = _item.top - prevTop;
if (diff > maxDiff) {
top = prevTop;
maxDiff = diff;
}
}
if (top === 0) {
var maxRight = 0;
for (var _index2 = 0; _index2 < topMapKeys.length; _index2 += 1) {
var minRight = danmus[0].width;
var topKey = topMapKeys[_index2];
var danmuArr = topMap[topKey];
for (var _index3 = 0; _index3 < danmuArr.length; _index3 += 1) {
var danmu = danmuArr[_index3];
if (danmu.right < minRight) {
minRight = danmu.right;
}
}
if (minRight > maxRight) {
maxRight = minRight;
var _danmuArr = slicedToArray(danmuArr, 1);
top = _danmuArr[0].top;
}
}
}
if (top === 0) {
var _topMapKeys$filter$so = topMapKeys.filter(function (item, index) {
return index !== 0 && index !== topMapKeys.length - 1;
}).sort(function (prev, next) {
return topMap[prev].length - topMap[next].length;
});
var _topMapKeys$filter$so2 = slicedToArray(_topMapKeys$filter$so, 1);
top = _topMapKeys$filter$so2[0];
}
return top;
}
function getDanmuTop(ins, danmu) {
var _ins$option$margin = slicedToArray(ins.option.margin, 2),
marginTop = _ins$option$margin[0],
marginBottom = _ins$option$margin[1];
var playerData = getRect(ins.art.template.$player);
var danmus = ins.queue.filter(function (item) {
return item.mode === danmu.mode && item.$state === 'emit' && item.$ref && item.$ref.style.fontSize === danmu.$ref.style.fontSize && parseFloat(item.$ref.style.top) <= playerData.height - marginBottom;
}).map(function (item) {
var danmuData = getRect(item.$ref);
var width = danmuData.width,
height = danmuData.height;
var top = danmuData.top - playerData.top;
var left = danmuData.left - playerData.left;
var right = playerData.width - left - width;
return {
top: top,
left: left,
height: height,
width: width,
right: right
};
}).sort(function (prev, next) {
return prev.top - next.top;
});
if (danmus.length === 0) {
return marginTop;
}
danmus.unshift({
top: 0,
left: 0,
right: 0,
height: marginTop,
width: playerData.width
});
danmus.push({
top: playerData.height - marginBottom,
left: 0,
right: 0,
height: marginBottom,
width: playerData.width
});
return calculatedTop(danmus);
}
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
var Danmuku =
/*#__PURE__*/
function () {
function Danmuku(art, option) {
var _this = this;
classCallCheck(this, Danmuku);
art.i18n.update(i18n);
art.setting.add(opacity);
art.setting.add(size);
art.setting.add(speed);
art.setting.add(synchronousPlayback);
this.art = art;
this.queue = [];
this.option = {};
this.config(option);
this.isStop = false;
this.isHide = false;
this.animationFrameTimer = null;
this.$danmuku = art.template.$danmuku;
art.on('video:play', this.start.bind(this));
art.on('video:playing', this.start.bind(this));
art.on('video:pause', this.stop.bind(this));
art.on('video:waiting', this.stop.bind(this));
art.on('resize', this.resize.bind(this));
art.on('destroy', this.stop.bind(this));
if (typeof this.option.danmuku === 'function') {
this.option.danmuku().then(function (danmus) {
danmus.forEach(_this.emit.bind(_this));
art.emit('artplayerPluginDanmuku:loaded');
});
} else if (typeof this.option.danmuku === 'string') {
bilibiliDanmuParseFromUrl(this.option.danmuku).then(function (danmus) {
danmus.forEach(_this.emit.bind(_this));
art.emit('artplayerPluginDanmuku:loaded');
});
} else {
this.option.danmuku.forEach(this.emit.bind(this));
art.emit('artplayerPluginDanmuku:loaded');
}
}
createClass(Danmuku, [{
key: "config",
value: function config(option) {
var _this$art$constructor = this.art.constructor,
clamp = _this$art$constructor.utils.clamp,
validator = _this$art$constructor.validator;
this.option = Object.assign({}, Danmuku.option, this.option, option);
validator(this.option, Danmuku.scheme);
this.option.speed = clamp(this.option.speed, 1, 10);
this.option.maxlength = clamp(this.option.maxlength, 10, 100);
this.option.margin[0] = clamp(this.option.margin[0], 0, 100);
this.option.margin[1] = clamp(this.option.margin[1], 0, 100);
this.option.opacity = clamp(this.option.opacity, 0, 1);
this.option.fontSize = clamp(this.option.fontSize, 12, 30);
this.art.emit('artplayerPluginDanmuku:config', this.option);
}
}, {
key: "continue",
value: function _continue() {
filter(this.queue, 'stop', function (danmu) {
danmu.$state = 'emit';
danmu.$lastStartTime = Date.now();
switch (danmu.mode) {
case 0:
danmu.$ref.style.transform = "translateX(".concat(-danmu.$restWidth, "px) translateY(0px) translateZ(0px)");
danmu.$ref.style.transition = "transform ".concat(danmu.$restTime, "s linear 0s");
break;
}
});
}
}, {
key: "suspend",
value: function suspend() {
var $player = this.art.template.$player;
filter(this.queue, 'emit', function (danmu) {
danmu.$state = 'stop';
switch (danmu.mode) {
case 0:
{
var _getRect = getRect($player),
playerLeft = _getRect.left,
playerWidth = _getRect.width;
var _getRect2 = getRect(danmu.$ref),
danmuLeft = _getRect2.left;
var translateX = playerWidth - (danmuLeft - playerLeft) + 5;
danmu.$ref.style.transform = "translateX(".concat(-translateX, "px) translateY(0px) translateZ(0px)");
danmu.$ref.style.transition = 'transform 0s linear 0s';
break;
}
}
});
}
}, {
key: "resize",
value: function resize() {
var $player = this.art.template.$player;
var danmuLeft = getRect($player, 'width');
filter(this.queue, 'wait', function (danmu) {
if (danmu.$ref) {
danmu.$ref.style.border = 'none';
danmu.$ref.style.left = "".concat(danmuLeft, "px");
danmu.$ref.style.marginLeft = '0px';
danmu.$ref.style.transform = 'translateX(0px) translateY(0px) translateZ(0px)';
danmu.$ref.style.transition = 'transform 0s linear 0s';
}
});
}
}, {
key: "update",
value: function update() {
var _this2 = this;
var _this$art = this.art,
player = _this$art.player,
$player = _this$art.template.$player;
this.animationFrameTimer = window.requestAnimationFrame(function () {
if (player.playing && !_this2.isHide) {
var danmuLeft = getRect($player, 'width');
filter(_this2.queue, 'emit', function (danmu) {
danmu.$restTime -= (Date.now() - danmu.$lastStartTime) / 1000;
danmu.$lastStartTime = Date.now();
if (danmu.$restTime <= 0) {
danmu.$state = 'wait';
danmu.$ref.style.border = 'none';
danmu.$ref.style.left = "".concat(danmuLeft, "px");
danmu.$ref.style.marginLeft = '0px';
danmu.$ref.style.transform = 'translateX(0px) translateY(0px) translateZ(0px)';
danmu.$ref.style.transition = 'transform 0s linear 0s';
}
});
_this2.queue.filter(function (danmu) {
return player.currentTime + 0.1 >= danmu.time && danmu.time >= player.currentTime - 0.1 && danmu.$state === 'wait';
}).forEach(function (danmu) {
danmu.$ref = getDanmuRef(_this2.queue);
_this2.$danmuku.appendChild(danmu.$ref);
danmu.$ref.style.opacity = _this2.option.opacity;
danmu.$ref.style.fontSize = "".concat(_this2.option.fontSize, "px");
danmu.$ref.innerText = danmu.text;
danmu.$ref.style.color = danmu.color || '#fff';
danmu.$ref.style.border = danmu.border ? "1px solid ".concat(danmu.color || '#fff') : 'none';
danmu.$restTime = _this2.option.synchronousPlayback && player.playbackRate ? _this2.option.speed / Number(player.playbackRate) : _this2.option.speed;
danmu.$lastStartTime = Date.now();
var danmuWidth = getRect(danmu.$ref, 'width');
var danmuTop = getDanmuTop(_this2, danmu);
danmu.$state = 'emit';
switch (danmu.mode) {
case 0:
{
danmu.$restWidth = danmuLeft + danmuWidth + 5;
danmu.$ref.style.left = "".concat(danmuLeft, "px");
danmu.$ref.style.top = "".concat(danmuTop, "px");
danmu.$ref.style.transform = "translateX(".concat(-danmu.$restWidth, "px) translateY(0px) translateZ(0px)");
danmu.$ref.style.transition = "transform ".concat(danmu.$restTime, "s linear 0s");
break;
}
case 1:
danmu.$ref.style.top = "".concat(danmuTop, "px");
danmu.$ref.style.left = '50%';
danmu.$ref.style.marginLeft = "-".concat(danmuWidth / 2, "px");
break;
}
});
}
if (!_this2.isStop) {
_this2.update();
}
});
}
}, {
key: "stop",
value: function stop() {
this.isStop = true;
this.suspend();
window.cancelAnimationFrame(this.animationFrameTimer);
this.art.emit('artplayerPluginDanmuku:stop');
}
}, {
key: "start",
value: function start() {
this.isStop = false;
this.continue();
this.update();
this.art.emit('artplayerPluginDanmuku:start');
}
}, {
key: "show",
value: function show() {
this.isHide = false;
this.$danmuku.style.display = 'block';
this.art.emit('artplayerPluginDanmuku:show');
}
}, {
key: "hide",
value: function hide() {
this.isHide = true;
this.$danmuku.style.display = 'none';
this.art.emit('artplayerPluginDanmuku:hide');
}
}, {
key: "emit",
value: function emit(danmu) {
var _this$art2 = this.art,
notice = _this$art2.notice,
player = _this$art2.player,
i18n = _this$art2.i18n;
var _this$art$constructor2 = this.art.constructor,
clamp = _this$art$constructor2.utils.clamp,
validator = _this$art$constructor2.validator;
validator(danmu, {
text: 'string',
mode: 'number|undefined',
color: 'string|undefined',
time: 'number|undefined',
border: 'boolean|undefined'
});
if (!danmu.text.trim()) {
notice.show = i18n.get('Danmu text cannot be empty');
return;
}
if (danmu.text.length > this.option.maxlength) {
notice.show = "".concat(i18n.get('The length of the danmu does not exceed'), " ").concat(this.option.maxlength);
return;
}
if (danmu.time) {
danmu.time = clamp(danmu.time, 0, Infinity);
} else {
danmu.time = player.currentTime + 0.5;
}
this.queue.push(_objectSpread({
mode: 0
}, danmu, {
$state: 'wait',
$ref: null,
$restTime: 0,
$lastStartTime: 0,
$restWidth: 0
}));
}
}], [{
key: "option",
get: function get() {
return {
danmuku: [],
speed: 5,
maxlength: 50,
margin: [10, 100],
opacity: 1,
fontSize: 25,
synchronousPlayback: false
};
}
}, {
key: "scheme",
get: function get() {
return {
danmuku: 'array|function|string',
speed: 'number',
maxlength: 'number',
margin: 'array',
opacity: 'number',
fontSize: 'number',
synchronousPlayback: 'boolean'
};
}
}]);
return Danmuku;
}();
function artplayerPluginDanmuku(option) {
return function (art) {
var danmuku = new Danmuku(art, option);
return {
name: 'artplayerPluginDanmuku',
emit: danmuku.emit.bind(danmuku),
config: danmuku.config.bind(danmuku),
hide: danmuku.hide.bind(danmuku),
show: danmuku.show.bind(danmuku),
get isHide() {
return danmuku.isHide;
}
};
};
}
return artplayerPluginDanmuku;
})));
//# sourceMappingURL=artplayer-plugin-danmuku.js.map
@@ -0,0 +1 @@
{"version":3,"file":"artplayer-plugin-danmuku.js","sources":["../../node_modules/@babel/runtime/helpers/defineProperty.js","../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../packages/artplayer-plugin-danmuku/src/i18n.js","../../packages/artplayer-plugin-danmuku/src/setting.js","../../packages/artplayer-plugin-danmuku/src/utils.js","../../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../../node_modules/@babel/runtime/helpers/nonIterableRest.js","../../node_modules/@babel/runtime/helpers/slicedToArray.js","../../packages/artplayer-plugin-danmuku/src/bilibili.js","../../packages/artplayer-plugin-danmuku/src/getDanmuTop.js","../../packages/artplayer-plugin-danmuku/src/danmuku.js","../../packages/artplayer-plugin-danmuku/src/index.js"],"sourcesContent":["function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","export default {\n 'zh-cn': {\n 'Danmu opacity': '弹幕透明度',\n 'Danmu speed': '弹幕速度',\n 'Danmu size': '弹幕大小',\n 'Danmu text cannot be empty': '弹幕文本不能为空',\n 'The length of the danmu does not exceed': '弹幕文本字数不能超过',\n 'Danmu speed synchronous playback multiple': '弹幕速度同步播放倍数',\n },\n 'zh-tw': {\n 'Danmu opacity': '彈幕透明度',\n 'Danmu speed': '彈幕速度',\n 'Danmu size': '弹幕大小',\n 'Danmu text cannot be empty': '彈幕文本不能為空',\n 'The length of the danmu does not exceed': '彈幕文本字數不能超過',\n 'Danmu speed synchronous playback multiple': '彈幕速度同步播放倍數',\n },\n};","export function opacity(art) {\n const {\n i18n,\n events: { proxy },\n } = art;\n\n return {\n name: 'danmuku-opacity',\n index: 10,\n html: `\n <div class=\"art-setting-header\">\n ${i18n.get('Danmu opacity')}: <span class=\"art-value\">100</span>%\n </div>\n <div class=\"art-setting-range\">\n <input type=\"range\" value=\"1\" min=\"0.1\" max=\"1\" step=\"0.1\">\n </div>\n `,\n mounted: $setting => {\n const $range = $setting.querySelector('input[type=range]');\n const $value = $setting.querySelector('.art-value');\n proxy($range, 'change', () => {\n const { value } = $range;\n $value.innerText = Number(value) * 100;\n\n art.plugins.artplayerPluginDanmuku.config({\n opacity: Number(value),\n });\n });\n\n art.on('artplayerPluginDanmuku:config', config => {\n if ($range.value !== config.opacity) {\n $range.value = config.opacity;\n $value.innerText = config.opacity * 100;\n }\n });\n },\n };\n}\n\nexport function size(art) {\n const {\n i18n,\n events: { proxy },\n } = art;\n\n return {\n name: 'danmuku-size',\n index: 11,\n html: `\n <div class=\"art-setting-header\">\n ${i18n.get('Danmu size')}: <span class=\"art-value\">25</span>px\n </div>\n <div class=\"art-setting-range\">\n <input type=\"range\" value=\"25\" min=\"14\" max=\"30\" step=\"1\">\n </div>\n `,\n mounted: $setting => {\n const $range = $setting.querySelector('input[type=range]');\n const $value = $setting.querySelector('.art-value');\n proxy($range, 'change', () => {\n const { value } = $range;\n $value.innerText = value;\n\n art.plugins.artplayerPluginDanmuku.config({\n fLine truncated
File diff suppressed because it is too large. Load diff
@@ -1 +0,0 @@
{"version":3,"file":"artplayer-plugin-flv.js","sources":["../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../node_modules/@babel/runtime/helpers/typeof.js","../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/inherits.js","../../packages/artplayer-plugin-flv/node_modules/tiny-emitter/index.js","../../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../../node_modules/@babel/runtime/helpers/iterableToArray.js","../../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../../node_modules/@babel/runtime/helpers/toConsumableArray.js","../../node_modules/@babel/runtime/helpers/isNativeFunction.js","../../node_modules/@babel/runtime/helpers/construct.js","../../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../packages/artplayer-plugin-flv/src/utils/flvError.js","../../packages/artplayer-plugin-flv/src/utils/index.js","../../packages/artplayer-plugin-flv/src/utils/checkSupport.js","../../packages/artplayer-plugin-flv/src/eventProxy.js","../../packages/artplayer-plugin-flv/src/creatWorker.js","../../packages/artplayer-plugin-flv/src/config.js","../../packages/artplayer-plugin-flv/src/creatMediaSource.js","../../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../../node_modules/@babel/runtime/helpers/nonIterableRest.js","../../node_modules/@babel/runtime/helpers/slicedToArray.js","../../packages/artplayer-plugin-flv/src/flvParse/fetchStream.js","../../packages/artplayer-plugin-flv/src/flvParse/readFile.js","../../packages/artplayer-plugin-flv/src/flvParse/parseScripTag.js","../../packages/artplayer-plugin-flv/src/flvParse/index.js","../../packages/artplayer-plugin-flv/src/index.js"],"sourcesContent":["function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" Line truncated
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"artplayer-plugin-gif.js","sources":["../../node_modules/@babel/runtime/helpers/defineProperty.js","../../node_modules/@babel/runtime/helpers/objectSpread.js","../../packages/artplayer-plugin-gif/node_modules/gifshot/dist/gifshot.js","../../packages/artplayer-plugin-gif/node_modules/b64-to-blob/b64toBlob.js","../../packages/artplayer-plugin-gif/src/index.js"],"sourcesContent":["function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","var defineProperty = require(\"./defineProperty\");\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread;","/*Copyrights for code authored by Yahoo Inc. is licensed under the following terms:\nMIT License\nCopyright 2017 Yahoo Inc.\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n;(function(window, document, navigator, undefined) {\n\"use strict\";\n\n/*\n utils.js\n ========\n*/\n\n/* Copyright 2017 Yahoo Inc.\n * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.\n*/\n\nvar utils = {\n URL: window.URL || window.webkitURL || window.mozURL || window.msURL,\n getUserMedia: function () {\n var getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;\n\n return getUserMedia ? getUserMedia.bind(navigator) : getUserMedia;\n }(),\n requestAnimFrame: window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame,\n requestTimeout: function requestTimeout(callback, delay) {\n callback = callback || utils.noop;\n delay = delay || 0;\n\n if (!utils.requestAnimFrame) {\n return setTimeout(callback, delay);\n }\n\n var start = new Date().getTime();\n var handle = new Object();\n var requestAnimFrame = utils.requestAnimFrame;\n\n var loop = function loop() {\n var current = new Date().getTime();\n var delta = current - start;\n\n delta >= delay ? callback.call() : handle.value = requestAnimFrame(loop);\n };\n\n handle.value = requestAnimFrame(loop);\n\n return handle;\n },\n Blob: window.Blob || window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder,\n btoa: function () {\n var btoa = window.btoa || function (input) {\n var output = '';\n var i = 0;\n var l = input.length;\n var key = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var chr1 = void 0;\n var chr2 = void 0;\n var chr3 = void 0;\n var enc1 = void 0;\n var enc2 = void 0;\n var enc3 = void 0;\n var enc4 = void 0;\n\n while (i < l) {\n chr1 = input.charCodeAt(i++);\n chr2 = input.charCodeAt(i++);\n chr3 = input.charCodeAt(i++);\n enc1 = chr1 >> 2;\n enc2 = (chr1 & 3) << 4 | chr2 >> 4;\n enc3 = (chr2 & 15) << 2 | chr3 >> 6;\n enc4 = chr3 & 63;\n\n if (isNaN(chr2)) {\n Line truncated
{"version":3,"file":"artplayer-plugin-gif.js","sources":["../../node_modules/_@babel_runtime@7.7.4@@babel/runtime/helpers/defineProperty.js","../../packages/artplayer-plugin-gif/node_modules/gifshot/dist/gifshot.js","../../packages/artplayer-plugin-gif/node_modules/b64-to-blob/b64toBlob.js","../../packages/artplayer-plugin-gif/src/index.js"],"sourcesContent":["function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","/*Copyrights for code authored by Yahoo Inc. is licensed under the following terms:\nMIT License\nCopyright 2017 Yahoo Inc.\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n;(function(window, document, navigator, undefined) {\n\"use strict\";\n\n/*\n utils.js\n ========\n*/\n\n/* Copyright 2017 Yahoo Inc.\n * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.\n*/\n\nvar utils = {\n URL: window.URL || window.webkitURL || window.mozURL || window.msURL,\n getUserMedia: function () {\n var getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;\n\n return getUserMedia ? getUserMedia.bind(navigator) : getUserMedia;\n }(),\n requestAnimFrame: window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame,\n requestTimeout: function requestTimeout(callback, delay) {\n callback = callback || utils.noop;\n delay = delay || 0;\n\n if (!utils.requestAnimFrame) {\n return setTimeout(callback, delay);\n }\n\n var start = new Date().getTime();\n var handle = new Object();\n var requestAnimFrame = utils.requestAnimFrame;\n\n var loop = function loop() {\n var current = new Date().getTime();\n var delta = current - start;\n\n delta >= delay ? callback.call() : handle.value = requestAnimFrame(loop);\n };\n\n handle.value = requestAnimFrame(loop);\n\n return handle;\n },\n Blob: window.Blob || window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder,\n btoa: function () {\n var btoa = window.btoa || function (input) {\n var output = '';\n var i = 0;\n var l = input.length;\n var key = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var chr1 = void 0;\n var chr2 = void 0;\n var chr3 = void 0;\n var enc1 = void 0;\n var enc2 = void 0;\n var enc3 = void 0;\n var enc4 = void 0;\n\n while (i < l) {\n chr1 = input.charCodeAt(i++);\n chr2 = input.charCodeAt(i++);\n chr3 = input.charCodeAt(i++);\n enc1 = chr1 >> 2;\n enc2 = (chr1 & 3) << 4 | chr2 >> 4;\n enc3 = (chr2 & 15) << 2 | chr3 >> 6;\n enc4 = chr3 & 63;\n\n if (isNaN(chr2)) {\n enc3 = enc4 = 64;\n } else if (isNaN(chr3)) {\n enc4 = 64;\n }\n\n output = output + key.charAt(enc1) + key.charAt(enc2) + key.charAt(enc3) + key.charAt(enc4);\n }\n\n return output;\n };\n\n return btoa ? btoa.bind(window) : utils.noop;\n }(),\n isObject: function isObject(obj) {\n return obj && Object.prototype.toString.call(obj) === '[object Object]';\n },\n isEmptyObject: function isEmptyObject(obj) {\n return utils.isObject(obj) && !Object.keys(obj).length;\n },\n isArray: function isArray(arr) {\n return arr && Array.isArray(arr);\n Line truncated
-2
View File
@@ -1,2 +0,0 @@
.artplayer-video-player .artplayer-video{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;width:100%;height:100%;background-color:#000;outline:0;cursor:pointer}.artplayer-video-player{position:relative;width:100%;height:100%;overflow:hidden;outline:0;font-family:Roboto,Arial,Helvetica,sans-serif;color:#eee;text-align:left;direction:ltr;font-size:14px;line-height:1.3;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none}.artplayer-video-player *{-webkit-box-sizing:border-box;box-sizing:border-box}.artplayer-video-player .art-icon{display:inline-block;line-height:1.5}.artplayer-video-player .art-icon svg{fill:#fff}.artplayer-video-player .artplayer-subtitle{position:absolute;z-index:20;bottom:40px;width:100%;padding:0 20px;text-align:center;color:#fff;text-shadow:.5px .5px .5px rgba(0,0,0,.5);font-size:20px;pointer-events:none}.artplayer-video-player .artplayer-subtitle p{margin:5px 0}.artplayer-video-player .artplayer-layers{position:absolute;z-index:30;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.artplayer-video-player .artplayer-layers .art-layer{pointer-events:all}.artplayer-video-player .artplayer-loading{z-index:60;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.artplayer-video-player .artplayer-loading,.artplayer-video-player .artplayer-mask{display:none;position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.artplayer-video-player .artplayer-mask{z-index:40}.artplayer-video-player .artplayer-mask .art-playBig{position:absolute;right:30px;bottom:65px;opacity:.6}.artplayer-video-player .artplayer-bottom{position:absolute;z-index:50;left:0;right:0;bottom:0;height:100px;padding:60px 10px 0;opacity:0;visibility:hidden;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;pointer-events:none;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom}.artplayer-video-player .artplayer-bottom .artplayer-progress{position:relative;pointer-events:all}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress{position:relative;height:5px;padding:1px 0;cursor:pointer}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner{position:relative;height:100%;background:hsla(0,0%,100%,.2)}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;height:100%;width:0;background:hsla(0,0%,100%,.4)}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-played{position:absolute;z-index:20;left:0;top:0;right:0;bottom:0;height:100%;width:0}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{position:absolute;z-index:30;left:0;top:0;right:0;bottom:0;height:0}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{display:inline-block;position:absolute;left:0;top:0;width:7px;height:3px;background:#fff;border-radius:3px}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{display:none;position:absolute;z-index:40;top:-5px;left:-6.5px;width:13px;height:13px;border-radius:50%}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator.art-show-indicator{display:block}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-tip{display:none;position:absolute;z-index:50;top:-25px;left:0;height:20px;padding:0 5px;line-height:20px;color:#fff;font-size:12px;text-align:center;background:rgba(0,0,0,.7);border-radius:3px;font-weight:700}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-indicator,.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-tip{display:block}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-thumbnails{display:none;position:absolute;bottom:8px;left:0;pointer-events:none;background-color:rgba(0,0,0,.7)}.artplayer-video-player .artplayer-bottom .artplayer-controls{position:relative;pointer-events:all;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-boxLine truncated
/*# sourceMappingURL=artplayer-react.css.map */
-1
View File
@@ -1 +0,0 @@
{"version":3,"sources":["artplayer.css"],"names":[],"mappings":"AAAA,yCAAyC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC,cAAc,CACzK,wBAAwB,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,6CAA6C,CAAC,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,cAAc,CAAC,eAAe,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,yCAAyC,CAAC,6BAAyB,CAAzB,yBAAyB,CAAC,6BAA6B,CAAC,0BAA0B,6BAAoB,CAApB,qBAAqB,CAAC,kCAAkC,oBAAoB,CAAC,eAAe,CAAC,sCAAsC,SAAS,CAC9iB,4CAA4C,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,yCAAyC,CAAC,cAAc,CAAC,mBAAmB,CAAC,8CAA8C,YAAY,CACnR,0CAA0C,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,mBAAmB,CAAC,qDAAqD,kBAAkB,CACvN,2CAA0E,UAAU,CAAsD,wBAAkB,CAAlB,qBAAkB,CAAlB,kBAAkB,CAAC,uBAAsB,CAAtB,oBAAsB,CAAtB,sBAA0C,CACvM,mFAD2C,YAAY,CAAC,iBAAiB,CAAY,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAA2C,mBAC1B,CAA1J,wCAAuE,UAAmF,CAAC,qDAAqD,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CACnQ,0CAA0C,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,mBAAmB,CAAC,SAAS,CAAC,iBAAiB,CAAC,sCAA8B,CAA9B,8BAA8B,CAAC,mBAAmB,CAAC,kSAAkS,CAAC,8DAA8D,iBAAiB,CAAC,kBAAkB,CAAC,oFAAoF,iBAAiB,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,CAAC,gHAAgH,iBAAiB,CAAC,WAAW,CAAC,6BAA6B,CAAC,qIAAqI,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,6BAA6B,CAAC,qIAAqI,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,wIAAwI,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,6IAA6I,oBAAoB,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,iBAAiB,CAAC,wIAAwI,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,2JAA2J,aAAa,CAAC,kIAAkI,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,cAAc,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,eAAe,CAAC,8NAA8N,aAAa,CAAC,sFAAsF,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,8DAA8D,iBAAiB,CAAC,kBAAkB,CAAC,mBAAY,CAAZ,mBAAY,CAAZ,YAAY,CAAC,wBAAkB,CAAlB,qBAAkB,CAAlB,kBAAkB,CAAC,wBAA6B,CAA7B,qBAA6B,CAA7B,6BAA6B,CAAC,WAAW,CAAC,+KAA+K,mBAAW,CAAX,mBAAW,CAAX,YAAY,CAAC,2EAA2E,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAAC,qFAAqF,mBAAY,CAAZ,mBAAY,CAAZ,YAAY,CAAC,wBAAkB,CAAlB,qBAAkB,CAAlB,kBAAkB,CAAC,uBAAsB,CAAtB,oBAAsB,CAAtB,sBAAsB,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,iFAAiF,SAAS,CAAC,oGAAoG,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,qFAA6E,CAA7E,6EAA6E,CAAC,eAAe,CAAC,8HAA8H,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,eAAe,CAAC,qIAAqI,UAAU,CAAC,eAAe,CAAC,oIAAoI,QAAQ,CAAC,6BAA6B,CAAC,yQAAyQ,UAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,0GAA0G,UAAU,CAAC,gFAAgF,cAAc,CAAC,mFAAmF,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,iGAAiG,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,iBAAiB,CAAC,UAAU,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,mHAAmH,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,yHAAyH,mCAAmC,CAAC,uGAAuG,aAAa,CAAC,4HAA4H,SAAS,CAAC,kBAAkB,CAAC,wPAAwP,sBAAsB,CACz0M,0CAA0C,YAAY,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,kEAAkE,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,yBAAyB,CAAC,iBAAiB,CAC1T,+CAA+C,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,aAAa,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,gEAAgE,cAAc,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,eAAe,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,0CAA0C,CAAC,kEAAkE,UAAU,CAAC,oBAAoB,CAAC,qEAAqE,oBAAoB,CAAC,aAAa,CAAC,wJAAwJ,aAAa,CAAC,sEAAsE,mCAAmC,CAAC,2EAA2E,kBAAkB,CACx/B,gDAAgD,qBAAqB,CACrE,wCAAwC,YAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,wFAAwF,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,uDAAuD,mBAAY,CAAZ,mBAAY,CAAZ,YAAY,CAAC,iBAAiB,CAAC,uEAAuE,WAAW,CAAC,gBAAgB,CAAC,yEAAyE,kBAAM,CAAN,UAAM,CAAN,MAAM,CAAC,eAAe,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,8DAA8D,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CACpwB,2CAA2C,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,wBAAkB,CAAlB,qBAAkB,CAAlB,kBAAkB,CAAC,uBAAsB,CAAtB,oBAAsB,CAAtB,sBAAsB,CAAC,mBAAmB,CAAC,oEAAoE,iBAAiB,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,eAAe,CAAC,4FAA4F,eAAe,CAAC,UAAU,CAAC,WAAW,CAAC,yGAAyG,0CAA0C,CAAC,iBAAiB,CAAC,6HAA6H,UAAU,CAAC,kBAAkB,CAAC,2HAA2H,wBAAwB,CAAC,6FAA6F,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,yBAAyB,CAAC,cAAc,CAAC,cAAc,CAAC,6DAA6D,mBAAY,CAAZ,mBAAY,CAAZ,YAAY,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,8EAA8E,kBAAM,CAAN,UAAM,CAAN,MAAM,CAAC,aAAa,CAAC,mFAAmF,aAAa,CAAC,WAAW,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,cAAc,CAAC,oLAAoL,UAAU,CAAC,kBAAkB,CAC/1D,iDAAiD,8BAAsB,CAAtB,sBAAsB,CAAC,kBAAkB,CAAC,eAAe,CAC1G,iDAAiD,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CACjI,8CAA8C,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,yBAAyB,CAAC,wBAAkB,CAAlB,qBAAkB,CAAlB,kBLine truncated
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"artplayer-react.js","sources":["../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../../node_modules/@babel/runtime/helpers/defineProperty.js","../../node_modules/@babel/runtime/helpers/objectSpread.js","../../node_modules/@babel/runtime/helpers/typeof.js","../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/inherits.js","../../packages/artplayer-react/node_modules/_object-assign@4.1.1@object-assign/index.js","../../packages/artplayer-react/node_modules/_react@16.8.6@react/cjs/react.production.min.js","../../packages/artplayer-react/node_modules/_prop-types@15.7.2@prop-types/lib/ReactPropTypesSecret.js","../../packages/artplayer-react/node_modules/_prop-types@15.7.2@prop-types/checkPropTypes.js","../../packages/artplayer-react/node_modules/_react@16.8.6@react/cjs/react.development.js","../../packages/artplayer-react/node_modules/_react@16.8.6@react/index.js","../../packages/artplayer-react/node_modules/_artplayer@1.0.6@artplayer/dist/artplayer.js","../../packages/artplayer-react/src/index.js"],"sourcesContent":["function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","var defineProperty = require(\"./defineProperty\");\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread;","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _creLine truncated
{"version":3,"file":"artplayer-react.js","sources":["../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../../node_modules/@babel/runtime/helpers/defineProperty.js","../../node_modules/@babel/runtime/helpers/typeof.js","../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/inherits.js","../../packages/artplayer-react/node_modules/object-assign/index.js","../../packages/artplayer-react/node_modules/react/cjs/react.production.min.js","../../packages/artplayer-react/node_modules/prop-types/lib/ReactPropTypesSecret.js","../../packages/artplayer-react/node_modules/prop-types/checkPropTypes.js","../../packages/artplayer-react/node_modules/react/cjs/react.development.js","../../packages/artplayer-react/node_modules/react/index.js","../../node_modules/style-inject/dist/style-inject.es.js","../../packages/artplayer/node_modules/option-validator/dist/option-validator.js","../../packages/artplayer/src/utils/emitter.js","../../packages/artplayer/src/utils/dom.js","../../node_modules/@babel/runtime/helpers/isNativeFunction.js","../../node_modules/@babel/runtime/helpers/construct.js","../../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../packages/artplayer/src/utils/error.js","../../packages/artplayer/src/utils/subtitle.js","../../packages/artplayer/src/utils/file.js","../../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../../node_modules/@babel/runtime/helpers/iterableToArray.js","../../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../../node_modules/@babel/runtime/helpers/toConsumableArray.js","../../packages/artplayer/src/utils/property.js","../../packages/artplayer/src/utils/time.js","../../packages/artplayer/src/utils/format.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n/index.js","../../packages/artplayer/src/player/urlMix.js","../../packages/artplayer/src/player/attrInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMix.js","../../packages/artplayer/src/player/toggleMix.js","../../packages/artplayer/src/player/seekMix.js","../../packages/artplayer/src/player/volumeMix.js","../../packages/artplayer/src/player/currentTimeMix.js","../../packages/artplayer/src/player/durationMix.js","../../packages/artplayer/src/player/switchMix.js","../../packages/artplayer/src/player/playbackRateMix.js","../../packages/artplayer/src/player/aspectRatioMix.js","../../packages/artplayer/src/player/screenshotMix.js","../../packages/artplayer/node_modules/screenfull/dist/screenfull.js","../../packages/artplayer/src/player/fullscreenMix.js","../../packages/artplayer/src/player/fullscreenWebMix.js","../../packages/artplayer/src/player/pipMix.js","../../packages/artplayer/src/player/loadedMix.js","../../packages/artplayer/src/player/playedMix.js","../../packages/artplayer/src/player/playingMix.js","../../packages/artplayer/src/player/autoSizeMix.js","../../packages/artplayer/src/player/rectMix.js","../../packages/artplayer/src/player/flipMix.js","../../packages/artplayer/src/player/index.js","../../node_modules/@babel/runtime/helpers/superPropBase.js","../../node_modules/@babel/runtime/helpers/get.js","../../packages/artplayer/src/utils/component.js","../../packages/artplayer/src/control/fullscreen.js","../../packages/artplayer/src/control/fullscreenWeb.js","../../packages/artplayer/src/control/pip.js","../../packages/artplayer/src/control/playAndPause.js","../../packages/artplayer/src/control/progress.js","../../packages/artplayer/src/control/subtitle.js","../../packages/artplayer/src/control/time.js","../../packages/artplayer/src/control/volume.js","../../packages/artplayer/src/control/setting.js","../../packages/artplayer/src/control/thumbnails.js","../../packages/artplayer/src/control/screenshot.js","../../packages/artplayer/src/control/quality.js","../../packages/artplayer/src/control/index.js","../../packages/artplayer/src/contextmenu/playbackRate.js","../../packages/artplayer/src/contextmenu/aspectRatio.js","../../packages/artplayer/src/contextmenu/info.js","../../packages/artplayer/src/contextmenu/version.js","../../packages/artplayer/src/contextmenu/close.js","../../packages/artplayer/src/contextmenu/index.js","../../packages/artplayer/src/info.js","../../packages/artplayer/src/subtitle.js","../../packages/artplayer/src/events/clickInit.js","../../packages/artpLine truncated
+20
View File
@@ -0,0 +1,20 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, global.ArtplayerToolGithub = factory());
}(this, (function () { 'use strict';
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
function createCommonjsModule(fn, module) {
return module = { exports: {} }, fn(module, module.exports), module.exports;
}
var issuesDanmuku = createCommonjsModule(function (module, exports) {
!function(t,e){module.exports=e();}(commonjsGlobal,function(){var o=function(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t};var i=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),n.forEach(function(t){o(e,t,r[t]);});}return e};var t,a=(function(t){var e=function(i){var u,t=Object.prototype,s=t.hasOwnProperty,e="function"==typeof Symbol?Symbol:{},o=e.iterator||"@@iterator",r=e.asyncIterator||"@@asyncIterator",n=e.toStringTag||"@@toStringTag";function a(t,e,r,n){var o=e&&e.prototype instanceof c?e:c,i=Object.create(o.prototype),a=new j(n||[]);return i._invoke=function(i,a,c){var u=f;return function(t,e){if(u===p)throw new Error("Generator is already running");if(u===y){if("throw"===t)throw e;return S()}for(c.method=t,c.arg=e;;){var r=c.delegate;if(r){var n=O(r,c);if(n){if(n===d)continue;return n}}if("next"===c.method)c.sent=c._sent=c.arg;else if("throw"===c.method){if(u===f)throw u=y,c.arg;c.dispatchException(c.arg);}else"return"===c.method&&c.abrupt("return",c.arg);u=p;var o=h(i,a,c);if("normal"===o.type){if(u=c.done?y:l,o.arg===d)continue;return {value:o.arg,done:c.done}}"throw"===o.type&&(u=y,c.method="throw",c.arg=o.arg);}}}(t,r,a),i}function h(t,e,r){try{return {type:"normal",arg:t.call(e,r)}}catch(t){return {type:"throw",arg:t}}}i.wrap=a;var f="suspendedStart",l="suspendedYield",p="executing",y="completed",d={};function c(){}function g(){}function v(){}var m={};m[o]=function(){return this};var w=Object.getPrototypeOf,b=w&&w(w(P([])));b&&b!==t&&s.call(b,o)&&(m=b);var k=v.prototype=c.prototype=Object.create(m);function x(t){["next","throw","return"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)};});}function L(u){var e;this._invoke=function(r,n){function t(){return new Promise(function(t,e){!function e(t,r,n,o){var i=h(u[t],u,r);if("throw"!==i.type){var a=i.arg,c=a.value;return c&&"object"==typeof c&&s.call(c,"__await")?Promise.resolve(c.__await).then(function(t){e("next",t,n,o);},function(t){e("throw",t,n,o);}):Promise.resolve(c).then(function(t){a.value=t,n(a);},function(t){return e("throw",t,n,o)})}o(i.arg);}(r,n,t,e);})}return e=e?e.then(t,t):t()};}function O(t,e){var r=t.iterator[e.method];if(r===u){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=u,O(t,e),"throw"===e.method))return d;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method");}return d}var n=h(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,d;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=u),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e);}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e;}function j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0);}function P(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r<e.length;)if(s.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=u,t.done=!0,t};return n.next=n}}return {next:S}}function S(){return {value:u,done:!0}}return g.prototype=k.constructor=v,v.constructor=g,v[n]=g.displayName="GeneratorFunction",i.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return !!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},i.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,n in t||(t[n]="GeneratorFunction")),t.prototype=Object.create(k),t},i.awrap=function(t){return {__await:t}},x(L.prototype),L.prototype[r]=function(){return this},i.AsyncIterator=L,i.async=function(t,e,r,n){var o=new L(a(t,e,r,n));return i.isGeneratorFunction(e)?o:o.next().then(function(t){return t.done?t.value:o.next()})},x(k),k[n]="Generator",k[o]=function(){return this},k.toString=function(){return "[object Generator]"},i.keys=function(r){var n=[];for(var t in r)n.push(t);return n.reverse(),function t(){for(;n.length;){var e=n.pop();if(e in r)return t.value=e,t.done=!1,t}return t.done=!0,t}},i.values=P,j.prototype={constructor:j,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=u,this.done=!1,this.delegate=null,this.method="next",this.arg=u,this.tryEntries.forEach(E),!t)for(var e in this)"t"===e.charAt(0)&&s.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=u);},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function Line truncated
});
return issuesDanmuku;
})));
//# sourceMappingURL=artplayer-tool-github.js.map
@@ -0,0 +1 @@
{"version":3,"file":"artplayer-tool-github.js","sources":["../../packages/artplayer-tool-github/node_modules/issues-danmuku/dist/issuesDanmuku.js"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self).IssuesDanmuku=e()}(this,function(){\"use strict\";var o=function(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t};var i=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);\"function\"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),n.forEach(function(t){o(e,t,r[t])})}return e};var t,a=(function(t){var e=function(i){var u,t=Object.prototype,s=t.hasOwnProperty,e=\"function\"==typeof Symbol?Symbol:{},o=e.iterator||\"@@iterator\",r=e.asyncIterator||\"@@asyncIterator\",n=e.toStringTag||\"@@toStringTag\";function a(t,e,r,n){var o=e&&e.prototype instanceof c?e:c,i=Object.create(o.prototype),a=new j(n||[]);return i._invoke=function(i,a,c){var u=f;return function(t,e){if(u===p)throw new Error(\"Generator is already running\");if(u===y){if(\"throw\"===t)throw e;return S()}for(c.method=t,c.arg=e;;){var r=c.delegate;if(r){var n=O(r,c);if(n){if(n===d)continue;return n}}if(\"next\"===c.method)c.sent=c._sent=c.arg;else if(\"throw\"===c.method){if(u===f)throw u=y,c.arg;c.dispatchException(c.arg)}else\"return\"===c.method&&c.abrupt(\"return\",c.arg);u=p;var o=h(i,a,c);if(\"normal\"===o.type){if(u=c.done?y:l,o.arg===d)continue;return{value:o.arg,done:c.done}}\"throw\"===o.type&&(u=y,c.method=\"throw\",c.arg=o.arg)}}}(t,r,a),i}function h(t,e,r){try{return{type:\"normal\",arg:t.call(e,r)}}catch(t){return{type:\"throw\",arg:t}}}i.wrap=a;var f=\"suspendedStart\",l=\"suspendedYield\",p=\"executing\",y=\"completed\",d={};function c(){}function g(){}function v(){}var m={};m[o]=function(){return this};var w=Object.getPrototypeOf,b=w&&w(w(P([])));b&&b!==t&&s.call(b,o)&&(m=b);var k=v.prototype=c.prototype=Object.create(m);function x(t){[\"next\",\"throw\",\"return\"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function L(u){var e;this._invoke=function(r,n){function t(){return new Promise(function(t,e){!function e(t,r,n,o){var i=h(u[t],u,r);if(\"throw\"!==i.type){var a=i.arg,c=a.value;return c&&\"object\"==typeof c&&s.call(c,\"__await\")?Promise.resolve(c.__await).then(function(t){e(\"next\",t,n,o)},function(t){e(\"throw\",t,n,o)}):Promise.resolve(c).then(function(t){a.value=t,n(a)},function(t){return e(\"throw\",t,n,o)})}o(i.arg)}(r,n,t,e)})}return e=e?e.then(t,t):t()}}function O(t,e){var r=t.iterator[e.method];if(r===u){if(e.delegate=null,\"throw\"===e.method){if(t.iterator.return&&(e.method=\"return\",e.arg=u,O(t,e),\"throw\"===e.method))return d;e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return d}var n=h(r,t.iterator,e.arg);if(\"throw\"===n.type)return e.method=\"throw\",e.arg=n.arg,e.delegate=null,d;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=u),e.delegate=null,d):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(_,this),this.reset(!0)}function P(e){if(e){var t=e[o];if(t)return t.call(e);if(\"function\"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r<e.length;)if(s.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=u,t.done=!0,t};return n.next=n}}return{next:S}}function S(){return{value:u,done:!0}}return g.prototype=k.constructor=v,v.constructor=g,v[n]=g.displayName=\"GeneratorFunction\",i.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===g||\"GeneratorFunction\"===(e.displayName||e.name))},i.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,n in t||(t[n]=\"GeneratorFunction\")),t.prototype=Object.create(k),t},i.awrap=function(t){return{__await:t}},x(L.prototype),L.prototype[r]=function(){return this},i.AsyncIterator=L,i.async=function(t,e,r,n){var o=new L(a(t,e,r,n));return i.isGeneratorFunction(e)?o:o.next().then(function(t){return t.done?t.value:o.next()})},x(k),k[n]=\"Generator\",k[o]=function(){return this},k.toString=function(){return\"[object Generator]\"},i.keys=function(r){var n=[];for(var t in r)n.push(t);return n.reverse(),function t(){for(;n.length;){var e=n.pop();if(e in r)return t.value=e,t.done=!1,t}return t.done=!0,t}},i.values=P,j.prototype={constructor:j,reset:function(t){if(this.prev=0,this.next=0,this.senLine truncated
+53 -27
View File
@@ -1,8 +1,8 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(factory((global['artplayer-tool-thumbnail'] = {})));
}(this, (function (exports) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, global.ArtplayerToolThumbnail = factory());
}(this, (function () { 'use strict';
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
@@ -115,30 +115,34 @@
var inherits = _inherits;
function E() {// Keep this empty so it's easier to inherit from
function E () {
// Keep this empty so it's easier to inherit from
// (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)
}
E.prototype = {
on: function on(name, callback, ctx) {
on: function (name, callback, ctx) {
var e = this.e || (this.e = {});
(e[name] || (e[name] = [])).push({
fn: callback,
ctx: ctx
});
return this;
},
once: function once(name, callback, ctx) {
var self = this;
function listener() {
once: function (name, callback, ctx) {
var self = this;
function listener () {
self.off(name, listener);
callback.apply(ctx, arguments);
}
listener._ = callback;
return this.on(name, listener, ctx);
},
emit: function emit(name) {
emit: function (name) {
var data = [].slice.call(arguments, 1);
var evtArr = ((this.e || (this.e = {}))[name] || []).slice();
var i = 0;
@@ -150,25 +154,34 @@
return this;
},
off: function off(name, callback) {
off: function (name, callback) {
var e = this.e || (this.e = {});
var evts = e[name];
var liveEvents = [];
if (evts && callback) {
for (var i = 0, len = evts.length; i < len; i++) {
if (evts[i].fn !== callback && evts[i].fn._ !== callback) liveEvents.push(evts[i]);
if (evts[i].fn !== callback && evts[i].fn._ !== callback)
liveEvents.push(evts[i]);
}
} // Remove event from queue to prevent memory leak
}
// Remove event from queue to prevent memory leak
// Suggested by https://github.com/lazd
// Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910
(liveEvents.length)
? e[name] = liveEvents
: delete e[name];
liveEvents.length ? e[name] = liveEvents : delete e[name];
return this;
}
};
var tinyEmitter = E;
var TinyEmitter = E;
tinyEmitter.TinyEmitter = TinyEmitter;
function sleep(ms) {
return new Promise(function (resolve) {
@@ -208,8 +221,8 @@
_this.setup(Object.assign({}, ArtplayerToolThumbnail.DEFAULTS, option));
_this.video = ArtplayerToolThumbnail.creatVideo();
_this.inputChange = _this.inputChange.bind(assertThisInitialized(assertThisInitialized(_this)));
_this.ondrop = _this.ondrop.bind(assertThisInitialized(assertThisInitialized(_this)));
_this.inputChange = _this.inputChange.bind(assertThisInitialized(_this));
_this.ondrop = _this.ondrop.bind(assertThisInitialized(_this));
_this.option.fileInput.addEventListener('change', _this.inputChange);
@@ -241,7 +254,24 @@
width = _this$option.width,
height = _this$option.height,
column = _this$option.column;
this.errorHandle(fileInput.tagName === 'INPUT' && fileInput.type === 'file', 'The \'fileInput\' is not a usable file input like: <input type="file">');
this.errorHandle(fileInput instanceof Element, "The 'fileInput' is not a Element");
if (!(fileInput.tagName === 'INPUT' && fileInput.type === 'file')) {
fileInput.style.position = 'relative';
var newFileInput = document.createElement('input');
newFileInput.type = 'file';
newFileInput.style.position = 'absolute';
newFileInput.style.width = '100%';
newFileInput.style.height = '100%';
newFileInput.style.left = '0';
newFileInput.style.top = '0';
newFileInput.style.right = '0';
newFileInput.style.bottom = '0';
newFileInput.style.opacity = '0';
fileInput.appendChild(newFileInput);
this.option.fileInput = newFileInput;
}
['delay', 'number', 'width', 'height', 'column'].forEach(function (item) {
_this2.errorHandle(typeof _this2.option[item] === 'number', "The '".concat(item, "' is not a number"));
});
@@ -278,7 +308,7 @@
}).catch(function (err) {
_this3.emit('error', err.message);
console.error(err);
throw err;
});
}
}
@@ -318,7 +348,7 @@
resolve();
});
}).catch(function (err) {
console.error(err);
throw err;
});
});
};
@@ -334,14 +364,14 @@
_this4.emit('error', err.message);
console.error(err);
throw err;
});
}).catch(function (err) {
_this4.processing = false;
_this4.emit('error', err.message);
console.error(err);
throw err;
});
}
}, {
@@ -385,7 +415,7 @@
context2D.fillRect(0, 0, canvas.width, canvas.height);
context2D.font = '14px Georgia';
context2D.fillStyle = '#fff';
context2D.fillText("From: https://artplayer.org/thumbnail, Number: ".concat(number, ", Width: ").concat(width, ", Height: ").concat(height, ", Column: ").concat(column), 10, canvas.height - 11);
context2D.fillText("From: https://artplayer.org/, Number: ".concat(number, ", Width: ").concat(width, ", Height: ").concat(height, ", Column: ").concat(column), 10, canvas.height - 11);
return canvas;
}
}, {
@@ -462,11 +492,7 @@
return ArtplayerToolThumbnail;
}(tinyEmitter);
window.ArtplayerToolThumbnail = ArtplayerToolThumbnail;
exports.default = ArtplayerToolThumbnail;
Object.defineProperty(exports, '__esModule', { value: true });
return ArtplayerToolThumbnail;
})));
//# sourceMappingURL=artplayer-tool-thumbnail.js.map
@@ -1 +1 @@
{"version":3,"file":"artplayer-tool-thumbnail.js","sources":["../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../node_modules/@babel/runtime/helpers/typeof.js","../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/inherits.js","../../packages/artplayer-tool-thumbnail/node_modules/tiny-emitter/index.js","../../packages/artplayer-tool-thumbnail/src/utils.js","../../packages/artplayer-tool-thumbnail/src/index.js"],"sourcesContent":["function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n Line truncated
{"version":3,"file":"artplayer-tool-thumbnail.js","sources":["../../node_modules/_@babel_runtime@7.7.4@@babel/runtime/helpers/classCallCheck.js","../../node_modules/_@babel_runtime@7.7.4@@babel/runtime/helpers/createClass.js","../../node_modules/_@babel_runtime@7.7.4@@babel/runtime/helpers/typeof.js","../../node_modules/_@babel_runtime@7.7.4@@babel/runtime/helpers/assertThisInitialized.js","../../node_modules/_@babel_runtime@7.7.4@@babel/runtime/helpers/possibleConstructorReturn.js","../../node_modules/_@babel_runtime@7.7.4@@babel/runtime/helpers/getPrototypeOf.js","../../node_modules/_@babel_runtime@7.7.4@@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/_@babel_runtime@7.7.4@@babel/runtime/helpers/inherits.js","../../packages/artplayer-tool-thumbnail/node_modules/tiny-emitter/index.js","../../packages/artplayer-tool-thumbnail/src/utils.js","../../packages/artplayer-tool-thumbnail/src/index.js"],"sourcesContent":["function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((tLine truncated
File diff suppressed because it is too large. Load diff
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"artplayer-vue.js","sources":["../../node_modules/@babel/runtime/helpers/defineProperty.js","../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../node_modules/@babel/runtime/helpers/typeof.js","../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/inherits.js","../../node_modules/style-inject/dist/style-inject.es.js","../../packages/artplayer/node_modules/option-validator/dist/option-validator.js","../../packages/artplayer/src/utils/emitter.js","../../packages/artplayer/src/utils/dom.js","../../node_modules/@babel/runtime/helpers/isNativeFunction.js","../../node_modules/@babel/runtime/helpers/construct.js","../../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../packages/artplayer/src/utils/error.js","../../packages/artplayer/src/utils/subtitle.js","../../packages/artplayer/src/utils/file.js","../../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../../node_modules/@babel/runtime/helpers/iterableToArray.js","../../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../../node_modules/@babel/runtime/helpers/toConsumableArray.js","../../packages/artplayer/src/utils/property.js","../../packages/artplayer/src/utils/time.js","../../packages/artplayer/src/utils/format.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n/index.js","../../packages/artplayer/src/player/urlMix.js","../../packages/artplayer/src/player/attrInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMix.js","../../packages/artplayer/src/player/toggleMix.js","../../packages/artplayer/src/player/seekMix.js","../../packages/artplayer/src/player/volumeMix.js","../../packages/artplayer/src/player/currentTimeMix.js","../../packages/artplayer/src/player/durationMix.js","../../packages/artplayer/src/player/switchMix.js","../../packages/artplayer/src/player/playbackRateMix.js","../../packages/artplayer/src/player/aspectRatioMix.js","../../packages/artplayer/src/player/screenshotMix.js","../../packages/artplayer/node_modules/screenfull/dist/screenfull.js","../../packages/artplayer/src/player/fullscreenMix.js","../../packages/artplayer/src/player/fullscreenWebMix.js","../../packages/artplayer/src/player/pipMix.js","../../packages/artplayer/src/player/loadedMix.js","../../packages/artplayer/src/player/playedMix.js","../../packages/artplayer/src/player/playingMix.js","../../packages/artplayer/src/player/autoSizeMix.js","../../packages/artplayer/src/player/rectMix.js","../../packages/artplayer/src/player/flipMix.js","../../packages/artplayer/src/player/index.js","../../node_modules/@babel/runtime/helpers/superPropBase.js","../../node_modules/@babel/runtime/helpers/get.js","../../packages/artplayer/src/utils/component.js","../../packages/artplayer/src/control/fullscreen.js","../../packages/artplayer/src/control/fullscreenWeb.js","../../packages/artplayer/src/control/pip.js","../../packages/artplayer/src/control/playAndPause.js","../../packages/artplayer/src/control/progress.js","../../packages/artplayer/src/control/subtitle.js","../../packages/artplayer/src/control/time.js","../../packages/artplayer/src/control/volume.js","../../packages/artplayer/src/control/setting.js","../../packages/artplayer/src/control/thumbnails.js","../../packages/artplayer/src/control/screenshot.js","../../packages/artplayer/src/control/quality.js","../../packages/artplayer/src/control/index.js","../../packages/artplayer/src/contextmenu/playbackRate.js","../../packages/artplayer/src/contextmenu/aspectRatio.js","../../packages/artplayer/src/contextmenu/info.js","../../packages/artplayer/src/contextmenu/version.js","../../packages/artplayer/src/contextmenu/close.js","../../packages/artplayer/src/contextmenu/index.js","../../packages/artplayer/src/info.js","../../packages/artplayer/src/subtitle.js","../../packages/artplayer/src/events/clickInit.js","../../packages/artplayer/src/events/hoverInit.js","../../packages/artplayer/src/events/mousemoveInit.js","../../packages/artplayer/src/events/resizeInit.js","../../packages/artplayer/src/events/index.js","../../packages/artplayer/src/hotkey.js","../../packages/artplayer/src/layer.js","../../packages/artplayer/src/loading.js","../../packages/artplayer/src/notice.js","../../packages/artplayer/src/mask.js","../../packages/artplayer/src/icons/index.js","../../packages/artplayer/src/setting/flip.js","../../packages/artplayer/src/setting/aspectRatio.js","../../packages/artplayer/src/setting/playbackRate.js","../..Line truncated
-19
View File
@@ -1,19 +0,0 @@
.artplayer-video-player{position:relative;width:100%;height:100%;overflow:hidden;outline:0;font-family:Roboto,Arial,Helvetica,sans-serif;color:#eee;text-align:left;direction:ltr;font-size:14px;line-height:1.3;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none}.artplayer-video-player *{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.artplayer-video-player .art-icon{display:inline-block;line-height:1.5}.artplayer-video-player .art-icon svg{fill:#fff}
.artplayer-video-player .artplayer-video{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;width:100%;height:100%;background-color:#000;outline:0;cursor:pointer}
.artplayer-video-player .artplayer-subtitle{position:absolute;z-index:20;bottom:40px;width:100%;padding:0 20px;text-align:center;color:#fff;text-shadow:.5px .5px .5px rgba(0,0,0,.5);font-size:20px;pointer-events:none}.artplayer-video-player .artplayer-subtitle p{margin:5px 0}
.artplayer-video-player .artplayer-layers{position:absolute;z-index:30;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.artplayer-video-player .artplayer-layers .art-layer{pointer-events:all}
.artplayer-video-player .artplayer-mask{display:none;position:absolute;z-index:40;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.artplayer-video-player .artplayer-mask .art-playBig{position:absolute;right:30px;bottom:65px;opacity:.6}
.artplayer-video-player .artplayer-loading{display:none;position:absolute;z-index:60;left:0;top:0;right:0;bottom:0;width:100%;height:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;pointer-events:none}
.artplayer-video-player .artplayer-bottom{position:absolute;z-index:50;left:0;right:0;bottom:0;height:100px;padding:60px 10px 0;opacity:0;visibility:hidden;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;pointer-events:none;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom}.artplayer-video-player .artplayer-bottom .artplayer-progress{position:relative;pointer-events:all}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress{position:relative;height:5px;padding:1px 0;cursor:pointer}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner{position:relative;height:100%;background:hsla(0,0%,100%,.2)}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;height:100%;width:0;background:hsla(0,0%,100%,.4)}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-played{position:absolute;z-index:20;left:0;top:0;right:0;bottom:0;height:100%;width:0}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{position:absolute;z-index:30;left:0;top:0;right:0;bottom:0;height:0}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{display:inline-block;position:absolute;left:0;top:0;width:7px;height:3px;background:#fff;border-radius:3px}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{display:none;position:absolute;z-index:40;top:-5px;left:-6.5px;width:13px;height:13px;border-radius:50%}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator.art-show-indicator{display:block}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-tip{display:none;position:absolute;z-index:50;top:-25px;left:0;height:20px;padding:0 5px;line-height:20px;color:#fff;font-size:12px;text-align:center;background:rgba(0,0,0,.7);border-radius:3px;font-weight:700}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-indicator,.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-tip{display:block}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-thumbnails{display:none;position:absolute;bottom:8px;left:0;pointer-events:none;background-color:rgba(0,0,0,.7)}.artplayer-video-player .artplayer-bottom .artplayer-controls{position:relative;pointer-events:all;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:36px}.artplayer-video-player .artplayer-bottom .artplayer-controls .artplayer-controls-left,.artplayer-video-player .artplayer-bottom .artplayer-controls .artplayer-controls-right{display:-webkit-box;display:-ms-flexbox;display:flex}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control{opacity:.9;font-size:12px;height:36px;min-width:36px;line-height:36px;text-align:center;cursor:pointer}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control .art-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;float:left;height:36px;width:36px}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control:hover{opacity:1}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel{position:relative;float:left;width:0;height:100%;-webkit-transition:margin .2s cubic-bezier(.4,0,1,1),width .2s cubic-bezier(.4,0,1,1);transition:margin .2s cubic-bezier(.4,0,1,1),width .2s cubic-bezier(.4,0,1,1);overflow:hidden}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle{position:absolute;top:50%;left:0;width:12px;height:12px;border-radius:12px;margin-top:-6px;background:#fff}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:before{left:-54px;background:#fff}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:after{left:6px;baLine truncated
.artplayer-video-player .artplayer-notice{display:none;font-size:14px;position:absolute;z-index:70;left:0;top:0;padding:10px;width:100%;pointer-events:none}.artplayer-video-player .artplayer-notice .artplayer-notice-inner{display:inline-block;padding:5px 10px;color:#fff;background:rgba(0,0,0,.6);border-radius:3px}
.artplayer-video-player .artplayer-contextmenu{display:none;position:absolute;z-index:110;left:0;top:0;min-width:200px;padding:5px 0;background:rgba(0,0,0,.8);border-radius:3px}.artplayer-video-player .artplayer-contextmenu .art-contextmenu{cursor:pointer;font-size:13px;display:block;color:#fff;padding:7px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px rgba(0,0,0,.5);border-bottom:1px solid hsla(0,0%,100%,.1)}.artplayer-video-player .artplayer-contextmenu .art-contextmenu a{color:#fff;text-decoration:none}.artplayer-video-player .artplayer-contextmenu .art-contextmenu span{display:inline-block;padding:0 7px}.artplayer-video-player .artplayer-contextmenu .art-contextmenu span.current,.artplayer-video-player .artplayer-contextmenu .art-contextmenu span:hover{color:#00c9ff}.artplayer-video-player .artplayer-contextmenu .art-contextmenu:hover{background-color:hsla(0,0%,100%,.1)}.artplayer-video-player .artplayer-contextmenu .art-contextmenu:last-child{border-bottom:none}
.artplayer-video-player .artplayer-setting{display:none;position:absolute;z-index:80;left:0;top:0;height:100%;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;pointer-events:none}.artplayer-video-player .artplayer-setting .artplayer-setting-inner{position:relative;width:300px;height:250px;font-size:12px;background:rgba(0,0,0,.8);border-radius:3px;pointer-events:all;overflow:hidden}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body{overflow-y:auto;width:100%;height:100%}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting{border-bottom:1px solid hsla(0,0%,100%,.1);padding:12px 20px}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting .art-setting-header{color:#fff;margin-bottom:10px}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting .art-setting-body{color:hsla(0,0%,100%,.8)}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-close{position:absolute;top:0;right:0;width:20px;height:20px;line-height:20px;text-align:center;color:hsla(0,0%,100%,.8);background:rgba(0,0,0,.5);font-size:20px;cursor:pointer}.artplayer-video-player .artplayer-setting .art-setting-btns{display:-webkit-box;display:-ms-flexbox;display:flex;margin-left:-4px;margin-right:-4px}.artplayer-video-player .artplayer-setting .art-setting-btns .art-setting-btn{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 4px}.artplayer-video-player .artplayer-setting .art-setting-btns .art-setting-btn span{display:block;height:20px;line-height:20px;text-align:center;color:#fff;background:hsla(0,0%,100%,.3);border-radius:2px;cursor:pointer}.artplayer-video-player .artplayer-setting .art-setting-btns .art-setting-btn.current span,.artplayer-video-player .artplayer-setting .art-setting-btns .art-setting-btn:hover span{color:#fff;background:#00a1d6}
.artplayer-video-player .artplayer-info{display:none;position:absolute;left:10px;top:10px;z-index:90;width:350px;min-height:150px;padding:10px;color:#fff;font-size:12px;font-family:Noto Sans CJK SC DemiLight,Roboto,Segoe UI,Tahoma,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;background:rgba(0,0,0,.7)}.artplayer-video-player .artplayer-info .art-info-item{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:5px}.artplayer-video-player .artplayer-info .art-info-item .art-info-title{width:100px;text-align:right}.artplayer-video-player .artplayer-info .art-info-item .art-info-content{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:5px}.artplayer-video-player .artplayer-info .artplayer-info-close{position:absolute;top:5px;right:5px;cursor:pointer}
.artplayer-video-player.artplayer-hide-cursor *{cursor:none!important}
.artplayer-video-player[data-aspect-ratio] video{-webkit-box-sizing:content-box;box-sizing:content-box;-o-object-fit:fill;object-fit:fill}
.artplayer-video-player.artplayer-web-fullscreen{position:fixed;z-index:9999;width:100%;height:100%;left:0;top:0;right:0;bottom:0}
.artplayer-video-player .artplayer-pip-header{display:none;position:absolute;z-index:100;left:0;top:0;right:0;height:35px;line-height:35px;color:#fff;background:rgba(0,0,0,.5);-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;opacity:0;visibility:hidden;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.artplayer-video-player .artplayer-pip-header .artplayer-pip-title{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:move}.artplayer-video-player .artplayer-pip-header .artplayer-pip-close{width:35px;text-align:center;font-size:22px;cursor:pointer}.artplayer-video-player.is-dragging{opacity:.7}.artplayer-video-player.artplayer-pip{position:fixed;z-index:9999;right:20px;bottom:20px;width:400px;height:225px;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 3px 6px 0 rgba(0,0,0,.2);box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 3px 6px 0 rgba(0,0,0,.2)}.artplayer-video-player.artplayer-pip .artplayer-pip-header{display:-webkit-box;display:-ms-flexbox;display:flex}.artplayer-video-player.artplayer-pip.artplayer-hover .artplayer-pip-header{opacity:1;visibility:visible}.artplayer-video-player.artplayer-pip .artplayer-mask{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.artplayer-video-player.artplayer-pip .artplayer-mask .art-playBig{position:static}.artplayer-video-player.artplayer-pip .artplayer-bottom,.artplayer-video-player.artplayer-pip .artplayer-contextmenu,.artplayer-video-player.artplayer-pip .artplayer-danmu,.artplayer-video-player.artplayer-pip .artplayer-info,.artplayer-video-player.artplayer-pip .artplayer-layers,.artplayer-video-player.artplayer-pip .artplayer-notice,.artplayer-video-player.artplayer-pip .artplayer-setting,.artplayer-video-player.artplayer-pip .artplayer-subtitle{display:none!important}
.artplayer-auto-size{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}
.artplayer-video-player[data-flip=horizontal] .artplayer-video{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.artplayer-video-player[data-flip=vertical] .artplayer-video{-webkit-transform:scaleY(-1);transform:scaleY(-1)}
button[data-balloon]{overflow:visible}[data-balloon]{position:relative;cursor:pointer}[data-balloon]:after{font-family:sans-serif!important;font-weight:400!important;font-style:normal!important;text-shadow:none!important;font-size:12px!important;background:rgba(17,17,17,.9);border-radius:4px;color:#fff;content:attr(data-balloon);padding:.5em 1em;white-space:nowrap}[data-balloon]:after,[data-balloon]:before{filter:alpha(opactiy=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out .18s;transition:all .18s ease-out .18s;position:absolute;z-index:10}[data-balloon]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17,17,17,0.9)' d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002C14.285 12.002 8.594 0 2.658 0z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;content:""}[data-balloon]:hover:after,[data-balloon]:hover:before,[data-balloon][data-balloon-visible]:after,[data-balloon][data-balloon-visible]:before{filter:alpha(opactiy=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";-moz-opacity:1;-khtml-opacity:1;opacity:1;pointer-events:auto}[data-balloon].font-awesome:after{font-family:FontAwesome}[data-balloon][data-balloon-break]:after{white-space:pre}[data-balloon][data-balloon-blunt]:after,[data-balloon][data-balloon-blunt]:before{-webkit-transition:none;transition:none}[data-balloon][data-balloon-pos=up]:after{margin-bottom:11px}[data-balloon][data-balloon-pos=up]:after,[data-balloon][data-balloon-pos=up]:before{bottom:100%;left:50%;-webkit-transform:translate(-50%,10px);transform:translate(-50%,10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]:before{margin-bottom:5px}[data-balloon][data-balloon-pos=up]:hover:after,[data-balloon][data-balloon-pos=up]:hover:before,[data-balloon][data-balloon-pos=up][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=up-left]:after{left:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-left]:after,[data-balloon][data-balloon-pos=up-left]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-left]:before{left:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-left]:hover:after,[data-balloon][data-balloon-pos=up-left]:hover:before,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=up-right]:after{right:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-right]:after,[data-balloon][data-balloon-pos=up-right]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-right]:before{right:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-right]:hover:after,[data-balloon][data-balloon-pos=up-right]:hover:before,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down]:after{margin-top:11px}[data-balloon][data-balloon-pos=down]:after,[data-balloon][data-balloon-pos=down]:before{left:50%;top:100%;-webkit-transform:translate(-50%,-10px);transform:translate(-50%,-10px)}[data-balloon][data-balloon-pos=down]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17,17,17,0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;margin-top:5px}[data-balloon][data-balloon-pos=down]:hover:after,[data-balloon][data-balloon-pos=down]:hover:before,[data-balloon][data-balloon-pos=down][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=down-left]:after{left:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17,17,17,0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;left:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);tranLine truncated
/*# sourceMappingURL=artplayer.css.map */
-1
View File
@@ -1 +0,0 @@
{"version":3,"sources":["artplayer.scss","video.scss","subtitle.scss","layers.scss","mask.scss","loading.scss","bottom.scss","notice.scss","contextmenu.scss","setting.scss","info.scss","hideCursor.scss","aspectRatio.scss","fullscreenWeb.scss","pip.scss","autoSize.scss","flip.scss","balloon.min.css"],"names":[],"mappings":"AAAA,wBACE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,eAAgB,CAChB,SAAU,CACV,6CAA8C,CAC9C,UAAW,CACX,eAAgB,CAChB,aAAc,CACd,cAAe,CACf,eAAgB,CAChB,wBAAiB,CAAjB,qBAAiB,CAAjB,oBAAiB,CAAjB,gBAAiB,CACjB,yCAA6C,CAC7C,6BAA0B,CAA1B,yBAA0B,CAC1B,6BAAgC,CAChC,0BACE,QAAS,CACT,SAAU,CACV,6BAAsB,CAAtB,qBAAwB,CAC1B,kCACE,oBAAqB,CACrB,eAAkB,CAClB,sCACE,SAAY;ACxBlB,yCACE,iBAAkB,CAClB,UAAW,CACX,MAAO,CACP,KAAM,CACN,OAAQ,CACR,QAAS,CACT,UAAW,CACX,WAAY,CACZ,qBAAsB,CACtB,SAAU,CACV,cAAiB;ACXnB,4CACE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,UAAW,CACX,cAAe,CACf,iBAAkB,CAClB,UAAW,CACX,yCAAiD,CACjD,cAAe,CACf,mBAAsB,CACtB,8CACE,YAAe;ACZnB,0CACE,iBAAkB,CAClB,UAAW,CACX,MAAO,CACP,KAAM,CACN,OAAQ,CACR,QAAS,CACT,UAAW,CACX,WAAY,CACZ,mBAAsB,CACtB,qDACE,kBAAqB;ACXzB,wCACE,YAAa,CACb,iBAAkB,CAClB,UAAW,CACX,MAAO,CACP,KAAM,CACN,OAAQ,CACR,QAAS,CACT,UAAW,CACX,WAAY,CACZ,mBAAsB,CACtB,qDACE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,UAAa;ACfjB,2CACE,YAAa,CACb,iBAAkB,CAClB,UAAW,CACX,MAAO,CACP,KAAM,CACN,OAAQ,CACR,QAAS,CACT,UAAW,CACX,WAAY,CACZ,wBAAmB,CAAnB,qBAAmB,CAAnB,kBAAmB,CACnB,uBAAuB,CAAvB,oBAAuB,CAAvB,sBAAuB,CACvB,mBAAsB;ACZxB,0CACE,iBAAkB,CAClB,UAAW,CACX,MAAO,CACP,OAAQ,CACR,QAAS,CACT,YAAa,CACb,mBAAoB,CACpB,SAAU,CACV,iBAAkB,CAClB,sCAA+B,CAA/B,8BAA+B,CAC/B,mBAAoB,CACpB,kSAAqS,CACrS,8DACE,iBAAkB,CAClB,kBAAqB,CACrB,oFACE,iBAAkB,CAClB,UAAW,CACX,aAAc,CACd,cAAiB,CACjB,gHACE,iBAAkB,CAClB,WAAY,CACZ,6BAAsC,CACtC,qIACE,iBAAkB,CAClB,UAAW,CACX,MAAO,CACP,KAAM,CACN,OAAQ,CACR,QAAS,CACT,WAAY,CACZ,OAAQ,CACR,6BAAsC,CACxC,qIACE,iBAAkB,CAClB,UAAW,CACX,MAAO,CACP,KAAM,CACN,OAAQ,CACR,QAAS,CACT,WAAY,CACZ,OAAU,CACZ,wIACE,iBAAkB,CAClB,UAAW,CACX,MAAO,CACP,KAAM,CACN,OAAQ,CACR,QAAS,CACT,QAAW,CACX,6IACE,oBAAqB,CACrB,iBAAkB,CAClB,MAAO,CACP,KAAM,CACN,SAAU,CACV,UAAW,CACX,eAAgB,CAChB,iBAAoB,CACxB,wIACE,YAAa,CACb,iBAAkB,CAClB,UAAW,CACX,QAAS,CACT,WAAY,CACZ,UAAW,CACX,WAAY,CACZ,iBAAoB,CACpB,2JACE,aAAgB,CACpB,kIACE,YAAa,CACb,iBAAkB,CAClB,UAAW,CACX,SAAU,CACV,MAAO,CACP,WAAY,CACZ,aAAc,CACd,gBAAiB,CACjB,UAAW,CACX,cAAe,CACf,iBAAkB,CAClB,yBAA8B,CAC9B,iBAAkB,CAClB,eAAmB,CACvB,8NACE,aAAgB,CACpB,sFACE,YAAa,CACb,iBAAkB,CAClB,UAAW,CACX,MAAO,CACP,mBAAoB,CACpB,+BAAsC,CAC1C,8DACE,iBAAkB,CAClB,kBAAmB,CACnB,mBAAa,CAAb,mBAAa,CAAb,YAAa,CACb,wBAAmB,CAAnB,qBAAmB,CAAnB,kBAAmB,CACnB,wBAA8B,CAA9B,qBAA8B,CAA9B,6BAA8B,CAC9B,WAAc,CACd,+KACE,mBAAa,CAAb,mBAAa,CAAb,YAAe,CACjB,2EACE,UAAW,CACX,cAAe,CACf,WAAY,CACZ,cAAe,CACf,gBAAiB,CACjB,iBAAkB,CAClB,cAAiB,CACjB,qFACE,mBAAa,CAAb,mBAAa,CAAb,YAAa,CACb,wBAAmB,CAAnB,qBAAmB,CAAnB,kBAAmB,CACnB,uBAAuB,CAAvB,oBAAuB,CAAvB,sBAAuB,CACvB,UAAW,CACX,WAAY,CACZ,UAAa,CACf,iFACE,SAAY,CAChB,oGACE,iBAAkB,CAClB,UAAW,CACX,OAAQ,CACR,WAAY,CACZ,qFAAyF,CAAzF,6EAAyF,CACzF,eAAkB,CAClB,8HACE,iBAAkB,CAClB,OAAQ,CACR,MAAO,CACP,UAAW,CACX,WAAY,CACZ,kBAAmB,CACnB,eAAgB,CAChB,eAAkB,CAClB,qIACE,UAAW,CACX,eAAkB,CACpB,oIACE,QAAS,CACT,6BAAsC,CACxC,yQACE,UAAW,CACX,iBAAkB,CAClB,aAAc,CACd,OAAQ,CACR,UAAW,CACX,eAAgB,CAChB,UAAa,CACnB,0GACE,UAAa,CACf,gFACE,cAAiB,CACnB,mFACE,iBAAkB,CAClB,UAAW,CACX,cAAiB,CACjB,iGACE,YAAa,CACb,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,aAAc,CACd,iBAAkB,CAClB,UAAW,CACX,yBAA8B,CAC9B,iBAAoB,CACpB,mHACE,WAAY,CACZ,gBAAiB,CACjB,eAAgB,CAChB,sBAAuB,CACvB,kBAAmB,CACnB,kCAAyC,CACzC,yHACE,mCAA4C,CAClD,uGACE,aAAgB,CAExB,4HACE,SAAU,CACV,kBAAqB,CAEvB,wPACE,sBAA0B;AC5L5B,0CACE,YAAa,CACb,cAAe,CACf,iBAAkB,CAClB,UAAW,CACX,MAAO,CACP,KAAM,CACN,YAAa,CACb,UAAW,CACX,mBAAsB,CACtB,kEACE,oBAAqB,CACrB,gBAAiB,CACjB,UAAW,CACX,yBAA8B,CAC9B,iBAAoB;ACfxB,+CACE,YAAa,CACb,iBAAkB,CAClB,WAAY,CACZ,MAAO,CACP,KAAM,CACN,eAAgB,CAChB,aAAc,CACd,yBAA8B,CAC9B,iBAAoB,CACpB,gEACE,cAAe,CACf,cAAe,CACf,aAAc,CACd,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAChB,sBAAuB,CACvB,kBAAmB,CACnB,kCAAuC,CACvC,0CAAmD,CACnD,kEACE,UAAW,CACX,oBAAuB,CACzB,qEACE,oBAAqB,CACrB,aAAgB,CAChB,wJACE,aAAgB,CACpB,sEACE,mCAA4C,CAC9C,2EACE,kBAAqB;AChC3B,2CACE,YAAa,CACb,iBAAkB,CAClB,UAAW,CACX,MAAO,CACP,KAAM,CACN,WAAY,CACZ,UAAW,CACX,wBAAmB,CAAnB,qBAAmB,CAAnB,kBAAmB,CACnB,uBAAuB,CAAvB,oBAAuB,CAAvB,sBAAuB,CACvB,mBAAsB,CACtB,oEACE,iBAAkB,CAClB,WAAY,CACZ,YAAa,CACb,cAAe,CACf,yBAA8B,CAC9B,iBAAkB,CAClB,kBAAmB,CACnB,eAAkB,CAClB,4FACE,eAAgB,CAChB,UAAW,CACX,WAAc,CACd,yGACE,0CAAiD,CACjD,iBAA8B,CAC9B,6HACE,UAAW,CACX,kBAAqB,CACvB,2HACE,wBAAiC,CACvC,6FACE,iBAAkB,CAClB,KAAM,CACN,OAAQ,CACR,UAAW,CACX,WAAY,CACZ,gBAAiB,CACjB,iBAAkB,CAClB,wBAA+B,CAC/B,yBAA8B,CAC9B,cAAe,CACf,cAAiB,CACrB,6DACE,mBAAa,CAAb,mBAAa,CAAb,YAAa,CACb,gBAAiB,CACjB,iBAAoB,CACpB,8EACE,kBAAO,CAAP,UAAO,CAAP,MAAO,CACP,aAAgB,CAChB,mFACE,aAAc,CACd,WAAY,CACZ,gBAAiB,CACjB,iBAAkB,CAClB,UAAW,CACX,6BAAoC,CACpC,iBAAkB,CAClB,cAAiB,CACnB,oLACE,UAAW,CACX,kBAAqB;AC9D7B,wCACE,YAAa,CACb,iBAAkB,CAClB,SAAU,CACV,QAAS,CACT,UAAW,CACX,WAAY,CACZ,gBAAiB,CACjB,YAAa,CACb,UAAW,CACX,cAAe,CACf,wFAAyF,CACzF,kCAAmC,CACnC,yBAAgC,CAChC,uDACE,mBAAa,CAAb,mBAAa,CAAb,YAAa,CACb,iLine truncated
+2735 -3633
View File
File diff suppressed because it is too large. Load diff
Loaded 100 of 324 files, more files were not shown because too many files have changed in this diff. Show more