mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-08 10:56:15 -08:00
add artplayer-plugin-vtt-thumbnail
This commit is contained in:
1 parent
20a4252955
commit
4028a46195
22 files changed
+660
-140
No files matched your search
@@ -125,7 +125,7 @@ img {
|
||||
z-index: 9;
|
||||
top: 45px;
|
||||
left: 0;
|
||||
width: 200px;
|
||||
width: 250px;
|
||||
padding: 0 10px;
|
||||
background: #2b2b2b;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/bbb-video.mp4',
|
||||
plugins: [
|
||||
artplayerPluginVttThumbnail({
|
||||
vtt: '/assets/sample/bbb-thumbnails.vtt',
|
||||
})
|
||||
]
|
||||
});
|
||||
File renamed without changes.
@@ -1,361 +1,361 @@
|
||||
WEBVTT
|
||||
|
||||
00:00.000 --> 00:05.000
|
||||
../img/bbb-sprite.jpg#xywh=0,0,128,72
|
||||
bbb-sprite.jpg#xywh=0,0,128,72
|
||||
|
||||
00:05.000 --> 00:10.000
|
||||
../img/bbb-sprite.jpg#xywh=128,0,128,72
|
||||
bbb-sprite.jpg#xywh=128,0,128,72
|
||||
|
||||
00:10.000 --> 00:15.000
|
||||
../img/bbb-sprite.jpg#xywh=256,0,128,72
|
||||
bbb-sprite.jpg#xywh=256,0,128,72
|
||||
|
||||
00:15.000 --> 00:20.000
|
||||
../img/bbb-sprite.jpg#xywh=384,0,128,72
|
||||
bbb-sprite.jpg#xywh=384,0,128,72
|
||||
|
||||
00:20.000 --> 00:25.000
|
||||
../img/bbb-sprite.jpg#xywh=512,0,128,72
|
||||
bbb-sprite.jpg#xywh=512,0,128,72
|
||||
|
||||
00:25.000 --> 00:30.000
|
||||
../img/bbb-sprite.jpg#xywh=640,0,128,72
|
||||
bbb-sprite.jpg#xywh=640,0,128,72
|
||||
|
||||
00:30.000 --> 00:35.000
|
||||
../img/bbb-sprite.jpg#xywh=768,0,128,72
|
||||
bbb-sprite.jpg#xywh=768,0,128,72
|
||||
|
||||
00:35.000 --> 00:40.000
|
||||
../img/bbb-sprite.jpg#xywh=896,0,128,72
|
||||
bbb-sprite.jpg#xywh=896,0,128,72
|
||||
|
||||
00:40.000 --> 00:45.000
|
||||
../img/bbb-sprite.jpg#xywh=1024,0,128,72
|
||||
bbb-sprite.jpg#xywh=1024,0,128,72
|
||||
|
||||
00:45.000 --> 00:50.000
|
||||
../img/bbb-sprite.jpg#xywh=1152,0,128,72
|
||||
bbb-sprite.jpg#xywh=1152,0,128,72
|
||||
|
||||
00:50.000 --> 00:55.000
|
||||
../img/bbb-sprite.jpg#xywh=1280,0,128,72
|
||||
bbb-sprite.jpg#xywh=1280,0,128,72
|
||||
|
||||
00:55.000 --> 01:00.000
|
||||
../img/bbb-sprite.jpg#xywh=0,72,128,72
|
||||
bbb-sprite.jpg#xywh=0,72,128,72
|
||||
|
||||
01:00.000 --> 01:05.000
|
||||
../img/bbb-sprite.jpg#xywh=128,72,128,72
|
||||
bbb-sprite.jpg#xywh=128,72,128,72
|
||||
|
||||
01:05.000 --> 01:10.000
|
||||
../img/bbb-sprite.jpg#xywh=256,72,128,72
|
||||
bbb-sprite.jpg#xywh=256,72,128,72
|
||||
|
||||
01:10.000 --> 01:15.000
|
||||
../img/bbb-sprite.jpg#xywh=384,72,128,72
|
||||
bbb-sprite.jpg#xywh=384,72,128,72
|
||||
|
||||
01:15.000 --> 01:20.000
|
||||
../img/bbb-sprite.jpg#xywh=512,72,128,72
|
||||
bbb-sprite.jpg#xywh=512,72,128,72
|
||||
|
||||
01:20.000 --> 01:25.000
|
||||
../img/bbb-sprite.jpg#xywh=640,72,128,72
|
||||
bbb-sprite.jpg#xywh=640,72,128,72
|
||||
|
||||
01:25.000 --> 01:30.000
|
||||
../img/bbb-sprite.jpg#xywh=768,72,128,72
|
||||
bbb-sprite.jpg#xywh=768,72,128,72
|
||||
|
||||
01:30.000 --> 01:35.000
|
||||
../img/bbb-sprite.jpg#xywh=896,72,128,72
|
||||
bbb-sprite.jpg#xywh=896,72,128,72
|
||||
|
||||
01:35.000 --> 01:40.000
|
||||
../img/bbb-sprite.jpg#xywh=1024,72,128,72
|
||||
bbb-sprite.jpg#xywh=1024,72,128,72
|
||||
|
||||
01:40.000 --> 01:45.000
|
||||
../img/bbb-sprite.jpg#xywh=1152,72,128,72
|
||||
bbb-sprite.jpg#xywh=1152,72,128,72
|
||||
|
||||
01:45.000 --> 01:50.000
|
||||
../img/bbb-sprite.jpg#xywh=1280,72,128,72
|
||||
bbb-sprite.jpg#xywh=1280,72,128,72
|
||||
|
||||
01:50.000 --> 01:55.000
|
||||
../img/bbb-sprite.jpg#xywh=0,144,128,72
|
||||
bbb-sprite.jpg#xywh=0,144,128,72
|
||||
|
||||
01:55.000 --> 02:00.000
|
||||
../img/bbb-sprite.jpg#xywh=128,144,128,72
|
||||
bbb-sprite.jpg#xywh=128,144,128,72
|
||||
|
||||
02:00.000 --> 02:05.000
|
||||
../img/bbb-sprite.jpg#xywh=256,144,128,72
|
||||
bbb-sprite.jpg#xywh=256,144,128,72
|
||||
|
||||
02:05.000 --> 02:10.000
|
||||
../img/bbb-sprite.jpg#xywh=384,144,128,72
|
||||
bbb-sprite.jpg#xywh=384,144,128,72
|
||||
|
||||
02:10.000 --> 02:15.000
|
||||
../img/bbb-sprite.jpg#xywh=512,144,128,72
|
||||
bbb-sprite.jpg#xywh=512,144,128,72
|
||||
|
||||
02:15.000 --> 02:20.000
|
||||
../img/bbb-sprite.jpg#xywh=640,144,128,72
|
||||
bbb-sprite.jpg#xywh=640,144,128,72
|
||||
|
||||
02:20.000 --> 02:25.000
|
||||
../img/bbb-sprite.jpg#xywh=768,144,128,72
|
||||
bbb-sprite.jpg#xywh=768,144,128,72
|
||||
|
||||
02:25.000 --> 02:30.000
|
||||
../img/bbb-sprite.jpg#xywh=896,144,128,72
|
||||
bbb-sprite.jpg#xywh=896,144,128,72
|
||||
|
||||
02:30.000 --> 02:35.000
|
||||
../img/bbb-sprite.jpg#xywh=1024,144,128,72
|
||||
bbb-sprite.jpg#xywh=1024,144,128,72
|
||||
|
||||
02:35.000 --> 02:40.000
|
||||
../img/bbb-sprite.jpg#xywh=1152,144,128,72
|
||||
bbb-sprite.jpg#xywh=1152,144,128,72
|
||||
|
||||
02:40.000 --> 02:45.000
|
||||
../img/bbb-sprite.jpg#xywh=1280,144,128,72
|
||||
bbb-sprite.jpg#xywh=1280,144,128,72
|
||||
|
||||
02:45.000 --> 02:50.000
|
||||
../img/bbb-sprite.jpg#xywh=0,216,128,72
|
||||
bbb-sprite.jpg#xywh=0,216,128,72
|
||||
|
||||
02:50.000 --> 02:55.000
|
||||
../img/bbb-sprite.jpg#xywh=128,216,128,72
|
||||
bbb-sprite.jpg#xywh=128,216,128,72
|
||||
|
||||
02:55.000 --> 03:00.000
|
||||
../img/bbb-sprite.jpg#xywh=256,216,128,72
|
||||
bbb-sprite.jpg#xywh=256,216,128,72
|
||||
|
||||
03:00.000 --> 03:05.000
|
||||
../img/bbb-sprite.jpg#xywh=384,216,128,72
|
||||
bbb-sprite.jpg#xywh=384,216,128,72
|
||||
|
||||
03:05.000 --> 03:10.000
|
||||
../img/bbb-sprite.jpg#xywh=512,216,128,72
|
||||
bbb-sprite.jpg#xywh=512,216,128,72
|
||||
|
||||
03:10.000 --> 03:15.000
|
||||
../img/bbb-sprite.jpg#xywh=640,216,128,72
|
||||
bbb-sprite.jpg#xywh=640,216,128,72
|
||||
|
||||
03:15.000 --> 03:20.000
|
||||
../img/bbb-sprite.jpg#xywh=768,216,128,72
|
||||
bbb-sprite.jpg#xywh=768,216,128,72
|
||||
|
||||
03:20.000 --> 03:25.000
|
||||
../img/bbb-sprite.jpg#xywh=896,216,128,72
|
||||
bbb-sprite.jpg#xywh=896,216,128,72
|
||||
|
||||
03:25.000 --> 03:30.000
|
||||
../img/bbb-sprite.jpg#xywh=1024,216,128,72
|
||||
bbb-sprite.jpg#xywh=1024,216,128,72
|
||||
|
||||
03:30.000 --> 03:35.000
|
||||
../img/bbb-sprite.jpg#xywh=1152,216,128,72
|
||||
bbb-sprite.jpg#xywh=1152,216,128,72
|
||||
|
||||
03:35.000 --> 03:40.000
|
||||
../img/bbb-sprite.jpg#xywh=1280,216,128,72
|
||||
bbb-sprite.jpg#xywh=1280,216,128,72
|
||||
|
||||
03:40.000 --> 03:45.000
|
||||
../img/bbb-sprite.jpg#xywh=0,288,128,72
|
||||
bbb-sprite.jpg#xywh=0,288,128,72
|
||||
|
||||
03:45.000 --> 03:50.000
|
||||
../img/bbb-sprite.jpg#xywh=128,288,128,72
|
||||
bbb-sprite.jpg#xywh=128,288,128,72
|
||||
|
||||
03:50.000 --> 03:55.000
|
||||
../img/bbb-sprite.jpg#xywh=256,288,128,72
|
||||
bbb-sprite.jpg#xywh=256,288,128,72
|
||||
|
||||
03:55.000 --> 04:00.000
|
||||
../img/bbb-sprite.jpg#xywh=384,288,128,72
|
||||
bbb-sprite.jpg#xywh=384,288,128,72
|
||||
|
||||
04:00.000 --> 04:05.000
|
||||
../img/bbb-sprite.jpg#xywh=512,288,128,72
|
||||
bbb-sprite.jpg#xywh=512,288,128,72
|
||||
|
||||
04:05.000 --> 04:10.000
|
||||
../img/bbb-sprite.jpg#xywh=640,288,128,72
|
||||
bbb-sprite.jpg#xywh=640,288,128,72
|
||||
|
||||
04:10.000 --> 04:15.000
|
||||
../img/bbb-sprite.jpg#xywh=768,288,128,72
|
||||
bbb-sprite.jpg#xywh=768,288,128,72
|
||||
|
||||
04:15.000 --> 04:20.000
|
||||
../img/bbb-sprite.jpg#xywh=896,288,128,72
|
||||
bbb-sprite.jpg#xywh=896,288,128,72
|
||||
|
||||
04:20.000 --> 04:25.000
|
||||
../img/bbb-sprite.jpg#xywh=1024,288,128,72
|
||||
bbb-sprite.jpg#xywh=1024,288,128,72
|
||||
|
||||
04:25.000 --> 04:30.000
|
||||
../img/bbb-sprite.jpg#xywh=1152,288,128,72
|
||||
bbb-sprite.jpg#xywh=1152,288,128,72
|
||||
|
||||
04:30.000 --> 04:35.000
|
||||
../img/bbb-sprite.jpg#xywh=1280,288,128,72
|
||||
bbb-sprite.jpg#xywh=1280,288,128,72
|
||||
|
||||
04:35.000 --> 04:40.000
|
||||
../img/bbb-sprite.jpg#xywh=0,360,128,72
|
||||
bbb-sprite.jpg#xywh=0,360,128,72
|
||||
|
||||
04:40.000 --> 04:45.000
|
||||
../img/bbb-sprite.jpg#xywh=128,360,128,72
|
||||
bbb-sprite.jpg#xywh=128,360,128,72
|
||||
|
||||
04:45.000 --> 04:50.000
|
||||
../img/bbb-sprite.jpg#xywh=256,360,128,72
|
||||
bbb-sprite.jpg#xywh=256,360,128,72
|
||||
|
||||
04:50.000 --> 04:55.000
|
||||
../img/bbb-sprite.jpg#xywh=384,360,128,72
|
||||
bbb-sprite.jpg#xywh=384,360,128,72
|
||||
|
||||
04:55.000 --> 05:00.000
|
||||
../img/bbb-sprite.jpg#xywh=512,360,128,72
|
||||
bbb-sprite.jpg#xywh=512,360,128,72
|
||||
|
||||
05:00.000 --> 05:05.000
|
||||
../img/bbb-sprite.jpg#xywh=640,360,128,72
|
||||
bbb-sprite.jpg#xywh=640,360,128,72
|
||||
|
||||
05:05.000 --> 05:10.000
|
||||
../img/bbb-sprite.jpg#xywh=768,360,128,72
|
||||
bbb-sprite.jpg#xywh=768,360,128,72
|
||||
|
||||
05:10.000 --> 05:15.000
|
||||
../img/bbb-sprite.jpg#xywh=896,360,128,72
|
||||
bbb-sprite.jpg#xywh=896,360,128,72
|
||||
|
||||
05:15.000 --> 05:20.000
|
||||
../img/bbb-sprite.jpg#xywh=1024,360,128,72
|
||||
bbb-sprite.jpg#xywh=1024,360,128,72
|
||||
|
||||
05:20.000 --> 05:25.000
|
||||
../img/bbb-sprite.jpg#xywh=1152,360,128,72
|
||||
bbb-sprite.jpg#xywh=1152,360,128,72
|
||||
|
||||
05:25.000 --> 05:30.000
|
||||
../img/bbb-sprite.jpg#xywh=1280,360,128,72
|
||||
bbb-sprite.jpg#xywh=1280,360,128,72
|
||||
|
||||
05:30.000 --> 05:35.000
|
||||
../img/bbb-sprite.jpg#xywh=0,432,128,72
|
||||
bbb-sprite.jpg#xywh=0,432,128,72
|
||||
|
||||
05:35.000 --> 05:40.000
|
||||
../img/bbb-sprite.jpg#xywh=128,432,128,72
|
||||
bbb-sprite.jpg#xywh=128,432,128,72
|
||||
|
||||
05:40.000 --> 05:45.000
|
||||
../img/bbb-sprite.jpg#xywh=256,432,128,72
|
||||
bbb-sprite.jpg#xywh=256,432,128,72
|
||||
|
||||
05:45.000 --> 05:50.000
|
||||
../img/bbb-sprite.jpg#xywh=384,432,128,72
|
||||
bbb-sprite.jpg#xywh=384,432,128,72
|
||||
|
||||
05:50.000 --> 05:55.000
|
||||
../img/bbb-sprite.jpg#xywh=512,432,128,72
|
||||
bbb-sprite.jpg#xywh=512,432,128,72
|
||||
|
||||
05:55.000 --> 06:00.000
|
||||
../img/bbb-sprite.jpg#xywh=640,432,128,72
|
||||
bbb-sprite.jpg#xywh=640,432,128,72
|
||||
|
||||
06:00.000 --> 06:05.000
|
||||
../img/bbb-sprite.jpg#xywh=768,432,128,72
|
||||
bbb-sprite.jpg#xywh=768,432,128,72
|
||||
|
||||
06:05.000 --> 06:10.000
|
||||
../img/bbb-sprite.jpg#xywh=896,432,128,72
|
||||
bbb-sprite.jpg#xywh=896,432,128,72
|
||||
|
||||
06:10.000 --> 06:15.000
|
||||
../img/bbb-sprite.jpg#xywh=1024,432,128,72
|
||||
bbb-sprite.jpg#xywh=1024,432,128,72
|
||||
|
||||
06:15.000 --> 06:20.000
|
||||
../img/bbb-sprite.jpg#xywh=1152,432,128,72
|
||||
bbb-sprite.jpg#xywh=1152,432,128,72
|
||||
|
||||
06:20.000 --> 06:25.000
|
||||
../img/bbb-sprite.jpg#xywh=1280,432,128,72
|
||||
bbb-sprite.jpg#xywh=1280,432,128,72
|
||||
|
||||
06:25.000 --> 06:30.000
|
||||
../img/bbb-sprite.jpg#xywh=0,504,128,72
|
||||
bbb-sprite.jpg#xywh=0,504,128,72
|
||||
|
||||
06:30.000 --> 06:35.000
|
||||
../img/bbb-sprite.jpg#xywh=128,504,128,72
|
||||
bbb-sprite.jpg#xywh=128,504,128,72
|
||||
|
||||
06:35.000 --> 06:40.000
|
||||
../img/bbb-sprite.jpg#xywh=256,504,128,72
|
||||
bbb-sprite.jpg#xywh=256,504,128,72
|
||||
|
||||
06:40.000 --> 06:45.000
|
||||
../img/bbb-sprite.jpg#xywh=384,504,128,72
|
||||
bbb-sprite.jpg#xywh=384,504,128,72
|
||||
|
||||
06:45.000 --> 06:50.000
|
||||
../img/bbb-sprite.jpg#xywh=512,504,128,72
|
||||
bbb-sprite.jpg#xywh=512,504,128,72
|
||||
|
||||
06:50.000 --> 06:55.000
|
||||
../img/bbb-sprite.jpg#xywh=640,504,128,72
|
||||
bbb-sprite.jpg#xywh=640,504,128,72
|
||||
|
||||
06:55.000 --> 07:00.000
|
||||
../img/bbb-sprite.jpg#xywh=768,504,128,72
|
||||
bbb-sprite.jpg#xywh=768,504,128,72
|
||||
|
||||
07:00.000 --> 07:05.000
|
||||
../img/bbb-sprite.jpg#xywh=896,504,128,72
|
||||
bbb-sprite.jpg#xywh=896,504,128,72
|
||||
|
||||
07:05.000 --> 07:10.000
|
||||
../img/bbb-sprite.jpg#xywh=1024,504,128,72
|
||||
bbb-sprite.jpg#xywh=1024,504,128,72
|
||||
|
||||
07:10.000 --> 07:15.000
|
||||
../img/bbb-sprite.jpg#xywh=1152,504,128,72
|
||||
bbb-sprite.jpg#xywh=1152,504,128,72
|
||||
|
||||
07:15.000 --> 07:20.000
|
||||
../img/bbb-sprite.jpg#xywh=1280,504,128,72
|
||||
bbb-sprite.jpg#xywh=1280,504,128,72
|
||||
|
||||
07:20.000 --> 07:25.000
|
||||
../img/bbb-sprite.jpg#xywh=0,576,128,72
|
||||
bbb-sprite.jpg#xywh=0,576,128,72
|
||||
|
||||
07:25.000 --> 07:30.000
|
||||
../img/bbb-sprite.jpg#xywh=128,576,128,72
|
||||
bbb-sprite.jpg#xywh=128,576,128,72
|
||||
|
||||
07:30.000 --> 07:35.000
|
||||
../img/bbb-sprite.jpg#xywh=256,576,128,72
|
||||
bbb-sprite.jpg#xywh=256,576,128,72
|
||||
|
||||
07:35.000 --> 07:40.000
|
||||
../img/bbb-sprite.jpg#xywh=384,576,128,72
|
||||
bbb-sprite.jpg#xywh=384,576,128,72
|
||||
|
||||
07:40.000 --> 07:45.000
|
||||
../img/bbb-sprite.jpg#xywh=512,576,128,72
|
||||
bbb-sprite.jpg#xywh=512,576,128,72
|
||||
|
||||
07:45.000 --> 07:50.000
|
||||
../img/bbb-sprite.jpg#xywh=640,576,128,72
|
||||
bbb-sprite.jpg#xywh=640,576,128,72
|
||||
|
||||
07:50.000 --> 07:55.000
|
||||
../img/bbb-sprite.jpg#xywh=768,576,128,72
|
||||
bbb-sprite.jpg#xywh=768,576,128,72
|
||||
|
||||
07:55.000 --> 08:00.000
|
||||
../img/bbb-sprite.jpg#xywh=896,576,128,72
|
||||
bbb-sprite.jpg#xywh=896,576,128,72
|
||||
|
||||
08:00.000 --> 08:05.000
|
||||
../img/bbb-sprite.jpg#xywh=1024,576,128,72
|
||||
bbb-sprite.jpg#xywh=1024,576,128,72
|
||||
|
||||
08:05.000 --> 08:10.000
|
||||
../img/bbb-sprite.jpg#xywh=1152,576,128,72
|
||||
bbb-sprite.jpg#xywh=1152,576,128,72
|
||||
|
||||
08:10.000 --> 08:15.000
|
||||
../img/bbb-sprite.jpg#xywh=1280,576,128,72
|
||||
bbb-sprite.jpg#xywh=1280,576,128,72
|
||||
|
||||
08:15.000 --> 08:20.000
|
||||
../img/bbb-sprite.jpg#xywh=0,648,128,72
|
||||
bbb-sprite.jpg#xywh=0,648,128,72
|
||||
|
||||
08:20.000 --> 08:25.000
|
||||
../img/bbb-sprite.jpg#xywh=128,648,128,72
|
||||
bbb-sprite.jpg#xywh=128,648,128,72
|
||||
|
||||
08:25.000 --> 08:30.000
|
||||
../img/bbb-sprite.jpg#xywh=256,648,128,72
|
||||
bbb-sprite.jpg#xywh=256,648,128,72
|
||||
|
||||
08:30.000 --> 08:35.000
|
||||
../img/bbb-sprite.jpg#xywh=384,648,128,72
|
||||
bbb-sprite.jpg#xywh=384,648,128,72
|
||||
|
||||
08:35.000 --> 08:40.000
|
||||
../img/bbb-sprite.jpg#xywh=512,648,128,72
|
||||
bbb-sprite.jpg#xywh=512,648,128,72
|
||||
|
||||
08:40.000 --> 08:45.000
|
||||
../img/bbb-sprite.jpg#xywh=640,648,128,72
|
||||
bbb-sprite.jpg#xywh=640,648,128,72
|
||||
|
||||
08:45.000 --> 08:50.000
|
||||
../img/bbb-sprite.jpg#xywh=768,648,128,72
|
||||
bbb-sprite.jpg#xywh=768,648,128,72
|
||||
|
||||
08:50.000 --> 08:55.000
|
||||
../img/bbb-sprite.jpg#xywh=896,648,128,72
|
||||
bbb-sprite.jpg#xywh=896,648,128,72
|
||||
|
||||
08:55.000 --> 09:00.000
|
||||
../img/bbb-sprite.jpg#xywh=1024,648,128,72
|
||||
bbb-sprite.jpg#xywh=1024,648,128,72
|
||||
|
||||
09:00.000 --> 09:05.000
|
||||
../img/bbb-sprite.jpg#xywh=1152,648,128,72
|
||||
bbb-sprite.jpg#xywh=1152,648,128,72
|
||||
|
||||
09:05.000 --> 09:10.000
|
||||
../img/bbb-sprite.jpg#xywh=1280,648,128,72
|
||||
bbb-sprite.jpg#xywh=1280,648,128,72
|
||||
|
||||
09:10.000 --> 09:15.000
|
||||
../img/bbb-sprite.jpg#xywh=0,720,128,72
|
||||
bbb-sprite.jpg#xywh=0,720,128,72
|
||||
|
||||
09:15.000 --> 09:20.000
|
||||
../img/bbb-sprite.jpg#xywh=128,720,128,72
|
||||
bbb-sprite.jpg#xywh=128,720,128,72
|
||||
|
||||
09:20.000 --> 09:25.000
|
||||
../img/bbb-sprite.jpg#xywh=256,720,128,72
|
||||
bbb-sprite.jpg#xywh=256,720,128,72
|
||||
|
||||
09:25.000 --> 09:30.000
|
||||
../img/bbb-sprite.jpg#xywh=384,720,128,72
|
||||
bbb-sprite.jpg#xywh=384,720,128,72
|
||||
|
||||
09:30.000 --> 09:35.000
|
||||
../img/bbb-sprite.jpg#xywh=512,720,128,72
|
||||
bbb-sprite.jpg#xywh=512,720,128,72
|
||||
|
||||
09:35.000 --> 09:40.000
|
||||
../img/bbb-sprite.jpg#xywh=640,720,128,72
|
||||
bbb-sprite.jpg#xywh=640,720,128,72
|
||||
|
||||
09:40.000 --> 09:45.000
|
||||
../img/bbb-sprite.jpg#xywh=768,720,128,72
|
||||
bbb-sprite.jpg#xywh=768,720,128,72
|
||||
|
||||
09:45.000 --> 09:50.000
|
||||
../img/bbb-sprite.jpg#xywh=896,720,128,72
|
||||
bbb-sprite.jpg#xywh=896,720,128,72
|
||||
|
||||
09:50.000 --> 09:55.000
|
||||
../img/bbb-sprite.jpg#xywh=1024,720,128,72
|
||||
bbb-sprite.jpg#xywh=1024,720,128,72
|
||||
|
||||
09:55.000 --> 10:00.000
|
||||
../img/bbb-sprite.jpg#xywh=1152,720,128,72
|
||||
bbb-sprite.jpg#xywh=1152,720,128,72
|
||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* artplayer-plugin-vtt-thumbnail.js v1.0.0
|
||||
* Github: https://github.com/zhw2590582/ArtPlayer
|
||||
* (c) 2017-2023 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,n,r,o){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},l="function"==typeof i[r]&&i[r],u=l.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,n){if(!u[t]){if(!e[t]){var o="function"==typeof i[r]&&i[r];if(!n&&o)return o(t,!0);if(l)return l(t,!0);if(s&&"string"==typeof t)return s(t);var a=new Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}d.resolve=function(n){var r=e[t][1][n];return null!=r?r:n},d.cache={};var c=u[t]=new f.Module(t);e[t][0].call(c.exports,d,c,c.exports,this)}return u[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=u,f.parent=l,f.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(f,"root",{get:function(){return i[r]}}),i[r]=f;for(var a=0;a<t.length;a++)f(t[a]);if(n){var c=f(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=c:"function"==typeof define&&define.amd&&define((function(){return c}))}}({YTqB2:[function(e,t,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n);var o=e("./getVttArray"),i=r.interopDefault(o);function l(e){return async t=>{const{constructor:{utils:{setStyle:n,clamp:r}},template:{$progress:o},events:{proxy:l}}=t,u=await(0,i.default)(e.vtt);return t.controls.add({name:"thumbnails",position:"top",index:20,style:e.style||{},mounted(e){l(o,"mousemove",(async i=>{n(e,"display","block");const{second:l,width:s}=function(e,t){const{$progress:n}=e.template,{left:o}=n.getBoundingClientRect(),i=r(t.pageX-o,0,n.clientWidth);return{width:i,second:i/n.clientWidth*e.duration}}(t,i),f=u.find((e=>l>=e.start&&l<=e.end));if(!f)return n(e,"display","none");n(e,"backgroundImage",`url(${f.url})`),n(e,"height",`${f.h}px`),n(e,"width",`${f.w}px`),n(e,"backgroundPosition",`-${f.x}px -${f.y}px`),s<=f.w/2?n(e,"left",0):s>o.clientWidth-f.w/2?n(e,"left",o.clientWidth-f.w+"px"):n(e,"left",s-f.w/2+"px")})),l(o,"mouseleave",(()=>{n(e,"display","none")})),t.on("hover",(t=>{n(e,"display",t?"block":"none")}))}}),{name:"artplayerPluginVttThumbnail"}}}n.default=l,l.env="production",l.version="1.0.0",l.build="2023-01-14 14:41:14","undefined"!=typeof window&&(window.artplayerPluginVttThumbnail=l)},{"./getVttArray":"4IFMi","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"4IFMi":[function(e,t,n){function r(e){var t,n,r,o=e.split("."),i=o[0].split(":")||[],l=(t=o[1]||"0",n=3,r="0",t.length>n?String(t):((n-=t.length)>r.length&&(r+=r.repeat(n/r.length)),String(t)+r.slice(0,n))),u=Number(l)/1e3;return 3600*Number(i[i.length-3]||0)+60*Number(i[i.length-2]||0)+Number(i[i.length-1]||0)+u}e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(n),n.default=async function(e=""){const t=(await(await fetch(e)).text()).split(/[\n\r]/gm).filter((e=>e.trim())),n=[];for(let o=1;o<t.length;o+=2){const i=t[o],l=t[o+1];if(!l.trim())continue;const u=/((?:[0-9]{2}:)?(?:[0-9]{2}:)?[0-9]{2}(?:.[0-9]{3})?)(?: ?--> ?)((?:[0-9]{2}:)?(?:[0-9]{2}:)?[0-9]{2}(?:.[0-9]{3})?)/,s=i.match(u),f=/(.*)#(\w{4})=(.*)/i,a=l.match(f),c=Math.floor(r(s[1])),d=Math.floor(r(s[2])),p=e.split("/");p.pop(),p.push(a[1]);const h={start:c,end:d,url:p.join("/")},m=a[2].split(""),g=a[3].split(",");for(let e=0;e<m.length;e++)h[m[e]]=g[e];n.push(h)}return n}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"9pCYc":[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach((function(n){"default"===n||"__esModule"===n||t.hasOwnProperty(n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})})),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["YTqB2"],"YTqB2","parcelRequire4dc0");
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* artplayer-plugin-vtt-thumbnail.js v1.0.0
|
||||
* Github: https://github.com/zhw2590582/ArtPlayer
|
||||
* (c) 2017-2023 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,n,r,o){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},l="function"==typeof i[r]&&i[r],u=l.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function s(t,n){if(!u[t]){if(!e[t]){var o="function"==typeof i[r]&&i[r];if(!n&&o)return o(t,!0);if(l)return l(t,!0);if(f&&"string"==typeof t)return f(t);var a=new Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}d.resolve=function(n){var r=e[t][1][n];return null!=r?r:n},d.cache={};var c=u[t]=new s.Module(t);e[t][0].call(c.exports,d,c,c.exports,this)}return u[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:s(t)}}s.isParcelRequire=!0,s.Module=function(e){this.id=e,this.bundle=s,this.exports={}},s.modules=e,s.cache=u,s.parent=l,s.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(s,"root",{get:function(){return i[r]}}),i[r]=s;for(var a=0;a<t.length;a++)s(t[a]);if(n){var c=s(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=c:"function"==typeof define&&define.amd&&define((function(){return c}))}}({flifo:[function(e,t,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n);var o=e("./getVttArray"),i=r.interopDefault(o);function l(e){return async t=>{const{constructor:{utils:{setStyle:n,clamp:r}},template:{$progress:o},events:{proxy:l}}=t,u=await(0,i.default)(e.vtt);return t.controls.add({name:"thumbnails",position:"top",index:20,style:e.style||{},mounted(e){l(o,"mousemove",(async i=>{n(e,"display","block");const{second:l,width:f}=function(e,t){const{$progress:n}=e.template,{left:o}=n.getBoundingClientRect(),i=r(t.pageX-o,0,n.clientWidth);return{width:i,second:i/n.clientWidth*e.duration}}(t,i),s=u.find((e=>l>=e.start&&l<=e.end));if(!s)return n(e,"display","none");n(e,"backgroundImage",`url(${s.url})`),n(e,"height",`${s.h}px`),n(e,"width",`${s.w}px`),n(e,"backgroundPosition",`-${s.x}px -${s.y}px`),f<=s.w/2?n(e,"left",0):f>o.clientWidth-s.w/2?n(e,"left",o.clientWidth-s.w+"px"):n(e,"left",f-s.w/2+"px")})),l(o,"mouseleave",(()=>{n(e,"display","none")})),t.on("hover",(t=>{n(e,"display",t?"block":"none")}))}}),{name:"artplayerPluginVttThumbnail"}}}n.default=l,l.env="production",l.version="1.0.0",l.build="2023-01-14 14:41:16","undefined"!=typeof window&&(window.artplayerPluginVttThumbnail=l)},{"./getVttArray":"5fcbX","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"5fcbX":[function(e,t,n){function r(e){var t,n,r,o=e.split("."),i=o[0].split(":")||[],l=(t=o[1]||"0",n=3,r="0",t.length>n?String(t):((n-=t.length)>r.length&&(r+=r.repeat(n/r.length)),String(t)+r.slice(0,n))),u=Number(l)/1e3;return 3600*Number(i[i.length-3]||0)+60*Number(i[i.length-2]||0)+Number(i[i.length-1]||0)+u}e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(n),n.default=async function(e=""){const t=(await(await fetch(e)).text()).split(/[\n\r]/gm).filter((e=>e.trim())),n=[];for(let o=1;o<t.length;o+=2){const i=t[o],l=t[o+1];if(!l.trim())continue;const u=/((?:[0-9]{2}:)?(?:[0-9]{2}:)?[0-9]{2}(?:.[0-9]{3})?)(?: ?--> ?)((?:[0-9]{2}:)?(?:[0-9]{2}:)?[0-9]{2}(?:.[0-9]{3})?)/,f=i.match(u),s=/(.*)#(\w{4})=(.*)/i,a=l.match(s),c=Math.floor(r(f[1])),d=Math.floor(r(f[2])),p=e.split("/");p.pop(),p.push(a[1]);const h={start:c,end:d,url:p.join("/")},m=a[2].split(""),g=a[3].split(",");for(let e=0;e<m.length;e++)h[m[e]]=g[e];n.push(h)}return n}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"47PTV":[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach((function(n){"default"===n||"__esModule"===n||t.hasOwnProperty(n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})})),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["flifo"],"flifo","parcelRequire4dc0");
|
||||
@@ -47,6 +47,10 @@
|
||||
<a
|
||||
href="/?libs=https://cdnjs.cloudflare.com/ajax/libs/hls.js/8.0.0-beta.3/hls.min.js%0A./uncompiled/artplayer-plugin-hls-quality/index.js&example=hls.quality">artplayer-plugin-hls-quality</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="/?libs=./uncompiled/artplayer-plugin-vtt-thumbnail/index.js&example=vtt.thumbnail">artplayer-plugin-vtt-thumbnail</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li class="title">Tools</li>
|
||||
|
||||
@@ -0,0 +1,287 @@
|
||||
// modules are defined as an array
|
||||
// [ module function, map of requires ]
|
||||
//
|
||||
// map of requires is short require name -> numeric require
|
||||
//
|
||||
// anything defined in a previous bundle is accessed via the
|
||||
// orig method which is the require for previous bundles
|
||||
|
||||
(function (modules, entry, mainEntry, parcelRequireName, globalName) {
|
||||
/* eslint-disable no-undef */
|
||||
var globalObject =
|
||||
typeof globalThis !== 'undefined'
|
||||
? globalThis
|
||||
: typeof self !== 'undefined'
|
||||
? self
|
||||
: typeof window !== 'undefined'
|
||||
? window
|
||||
: typeof global !== 'undefined'
|
||||
? global
|
||||
: {};
|
||||
/* eslint-enable no-undef */
|
||||
|
||||
// Save the require from previous bundle to this closure if any
|
||||
var previousRequire =
|
||||
typeof globalObject[parcelRequireName] === 'function' &&
|
||||
globalObject[parcelRequireName];
|
||||
|
||||
var cache = previousRequire.cache || {};
|
||||
// Do not use `require` to prevent Webpack from trying to bundle this call
|
||||
var nodeRequire =
|
||||
typeof module !== 'undefined' &&
|
||||
typeof module.require === 'function' &&
|
||||
module.require.bind(module);
|
||||
|
||||
function newRequire(name, jumped) {
|
||||
if (!cache[name]) {
|
||||
if (!modules[name]) {
|
||||
// if we cannot find the module within our internal map or
|
||||
// cache jump to the current global require ie. the last bundle
|
||||
// that was added to the page.
|
||||
var currentRequire =
|
||||
typeof globalObject[parcelRequireName] === 'function' &&
|
||||
globalObject[parcelRequireName];
|
||||
if (!jumped && currentRequire) {
|
||||
return currentRequire(name, true);
|
||||
}
|
||||
|
||||
// If there are other bundles on this page the require from the
|
||||
// previous one is saved to 'previousRequire'. Repeat this as
|
||||
// many times as there are bundles until the module is found or
|
||||
// we exhaust the require chain.
|
||||
if (previousRequire) {
|
||||
return previousRequire(name, true);
|
||||
}
|
||||
|
||||
// Try the node require function if it exists.
|
||||
if (nodeRequire && typeof name === 'string') {
|
||||
return nodeRequire(name);
|
||||
}
|
||||
|
||||
var err = new Error("Cannot find module '" + name + "'");
|
||||
err.code = 'MODULE_NOT_FOUND';
|
||||
throw err;
|
||||
}
|
||||
|
||||
localRequire.resolve = resolve;
|
||||
localRequire.cache = {};
|
||||
|
||||
var module = (cache[name] = new newRequire.Module(name));
|
||||
|
||||
modules[name][0].call(
|
||||
module.exports,
|
||||
localRequire,
|
||||
module,
|
||||
module.exports,
|
||||
this
|
||||
);
|
||||
}
|
||||
|
||||
return cache[name].exports;
|
||||
|
||||
function localRequire(x) {
|
||||
var res = localRequire.resolve(x);
|
||||
return res === false ? {} : newRequire(res);
|
||||
}
|
||||
|
||||
function resolve(x) {
|
||||
var id = modules[name][1][x];
|
||||
return id != null ? id : x;
|
||||
}
|
||||
}
|
||||
|
||||
function Module(moduleName) {
|
||||
this.id = moduleName;
|
||||
this.bundle = newRequire;
|
||||
this.exports = {};
|
||||
}
|
||||
|
||||
newRequire.isParcelRequire = true;
|
||||
newRequire.Module = Module;
|
||||
newRequire.modules = modules;
|
||||
newRequire.cache = cache;
|
||||
newRequire.parent = previousRequire;
|
||||
newRequire.register = function (id, exports) {
|
||||
modules[id] = [
|
||||
function (require, module) {
|
||||
module.exports = exports;
|
||||
},
|
||||
{},
|
||||
];
|
||||
};
|
||||
|
||||
Object.defineProperty(newRequire, 'root', {
|
||||
get: function () {
|
||||
return globalObject[parcelRequireName];
|
||||
},
|
||||
});
|
||||
|
||||
globalObject[parcelRequireName] = newRequire;
|
||||
|
||||
for (var i = 0; i < entry.length; i++) {
|
||||
newRequire(entry[i]);
|
||||
}
|
||||
|
||||
if (mainEntry) {
|
||||
// Expose entry point to Node, AMD or browser globals
|
||||
// Based on https://github.com/ForbesLindesay/umd/blob/master/template.js
|
||||
var mainExports = newRequire(mainEntry);
|
||||
|
||||
// CommonJS
|
||||
if (typeof exports === 'object' && typeof module !== 'undefined') {
|
||||
module.exports = mainExports;
|
||||
|
||||
// RequireJS
|
||||
} else if (typeof define === 'function' && define.amd) {
|
||||
define(function () {
|
||||
return mainExports;
|
||||
});
|
||||
|
||||
// <script>
|
||||
} else if (globalName) {
|
||||
this[globalName] = mainExports;
|
||||
}
|
||||
}
|
||||
})({"1gq8W":[function(require,module,exports) {
|
||||
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
|
||||
parcelHelpers.defineInteropFlag(exports);
|
||||
var _getVttArray = require("./getVttArray");
|
||||
var _getVttArrayDefault = parcelHelpers.interopDefault(_getVttArray);
|
||||
function artplayerPluginVttThumbnail(option) {
|
||||
return async (art)=>{
|
||||
const { constructor: { utils: { setStyle , clamp } } , template: { $progress } , events: { proxy } } = art;
|
||||
const vttArray = await (0, _getVttArrayDefault.default)(option.vtt);
|
||||
function getPosFromEvent(art, event) {
|
||||
const { $progress } = art.template;
|
||||
const { left } = $progress.getBoundingClientRect();
|
||||
const width = clamp(event.pageX - left, 0, $progress.clientWidth);
|
||||
const second = width / $progress.clientWidth * art.duration;
|
||||
return {
|
||||
width,
|
||||
second
|
||||
};
|
||||
}
|
||||
art.controls.add({
|
||||
name: "thumbnails",
|
||||
position: "top",
|
||||
index: 20,
|
||||
style: option.style || {},
|
||||
mounted ($control) {
|
||||
proxy($progress, "mousemove", async (event)=>{
|
||||
setStyle($control, "display", "block");
|
||||
const { second , width } = getPosFromEvent(art, event);
|
||||
const find = vttArray.find((item)=>second >= item.start && second <= item.end);
|
||||
if (!find) return setStyle($control, "display", "none");
|
||||
setStyle($control, "backgroundImage", `url(${find.url})`);
|
||||
setStyle($control, "height", `${find.h}px`);
|
||||
setStyle($control, "width", `${find.w}px`);
|
||||
setStyle($control, "backgroundPosition", `-${find.x}px -${find.y}px`);
|
||||
if (width <= find.w / 2) setStyle($control, "left", 0);
|
||||
else if (width > $progress.clientWidth - find.w / 2) setStyle($control, "left", `${$progress.clientWidth - find.w}px`);
|
||||
else setStyle($control, "left", `${width - find.w / 2}px`);
|
||||
});
|
||||
proxy($progress, "mouseleave", ()=>{
|
||||
setStyle($control, "display", "none");
|
||||
});
|
||||
art.on("hover", (state)=>{
|
||||
setStyle($control, "display", state ? "block" : "none");
|
||||
});
|
||||
}
|
||||
});
|
||||
return {
|
||||
name: "artplayerPluginVttThumbnail"
|
||||
};
|
||||
};
|
||||
}
|
||||
exports.default = artplayerPluginVttThumbnail;
|
||||
artplayerPluginVttThumbnail.env = "development";
|
||||
artplayerPluginVttThumbnail.version = "1.0.0";
|
||||
artplayerPluginVttThumbnail.build = "2023-01-14 13:32:26";
|
||||
if (typeof window !== "undefined") window["artplayerPluginVttThumbnail"] = artplayerPluginVttThumbnail;
|
||||
|
||||
},{"@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6","./getVttArray":"gSM1I"}],"5dUr6":[function(require,module,exports) {
|
||||
exports.interopDefault = function(a) {
|
||||
return a && a.__esModule ? a : {
|
||||
default: a
|
||||
};
|
||||
};
|
||||
exports.defineInteropFlag = function(a) {
|
||||
Object.defineProperty(a, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
};
|
||||
exports.exportAll = function(source, dest) {
|
||||
Object.keys(source).forEach(function(key) {
|
||||
if (key === "default" || key === "__esModule" || dest.hasOwnProperty(key)) return;
|
||||
Object.defineProperty(dest, key, {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return source[key];
|
||||
}
|
||||
});
|
||||
});
|
||||
return dest;
|
||||
};
|
||||
exports.export = function(dest, destName, get) {
|
||||
Object.defineProperty(dest, destName, {
|
||||
enumerable: true,
|
||||
get: get
|
||||
});
|
||||
};
|
||||
|
||||
},{}],"gSM1I":[function(require,module,exports) {
|
||||
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
|
||||
parcelHelpers.defineInteropFlag(exports);
|
||||
function padEnd(str, targetLength, padString) {
|
||||
if (str.length > targetLength) return String(str);
|
||||
else {
|
||||
targetLength = targetLength - str.length;
|
||||
if (targetLength > padString.length) padString += padString.repeat(targetLength / padString.length);
|
||||
return String(str) + padString.slice(0, targetLength);
|
||||
}
|
||||
}
|
||||
function t2d(time) {
|
||||
var arr = time.split(".");
|
||||
var left = arr[0].split(":") || [];
|
||||
var right = padEnd(arr[1] || "0", 3, "0");
|
||||
var ms = Number(right) / 1000;
|
||||
var h = Number(left[left.length - 3] || 0) * 3600;
|
||||
var m = Number(left[left.length - 2] || 0) * 60;
|
||||
var s = Number(left[left.length - 1] || 0);
|
||||
return h + m + s + ms;
|
||||
}
|
||||
async function getVttArray(vttUrl = "") {
|
||||
const vttString = await (await fetch(vttUrl)).text();
|
||||
const lines = vttString.split(/[\n\r]/gm).filter((item)=>item.trim());
|
||||
const vttArray = [];
|
||||
for(let i = 1; i < lines.length; i += 2){
|
||||
const time = lines[i];
|
||||
const text = lines[i + 1];
|
||||
if (!text.trim()) continue;
|
||||
const timeReg = /((?:[0-9]{2}:)?(?:[0-9]{2}:)?[0-9]{2}(?:.[0-9]{3})?)(?: ?--> ?)((?:[0-9]{2}:)?(?:[0-9]{2}:)?[0-9]{2}(?:.[0-9]{3})?)/;
|
||||
const timeMatch = time.match(timeReg);
|
||||
const textReg = /(.*)#(\w{4})=(.*)/i;
|
||||
const textMatch = text.match(textReg);
|
||||
const start = Math.floor(t2d(timeMatch[1]));
|
||||
const end = Math.floor(t2d(timeMatch[2]));
|
||||
const urlArr = vttUrl.split("/");
|
||||
urlArr.pop();
|
||||
urlArr.push(textMatch[1]);
|
||||
const url = urlArr.join("/");
|
||||
const result = {
|
||||
start,
|
||||
end,
|
||||
url
|
||||
};
|
||||
const keys = textMatch[2].split("");
|
||||
const values = textMatch[3].split(",");
|
||||
for(let j = 0; j < keys.length; j++)result[keys[j]] = values[j];
|
||||
vttArray.push(result);
|
||||
}
|
||||
return vttArray;
|
||||
}
|
||||
exports.default = getVttArray;
|
||||
|
||||
},{"@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}]},["1gq8W"], "1gq8W", "parcelRequire4dc0")
|
||||
|
||||
//# sourceMappingURL=index.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"mappings":"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","sources":["packages/artplayer-plugin-vtt-thumbnail/src/index.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js","packages/artplayer-plugin-vtt-thumbnail/src/getVttArray.js"],"sourcesContent":["import getVttArray from './getVttArray';\n\nexport default function artplayerPluginVttThumbnail(option) {\n return async (art) => {\n const {\n constructor: {\n utils: { setStyle, clamp },\n },\n template: { $progress },\n events: { proxy },\n } = art;\n\n const vttArray = await getVttArray(option.vtt);\n\n function getPosFromEvent(art, event) {\n const { $progress } = art.template;\n const { left } = $progress.getBoundingClientRect();\n const width = clamp(event.pageX - left, 0, $progress.clientWidth);\n const second = (width / $progress.clientWidth) * art.duration;\n return { width, second };\n }\n\n art.controls.add({\n name: 'thumbLine truncated
|
||||
@@ -248,7 +248,7 @@ class Artplayer extends (0, _emitterDefault.default) {
|
||||
return "development";
|
||||
}
|
||||
static get build() {
|
||||
return "2023-01-08 17:38:33";
|
||||
return "2023-01-14 12:27:04";
|
||||
}
|
||||
static get config() {
|
||||
return 0, _configDefault.default;
|
||||
@@ -3981,12 +3981,12 @@ parcelHelpers.defineInteropFlag(exports);
|
||||
var _utils = require("../utils");
|
||||
function hoverInit(art, events) {
|
||||
const { $player } = art.template;
|
||||
events.hover($player, ()=>{
|
||||
events.hover($player, (event)=>{
|
||||
(0, _utils.addClass)($player, "art-hover");
|
||||
art.emit("hover", true);
|
||||
}, ()=>{
|
||||
art.emit("hover", true, event);
|
||||
}, (event)=>{
|
||||
(0, _utils.removeClass)($player, "art-hover");
|
||||
art.emit("hover", false);
|
||||
art.emit("hover", false, event);
|
||||
});
|
||||
}
|
||||
exports.default = hoverInit;
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"mappings":"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 truncated
|
||||
{"mappings":"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 truncated
|
||||
+13
-13
@@ -34,25 +34,25 @@
|
||||
"dependencies": {
|
||||
"@babel/eslint-parser": "^7.19.1",
|
||||
"@babel/preset-react": "^7.18.6",
|
||||
"@parcel/config-default": "^2.7.0",
|
||||
"@parcel/core": "^2.7.0",
|
||||
"@parcel/optimizer-data-url": "^2.7.0",
|
||||
"@parcel/reporter-cli": "^2.7.0",
|
||||
"@parcel/transformer-inline-string": "^2.7.0",
|
||||
"@parcel/transformer-less": "^2.7.0",
|
||||
"@parcel/transformer-vue": "^2.7.0",
|
||||
"@parcel/config-default": "^2.8.2",
|
||||
"@parcel/core": "^2.8.2",
|
||||
"@parcel/optimizer-data-url": "^2.8.2",
|
||||
"@parcel/reporter-cli": "^2.8.2",
|
||||
"@parcel/transformer-inline-string": "^2.8.2",
|
||||
"@parcel/transformer-less": "^2.8.2",
|
||||
"@parcel/transformer-vue": "^2.8.2",
|
||||
"artplayer": "latest",
|
||||
"chai": "^4.3.6",
|
||||
"chai": "^4.3.7",
|
||||
"cpy": "^9.0.1",
|
||||
"cross-env": "^7.0.3",
|
||||
"cross-spawn": "^7.0.3",
|
||||
"eslint": "^8.26.0",
|
||||
"eslint": "^8.31.0",
|
||||
"glob": "^8.0.3",
|
||||
"lerna": "^6.0.1",
|
||||
"mocha": "^10.1.0",
|
||||
"lerna": "^6.4.1",
|
||||
"mocha": "^10.2.0",
|
||||
"mocha-chrome": "^2.2.0",
|
||||
"pre-commit": "^1.2.2",
|
||||
"prettier": "^2.7.1",
|
||||
"prettier": "^2.8.3",
|
||||
"prompts": "^2.4.2",
|
||||
"servor": "^4.0.2",
|
||||
"workbox-build": "^6.5.4"
|
||||
@@ -64,4 +64,4 @@
|
||||
"prettier"
|
||||
],
|
||||
"__npminstall_done": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
node_modules
|
||||
.DS_Store
|
||||
yarn.lock
|
||||
package-lock.json
|
||||
test
|
||||
coverage
|
||||
.nyc_output
|
||||
.parcel-cache
|
||||
.cache
|
||||
docs
|
||||
@@ -0,0 +1 @@
|
||||
package-lock=false
|
||||
@@ -0,0 +1,11 @@
|
||||
# artplayer-plugin-vtt-thumbnail
|
||||
|
||||
vtt thumbnail plugin for ArtPlayer
|
||||
|
||||
## Demo
|
||||
|
||||
[https://artplayer.org](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-vtt-thumbnail/index.js&example=vtt.thumbnail)
|
||||
|
||||
## License
|
||||
|
||||
MIT © Harvey Zack
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* artplayer-plugin-vtt-thumbnail.js v1.0.0
|
||||
* Github: https://github.com/zhw2590582/ArtPlayer
|
||||
* (c) 2017-2023 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,n,r,o){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},l="function"==typeof i[r]&&i[r],u=l.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,n){if(!u[t]){if(!e[t]){var o="function"==typeof i[r]&&i[r];if(!n&&o)return o(t,!0);if(l)return l(t,!0);if(s&&"string"==typeof t)return s(t);var a=new Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}d.resolve=function(n){var r=e[t][1][n];return null!=r?r:n},d.cache={};var c=u[t]=new f.Module(t);e[t][0].call(c.exports,d,c,c.exports,this)}return u[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=u,f.parent=l,f.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(f,"root",{get:function(){return i[r]}}),i[r]=f;for(var a=0;a<t.length;a++)f(t[a]);if(n){var c=f(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=c:"function"==typeof define&&define.amd&&define((function(){return c}))}}({YTqB2:[function(e,t,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n);var o=e("./getVttArray"),i=r.interopDefault(o);function l(e){return async t=>{const{constructor:{utils:{setStyle:n,clamp:r}},template:{$progress:o},events:{proxy:l}}=t,u=await(0,i.default)(e.vtt);return t.controls.add({name:"thumbnails",position:"top",index:20,style:e.style||{},mounted(e){l(o,"mousemove",(async i=>{n(e,"display","block");const{second:l,width:s}=function(e,t){const{$progress:n}=e.template,{left:o}=n.getBoundingClientRect(),i=r(t.pageX-o,0,n.clientWidth);return{width:i,second:i/n.clientWidth*e.duration}}(t,i),f=u.find((e=>l>=e.start&&l<=e.end));if(!f)return n(e,"display","none");n(e,"backgroundImage",`url(${f.url})`),n(e,"height",`${f.h}px`),n(e,"width",`${f.w}px`),n(e,"backgroundPosition",`-${f.x}px -${f.y}px`),s<=f.w/2?n(e,"left",0):s>o.clientWidth-f.w/2?n(e,"left",o.clientWidth-f.w+"px"):n(e,"left",s-f.w/2+"px")})),l(o,"mouseleave",(()=>{n(e,"display","none")})),t.on("hover",(t=>{n(e,"display",t?"block":"none")}))}}),{name:"artplayerPluginVttThumbnail"}}}n.default=l,l.env="production",l.version="1.0.0",l.build="2023-01-14 14:41:14","undefined"!=typeof window&&(window.artplayerPluginVttThumbnail=l)},{"./getVttArray":"4IFMi","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"4IFMi":[function(e,t,n){function r(e){var t,n,r,o=e.split("."),i=o[0].split(":")||[],l=(t=o[1]||"0",n=3,r="0",t.length>n?String(t):((n-=t.length)>r.length&&(r+=r.repeat(n/r.length)),String(t)+r.slice(0,n))),u=Number(l)/1e3;return 3600*Number(i[i.length-3]||0)+60*Number(i[i.length-2]||0)+Number(i[i.length-1]||0)+u}e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(n),n.default=async function(e=""){const t=(await(await fetch(e)).text()).split(/[\n\r]/gm).filter((e=>e.trim())),n=[];for(let o=1;o<t.length;o+=2){const i=t[o],l=t[o+1];if(!l.trim())continue;const u=/((?:[0-9]{2}:)?(?:[0-9]{2}:)?[0-9]{2}(?:.[0-9]{3})?)(?: ?--> ?)((?:[0-9]{2}:)?(?:[0-9]{2}:)?[0-9]{2}(?:.[0-9]{3})?)/,s=i.match(u),f=/(.*)#(\w{4})=(.*)/i,a=l.match(f),c=Math.floor(r(s[1])),d=Math.floor(r(s[2])),p=e.split("/");p.pop(),p.push(a[1]);const h={start:c,end:d,url:p.join("/")},m=a[2].split(""),g=a[3].split(",");for(let e=0;e<m.length;e++)h[m[e]]=g[e];n.push(h)}return n}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"9pCYc":[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach((function(n){"default"===n||"__esModule"===n||t.hasOwnProperty(n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})})),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["YTqB2"],"YTqB2","parcelRequire4dc0");
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* artplayer-plugin-vtt-thumbnail.js v1.0.0
|
||||
* Github: https://github.com/zhw2590582/ArtPlayer
|
||||
* (c) 2017-2023 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,n,r,o){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},l="function"==typeof i[r]&&i[r],u=l.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function s(t,n){if(!u[t]){if(!e[t]){var o="function"==typeof i[r]&&i[r];if(!n&&o)return o(t,!0);if(l)return l(t,!0);if(f&&"string"==typeof t)return f(t);var a=new Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}d.resolve=function(n){var r=e[t][1][n];return null!=r?r:n},d.cache={};var c=u[t]=new s.Module(t);e[t][0].call(c.exports,d,c,c.exports,this)}return u[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:s(t)}}s.isParcelRequire=!0,s.Module=function(e){this.id=e,this.bundle=s,this.exports={}},s.modules=e,s.cache=u,s.parent=l,s.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(s,"root",{get:function(){return i[r]}}),i[r]=s;for(var a=0;a<t.length;a++)s(t[a]);if(n){var c=s(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=c:"function"==typeof define&&define.amd&&define((function(){return c}))}}({flifo:[function(e,t,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n);var o=e("./getVttArray"),i=r.interopDefault(o);function l(e){return async t=>{const{constructor:{utils:{setStyle:n,clamp:r}},template:{$progress:o},events:{proxy:l}}=t,u=await(0,i.default)(e.vtt);return t.controls.add({name:"thumbnails",position:"top",index:20,style:e.style||{},mounted(e){l(o,"mousemove",(async i=>{n(e,"display","block");const{second:l,width:f}=function(e,t){const{$progress:n}=e.template,{left:o}=n.getBoundingClientRect(),i=r(t.pageX-o,0,n.clientWidth);return{width:i,second:i/n.clientWidth*e.duration}}(t,i),s=u.find((e=>l>=e.start&&l<=e.end));if(!s)return n(e,"display","none");n(e,"backgroundImage",`url(${s.url})`),n(e,"height",`${s.h}px`),n(e,"width",`${s.w}px`),n(e,"backgroundPosition",`-${s.x}px -${s.y}px`),f<=s.w/2?n(e,"left",0):f>o.clientWidth-s.w/2?n(e,"left",o.clientWidth-s.w+"px"):n(e,"left",f-s.w/2+"px")})),l(o,"mouseleave",(()=>{n(e,"display","none")})),t.on("hover",(t=>{n(e,"display",t?"block":"none")}))}}),{name:"artplayerPluginVttThumbnail"}}}n.default=l,l.env="production",l.version="1.0.0",l.build="2023-01-14 14:41:16","undefined"!=typeof window&&(window.artplayerPluginVttThumbnail=l)},{"./getVttArray":"5fcbX","@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"5fcbX":[function(e,t,n){function r(e){var t,n,r,o=e.split("."),i=o[0].split(":")||[],l=(t=o[1]||"0",n=3,r="0",t.length>n?String(t):((n-=t.length)>r.length&&(r+=r.repeat(n/r.length)),String(t)+r.slice(0,n))),u=Number(l)/1e3;return 3600*Number(i[i.length-3]||0)+60*Number(i[i.length-2]||0)+Number(i[i.length-1]||0)+u}e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(n),n.default=async function(e=""){const t=(await(await fetch(e)).text()).split(/[\n\r]/gm).filter((e=>e.trim())),n=[];for(let o=1;o<t.length;o+=2){const i=t[o],l=t[o+1];if(!l.trim())continue;const u=/((?:[0-9]{2}:)?(?:[0-9]{2}:)?[0-9]{2}(?:.[0-9]{3})?)(?: ?--> ?)((?:[0-9]{2}:)?(?:[0-9]{2}:)?[0-9]{2}(?:.[0-9]{3})?)/,f=i.match(u),s=/(.*)#(\w{4})=(.*)/i,a=l.match(s),c=Math.floor(r(f[1])),d=Math.floor(r(f[2])),p=e.split("/");p.pop(),p.push(a[1]);const h={start:c,end:d,url:p.join("/")},m=a[2].split(""),g=a[3].split(",");for(let e=0;e<m.length;e++)h[m[e]]=g[e];n.push(h)}return n}},{"@parcel/transformer-js/src/esmodule-helpers.js":"47PTV"}],"47PTV":[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach((function(n){"default"===n||"__esModule"===n||t.hasOwnProperty(n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})})),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["flifo"],"flifo","parcelRequire4dc0");
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"license": "MIT",
|
||||
"version": "1.0.0",
|
||||
"name": "artplayer-plugin-vtt-thumbnail",
|
||||
"types": "types/artplayer-plugin-vtt-thumbnail.d.ts",
|
||||
"description": "vtt thumbnail plugin for ArtPlayer",
|
||||
"main": "dist/artplayer-plugin-vtt-thumbnail.js",
|
||||
"legacy": "dist/artplayer-plugin-vtt-thumbnail.legacy.js",
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"browserslist": "> 0.5%, last 2 versions, not dead",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
function padEnd(str, targetLength, padString) {
|
||||
if (str.length > targetLength) {
|
||||
return String(str);
|
||||
} else {
|
||||
targetLength = targetLength - str.length;
|
||||
if (targetLength > padString.length) {
|
||||
padString += padString.repeat(targetLength / padString.length);
|
||||
}
|
||||
return String(str) + padString.slice(0, targetLength);
|
||||
}
|
||||
}
|
||||
|
||||
function t2d(time) {
|
||||
var arr = time.split('.');
|
||||
var left = arr[0].split(':') || [];
|
||||
var right = padEnd(arr[1] || '0', 3, '0');
|
||||
var ms = Number(right) / 1000;
|
||||
|
||||
var h = Number(left[left.length - 3] || 0) * 3600;
|
||||
var m = Number(left[left.length - 2] || 0) * 60;
|
||||
var s = Number(left[left.length - 1] || 0);
|
||||
return h + m + s + ms;
|
||||
}
|
||||
|
||||
export default async function getVttArray(vttUrl = '') {
|
||||
const vttString = await (await fetch(vttUrl)).text();
|
||||
const lines = vttString.split(/[\n\r]/gm).filter((item) => item.trim());
|
||||
const vttArray = [];
|
||||
|
||||
for (let i = 1; i < lines.length; i += 2) {
|
||||
const time = lines[i];
|
||||
const text = lines[i + 1];
|
||||
|
||||
if (!text.trim()) continue;
|
||||
|
||||
const timeReg =
|
||||
/((?:[0-9]{2}:)?(?:[0-9]{2}:)?[0-9]{2}(?:.[0-9]{3})?)(?: ?--> ?)((?:[0-9]{2}:)?(?:[0-9]{2}:)?[0-9]{2}(?:.[0-9]{3})?)/;
|
||||
const timeMatch = time.match(timeReg);
|
||||
|
||||
const textReg = /(.*)#(\w{4})=(.*)/i;
|
||||
const textMatch = text.match(textReg);
|
||||
|
||||
const start = Math.floor(t2d(timeMatch[1]));
|
||||
const end = Math.floor(t2d(timeMatch[2]));
|
||||
|
||||
const urlArr = vttUrl.split('/');
|
||||
urlArr.pop();
|
||||
urlArr.push(textMatch[1]);
|
||||
const url = urlArr.join('/');
|
||||
|
||||
const result = { start, end, url };
|
||||
|
||||
const keys = textMatch[2].split('');
|
||||
const values = textMatch[3].split(',');
|
||||
|
||||
for (let j = 0; j < keys.length; j++) {
|
||||
result[keys[j]] = values[j];
|
||||
}
|
||||
|
||||
vttArray.push(result);
|
||||
}
|
||||
|
||||
return vttArray;
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
import getVttArray from './getVttArray';
|
||||
|
||||
export default function artplayerPluginVttThumbnail(option) {
|
||||
return async (art) => {
|
||||
const {
|
||||
constructor: {
|
||||
utils: { setStyle, clamp },
|
||||
},
|
||||
template: { $progress },
|
||||
events: { proxy },
|
||||
} = art;
|
||||
|
||||
const vttArray = await getVttArray(option.vtt);
|
||||
|
||||
function getPosFromEvent(art, event) {
|
||||
const { $progress } = art.template;
|
||||
const { left } = $progress.getBoundingClientRect();
|
||||
const width = clamp(event.pageX - left, 0, $progress.clientWidth);
|
||||
const second = (width / $progress.clientWidth) * art.duration;
|
||||
return { width, second };
|
||||
}
|
||||
|
||||
art.controls.add({
|
||||
name: 'thumbnails',
|
||||
position: 'top',
|
||||
index: 20,
|
||||
style: option.style || {},
|
||||
mounted($control) {
|
||||
proxy($progress, 'mousemove', async (event) => {
|
||||
setStyle($control, 'display', 'block');
|
||||
const { second, width } = getPosFromEvent(art, event);
|
||||
const find = vttArray.find((item) => second >= item.start && second <= item.end);
|
||||
if (!find) return setStyle($control, 'display', 'none');
|
||||
|
||||
setStyle($control, 'backgroundImage', `url(${find.url})`);
|
||||
setStyle($control, 'height', `${find.h}px`);
|
||||
setStyle($control, 'width', `${find.w}px`);
|
||||
setStyle($control, 'backgroundPosition', `-${find.x}px -${find.y}px`);
|
||||
|
||||
if (width <= find.w / 2) {
|
||||
setStyle($control, 'left', 0);
|
||||
} else if (width > $progress.clientWidth - find.w / 2) {
|
||||
setStyle($control, 'left', `${$progress.clientWidth - find.w}px`);
|
||||
} else {
|
||||
setStyle($control, 'left', `${width - find.w / 2}px`);
|
||||
}
|
||||
});
|
||||
|
||||
proxy($progress, 'mouseleave', () => {
|
||||
setStyle($control, 'display', 'none');
|
||||
});
|
||||
|
||||
art.on('hover', (state) => {
|
||||
setStyle($control, 'display', state ? 'block' : 'none');
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginVttThumbnail',
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
artplayerPluginVttThumbnail.env = process.env.NODE_ENV;
|
||||
artplayerPluginVttThumbnail.version = process.env.APP_VER;
|
||||
artplayerPluginVttThumbnail.build = process.env.BUILD_DATE;
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window['artplayerPluginVttThumbnail'] = artplayerPluginVttThumbnail;
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import type Artplayer from 'artplayer';
|
||||
|
||||
export = artplayerPluginVttThumbnail;
|
||||
export as namespace artplayerPluginVttThumbnail;
|
||||
|
||||
declare const artplayerPluginVttThumbnail: (option: { vtt?: string; style?: Partial<CSSStyleDeclaration> }) => (
|
||||
art: Artplayer,
|
||||
) => {
|
||||
name: 'artplayerPluginVttThumbnail';
|
||||
};
|
||||
Reference in new issue
Block a user