diff --git a/docs/assets/example/index.js b/docs/assets/example/index.js index c2807eb80..a70fdb91e 100644 --- a/docs/assets/example/index.js +++ b/docs/assets/example/index.js @@ -34,7 +34,7 @@ var art = new Artplayer({ contextmenu: [ { html: 'Custom menu', - click: function(contextmenu) { + click: function (contextmenu) { console.info('You clicked on the custom menu'); contextmenu.show = false; }, @@ -43,7 +43,7 @@ var art = new Artplayer({ layers: [ { html: ``, - click: function() { + click: function () { console.info('You clicked on the custom layer'); }, style: { @@ -104,7 +104,7 @@ var art = new Artplayer({ { position: 'right', html: 'Control', - click: function() { + click: function () { console.info('You clicked on the custom control'); }, }, diff --git a/docs/assets/js/mobile.js b/docs/assets/js/mobile.js index a447712e9..3bff96562 100644 --- a/docs/assets/js/mobile.js +++ b/docs/assets/js/mobile.js @@ -1,9 +1,8 @@ var vConsole = new VConsole(); -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', - poster: url + '/image/one-more-time-one-more-chance-poster.jpg', + title: 'One More Time One More Chance', + poster: '/assets/sample/poster.jpg', autoSize: true, loop: true, mutex: true, @@ -18,7 +17,7 @@ var art = new Artplayer({ 'x5-video-orientation': 'portraint', }, subtitle: { - url: url + '/subtitle/one-more-time-one-more-chance.srt', + url: '/assets/sample/subtitle.srt', style: { color: '#fff', fontSize: '14px', @@ -26,7 +25,7 @@ var art = new Artplayer({ }, layers: [ { - html: ``, + html: ``, click: function () { console.info('You clicked on the custom layer'); }, @@ -44,7 +43,7 @@ var art = new Artplayer({ }, plugins: [ artplayerPluginDanmuku({ - danmuku: url + '/danmuku/one-more-time-one-more-chance.xml', + danmuku: '/assets/sample/danmuku.xml', speed: 5, maxlength: 100, margin: [10, 70], diff --git a/docs/assets/sample/danmuku.xml b/docs/assets/sample/danmuku.xml index bedb5b671..52df9f489 100644 --- a/docs/assets/sample/danmuku.xml +++ b/docs/assets/sample/danmuku.xml @@ -1 +1 @@ -chat.bilibili.com346009950100000k-v成长是不是意味着失去看了十几变了你和我走过6年学生时代,但却无奈的止步于现实一点时间,一个机会。原版无可替代我喜欢你啊!!!!泪目惹!!?谁发明的火车,拉出去斩了。我希望自己能成为一个有故事的人歌词感人时间和距离冲淡了一切大爱秒五每一秒都是壁纸系列是的循环已开,爬不出去了经费燃烧这里的星空真的让我惊艳了好久悲剧在男孩踌躇时就已酿成小时候,男孩犹豫不前,女孩在等他,也是在“等”他长大后,男孩依然在过去徘徊,但女孩已不再等他了这就是他们为什么总在平行线上悲剧在男孩开始的犹豫时已酿成,只能补救不能避免像我......如今再想起平行线上的她,感觉已来不及了回忆中的女孩还在等他,而现实的女孩已不再等他了为什么不能有个明理看到贵树的镜头还有那句没能说出的我爱你看红字看了秒五心堵得难受现在有时候还会刻意去路过一些有回忆的地方 明明已经过去好久了贵树是程序员好想哭如果奇迹能够发生我来的比较迟明理我扬起嘴角看着我那一败涂地的坚持,仅此一次、仅此一生、看了四遍还是蛮心疼女二的这首歌之前是两人的独白我觉得完美没有遗憾不敢看第二遍的电影再给我一次机会我还是说不出,毕竟这是现实啊越听感觉越伤感,哪怕以后想起贵树那封信大概是分手信吧人家都结婚了,或许不相见不打扰才是真正的温柔我喜欢过你又想起那不舍得放下的初恋好久之前看的挺好的画面很漂亮看完想飞到马来西亚找他,又哭了哭笑了笑。no more time,no more chance.炸火车愿时光可以冲淡一切喜欢有种感觉只有年轻才有硬币还有何用我已喜欢过的如今你有你的婚姻,我有我的爱人,只希望我们同样幸福!いつでも探してしまう没有初恋心痛画质大赞望各自珍重你是我最重要的错过了就错过了画质啊即使听歌都想哭啊one more time现实总会把我们变成另一个模样每一帧都是辞职系列伤感啊炸火车炸火车过了这么久再看到还是会心动每次听都会有触动我们始终不能在一起愿往事重来。每一张都想截永恒的作品未闻花香 最难忘记之一、 结局66666666时间和空间是最大障碍啊也许没追上去是最好结局了听一次哭一次,虽然我已经不记得电影情节了百步零,一生吟,秋至雨铃铃,莫言红尘多情,只道当时心青。对不起炸火车哪里来的女二恋爱恋爱的的酸臭味酸臭味主要主要他们他们没有没有手机手机又回来听了,真心不错,秒五有缘无份的动画漫新海诚动画的主题有缘无份好想去找她心疼女二+1不敢再看第二遍+1你知道我在想你么私はあなたが好きで、妹(。ò ∀ ó。)人间不只有眼前的苟且,还有诗和远方。加一些人物对白就更好了星空让我想到三体来之不易,失之易去,人,才会懂得珍惜有人相伴总是好的真是不忍心看第二遍结局改的很好,圆了他们的一个梦有人啊秒五更像是人生画质狂魔新海诚心疼澄田+1扎火车希望有第二部希望表白的人都能在一起多点时间多点机会致郁 难受死了时间可能会冲淡,但绝对不会磨灭心好疼 但是感觉这个结局很完美我哭了对不起两个人,想不到你也在。我喜欢你,多年来还是如此因为这是DVD版的 跟动画原版的片段有些出入漫画结局还是可以的刚才歌词错了··循环好多天了每次听都超感动火车炸了又能怎么样,明里都要嫁人了错 是异地恋姐弟恋狂魔炸火车结局太悲伤1814年英国史蒂芬孙发明火车想哭最后那个片段哎。。。另一个人你好我们仰望着同一片天空却看着不同的地方。一朵花坠落的速度 , 连时间都放慢了脚步 .时间带着明显的恶意 缓缓在我的身上流逝只是生活著,悲伤的事物就会逐渐累积。横亘在我们面前的是那沉重的人生和漫长的时间,让人望而却步车站与车站之间的距离难以置信的远 电车每到一站停留时间难以置信的长感谢up!最开始看的新海诚的作品你好啊铁道游击队现实500万吨TNT已准备完成,炸炸炸!!!!!54厘米我哭了 真的 想到了昨天和前女友见面 她都忘了我的名字500万吨TNT已埋好,长官,下达命令吧!!!听一次 就想哭一次 循环5遍就哭了 唉 祝好运 铅心间距离进了一厘米结尾放上小时候的这段,简直虐上加虐,有木有。。。即使不能在一起,我还是很爱你这辈子栽了,秒前面那个,三次元不可能比二次元还美好的这里字幕错了。。这部电影,我宁愿看不懂炸火车!我该以怎样的速度,在能与你相见当帷幕落下,我只希望你还在我身旁开口跪这歌不好听 我就听了400遍而已此时无声胜有声秒速五厘米真的好看看见他们在火车过时错过了,心里很伤心新海诚火车来的真不是时候这歌不好听,我也就每天听几十遍而已太虐了。。。。。只是 我还喜欢你我又看看了让我去zh让我去杀了史蒂芬逊if i am awarded one more chance......女主离开了火车,也斩断了思念,男主也懂了做得不错结局其实算最好的结局了,起码男主做到放下了现实中又有多少人放得下,沉浸在痛苦和思念之中百听不厌至今没敢看第二遍喜欢你个人还是喜欢未曾放弃寻找的君名 经费在燃烧所以说修仙吧,我欲逆天,大乘无边,踏碎苍穹,超脱宇宙前面那个三次元不可能比二次元好的,你享受过世界吗生来只为与你相爱之后分离秒五一生的电影看了一百多遍了扎心了,老铁真虐心,但还是想看我喜欢你不敢看第二次的等等我 看一次哭一次很写实的 但是太虐了 控制不住我自己啊很多人认识新海诚都是从秒5开始的吧起一身鸡皮疙瘩 眼看泪崩暂停看红字感谢你的喜欢 也对不起你的喜欢御姐控 脚控 电车控 壁纸狂魔,猜一动画家。。。。只是想到,就心酸。已经3年了,不会哭了如果还能回到从前我会选择抱紧你永远的错过你了,对不起!婚礼我还是不去了吧结局很现实不紧紧抓住 就慢慢流走你忘记我只是流泪的瞬间,但我忘记你却用了整整13年。同一片星空因为现实所以放弃了看这部动漫N次不知道在这部动漫流了多少眼泪了有没有看过这部动漫没有流泪的这部本来就是讲人生的啊...不过是不是真人的可惜的是最后女主还是和别的男人结婚了男猪还是单身好可惜啊第二首听哭的BGM第一次看完整的MV不敢看第二遍+1,小心脏受不了。入宅之作一直不喜欢结局,很无奈很无能优雅男声 好听 当然也好看~+1one more time我爱你好好听啊秒五的剧本很写实,现实的问题曾经我很喜欢一个人,希望以后也能遇到这么一个人炸火车炸火车!!!或许这就是爱情吧感情 我向你认输每次看到1人正在看总以为有小伙伴,但又很快反应过来其实是自己。。。。喜欢一个人12年了超喜欢女二初恋在12年前好蓝过没什么大不了心都碎了没有初恋+1那个手机根本就发不出消息啊所以说那些消息只是给自己看的阿姨洗铁路听着像哭……这个哭腔,让我觉得好悲伤还没看就爱上歌学姐我宣你别急着炸 这是补充原片片头来年一起看樱花有组队炸火车的么 组我一个(*^ω^*)女三把头发散开来 其实是最漂亮的一个特别喜欢有很多东西,恰似命运只有我是看了第二个故事才哭的吗?同样不敢看第二次。。。。炸火车的加多一个!!!炸火车我喜欢你One more day to revolution!!炸火车分手10年再看秒5 还是哭了,哎,今年第12年了,更多是缅怀吧难以释怀的青春炸火车+1第一次喜欢一个人的感觉,就是这首歌七年来我也许听了一千多遍,每一个音符,都是一次心跳感觉女声的好听尽管明知道你不可能在那里看了很多次了最心疼的还是水野理纱同款笔,同款橡皮揪心这里的泪在言叶之停哭出来了这一小段的光影就像在玩音乐游戏一样去看官方漫画吧,贵树最后和花苗在一起了。我喜欢你五年多的感情,今天分手再说最后一次爱你 享受过世界。然后世界就给了我一巴掌 期待与你的下次见面炸火车!!电车狂魔类目炸火车突然好想听玉置浩二唱这首歌。准备炸火车看到 神作 又进来了想去大连找你准备炸火车了炸火车准备心疼女二,不过不喜欢也没办法特想去炸火车啊这首其实我更喜欢哪个英文版的说第二个故事那个 等等我喜欢过一个男孩子叫LT都是男的吧一個轉身太快,一個沒有勇氣,一個永遠的遺憾听了很让人心碎与感叹的一首歌至少他们还在同一个国家现在看没感觉了,男主太柔弱了,我久直接冲她家去了,现在她是我老婆~看了秒五才明白为什么有人看你的名字会哭最爱秒五13年.我喜欢你又到樱花开放的时间了听完已哭我喜欢这个结局看完秒五很难受。。没有改结局 这是小时候 更虐放屁 老子喜欢了一个人整整四年QAQ错的时间遇到了对的人信。。啊啊啊啊啊、、、对不起。。。。。とても良いでうとても良いぢ氏とても良いです哇,我刚失恋朋友推荐我看这个,然后刚把他送非洲去了就是不火系列星期六去武大看樱花,有人吗你还在吗?感觉如果炸了火车,女主也不会接受男主的,违和感好强仪心疼花苗水野第一次看的时候眼泪完全止不住没有流泪哦,循环了无数次,已经流不出来了当年的那些感动T T成长不是意味着要失去而是让你学会主动放弃画质感人两人异地、、、现在很庆幸没在一起好き大好きです不敢看第三遍····心酸。。。。纵使我们通信了1000条短信,我们的心的距离也只能拉近一厘米而已自从看了动画后,看了一遍小说的,依然是悲伤到无法附加虽然看了这么多遍还是没看懂秒五,不过不管看了多少遍画面还是那么细腻我是真的喜欢你 也是真的对不起没看懂秒五,我太年轻?男主最后释然了 最悲催的就是有缘无份 错过了异地恋太辛苦 炸火车毕竟新海诚。= = 在秒五里 最想说 谢诚哥给了君名一个开放的结局。回忆中的那个明理还在等他。无可奈何花落去,却再也没有似曾相识燕归来了这个看书角度好美画质感人画质赞只是再也回不去了,我喜欢你哔哩哔哩-(゜-゜)つロ乾杯~今天刚刚看完( •̥́ ˍ •̀ू )嘤嘤嘤~还有以后的苟且,以后的以后的苟且。电车张作霖这火车的那个别跑放屁老子喜欢一个人整整七年什么叫做喜欢不要让你的青春 敷衍成一个名字就算没有火车,结局也是一样的boom~boom桌面动图wallpaper engine 里有炸火车那位,你认真的?炸火车的,希望你也在火车上“看,真像雪花一样啊。”明里这样说到。奇迹如果能够发生,我要立刻来到你的身边说出那句我喜欢你思念备距离拉远,记忆被时间冲淡。不敢想象忘记你的那天近在眼前,却遥不可及的你啊你不是一个人时间与距离,带了的悲剧表白的都是备胎前任昨天分享了这个视频你看到这了吗pcx红字好评yh……错过就错过了遗憾是种悲伤。那年夏天的我喜欢你,夏末的时候跟你的不告而别~对不起。你们炸不了火车的,因为这辆火车由我来守护!说真的,炸了火车那就不是我的青春了秒5看一次泪崩一次...感觉心脏被刺穿了..Cays要爱就要勇于自私不放手(前提两人是互相喜欢)修身弹幕?看了秒五最喜欢女2喜欢你喜欢你喜欢你不就是老大吗,我忘记你还不行?问题不在火车上,有什么更宽广的东西横在他们之间。真的不知道,如果失去你我会怎么样?2017.05.29.忍了十多年,终于还是看了.你在看吗 小月亮说翻唱中文的,你是认真的?但是真得好远啊感觉虐的话2倍新世界我没流 但是感觉难受炸火车,必须炸了没看懂+1爱,不分次元种族,世界,时间,但凡生命,便有爱想找人一起陪我再看一遍秒速五厘米女主比男主先放下了对方,炸火车有什么用我也想成为有故事的人~~每次听都会有莫名的失落感感觉歌唱出了我的心声真的很喜欢你 谢谢你ZymあいたかったZym僕.....あいたかった只能做朋友吧57天 谢谢你如果他们各自的信送给对方,结局 还会是这样吗一点五倍新世界二次元最美二次元最美泪目我也没哭,看完很心累想听更多版本 这一次b站让我失望了…最喜欢开头的这一段君名结局开放吗,明摆着的HE啊如果看过的话都知道吧.电影里的结局的火车和这里的火车的位置不一样喜欢你秒五不是悲剧,请不要悲剧来形容他不要评论秒五,因为没有资格。静静地在心里就好了你等一个人很久为什么要说出来,有必要吗。自作多情个人最喜欢女2小肉,想念你就算发一千条短信,我们相互之间的心,也只会最多靠近一厘米如果樱花掉落的速度是每秒五厘米 那么两颗心多久才能接近没谁了铁道游击队的出来炸火车了铁道游击队的,出来炸火车了开口跪这首歌唱的是孤独吧。爱上一个人后,失去了她后的。那种孤独。好喜欢这段的剪辑喜欢你对不起对不起我不知道你喜不喜欢我时间是世界上最远的距离死海诚23333233好虐啊233333新海诚炸火车23333333333我看看明天还有我的弹幕不666いつでも探しているよ どっかに君の姿を下雨了,我很想你,别离开我好吗@大黑熊いつでも さが しているよ どっかに きみ の すがた を我向往着有点后悔看了这部番我愿进番与火车同归于尽爆破团准备完毕爆破!我喜欢你这个结局应该是最完美的结局了炸火车+1同感同感,炸了火车!2017/8/27我在看谢谢同时还有三个人也在看时间能改变很多东西,对不起我记不得怎么开始的,也记不得怎么结束的。让我畏惧的已经没有了+1爱你,苏灵巧他结婚了,祝他幸福新海诚是受了多大的刺激 每部都这么扎心我爱你好难过我无法欺骗自己异地恋的痛苦秒五最后的mv配上主题曲,真是神作!第一次感觉悲剧结尾也挺好的!炸火车每次活的像个丧尸的时候就回来看看这个番如果只是排遣寂寞的话,我想找谁都可以但在这繁星欲坠之夜,我无法欺骗我自己贼想哭每次听就难受分手信的那个,希望你看看小说我喜欢过你 lsr我喜欢你等着等着,一直等,最后你还是走了只有错过,才会珍惜。。。如果他们交换了信。或许就不是这样了薛雯 如果一切可以重来 我我错了 你回来好不好喜欢你3 我喜欢你哈哈suki da故事你真的在听吗一个在南工一个在南师,我们的距离并不遥远,遥远的是心的屏障。依旧感动我喜欢你、我喜欢你这两个人还是小孩子的样子 你们没发现吗这里riw歌词错了LZZ虐此处日语字母错了,最后应为してしまぅ结局其实和火车无关今秋相识,你那么温柔,我和你之间隔的哪只有一列火车 是日本海啊!回忆涌起欸,居然有另一个小伙伴在跟我一起看另一个小伙伴你好啊开头这里音乐和画面配合的简直太棒了znt想你,很想喜欢你爱情就是这样吧爱情就是这样吧能不能别发底部弹幕能不能别发底部弹幕能听见吗知道啦还有一首一年了,你就在隔壁班,偶尔也能看见,距离高考192天,我还是喜欢你陪我去看烟花吧,君名开始,烟花结束吧我喜欢邱振宇啊我喜欢你,你却装作不知道怎么只有我一个人……低端弹幕能别挡吗?心才是最远的距离对不起,我现在还是放不下你红字好评十年了,你真的感觉不到吗。结尾最悲伤炸火车爱情就是这样了对不起,晓雪。我也没递出我写的心(信)我从09年开始看然后听这歌,不知道听了多少遍我喜欢你好像不是原版要是没有遗憾,那人生该多无趣啊wwww 如果哪年我勇敢一点或许我喜欢你四年了,还是没能忘记你,丁莉看完难受看的心酸希望我喜欢的他忘记我我也喜欢你!!信的内容是会一直等男主……成为男主的恋人……小说看的……这种情感是普遍的啊无所谓在哪感动不等于爱情难受的听这首歌却不知道想起谁好1216求而不得是最苦!我钟意你si ki dei会いでい看了两遍 第一次毫无感觉第二次泪目说实话 第一段纯真的爱情第二段执着的爱情第三段现实的爱情三年半得我依旧单身画质狂魔新海诚我下换你我喜欢你对不起说炸火车的 太年轻了炸了火车又能如何,女主会转过头来看男主吗?只是男主还没放下其实君名最开始的结局是男主没能改变历史,因为做成商业区,懂了吧四年很长吗?初一到大四,我永远是做千斤顶的那个人我不喜欢你了这是我和你看的第二遍泪目one more time 又一次播放,停不下来表白的都去现实里勇敢出说来吧,不然这首歌会让你感触更深!忠告到头来感动了自己syj 真的 祝你幸福。你会等我的对吧 wjy教大家一个新学的词来形容这个:怅然若失 听了这么久 还是听不腻扎火车我真的很喜欢秒五。。喜欢你如果只是为了排遣寂寞,我想找谁都可以喜欢的人不喜欢我日常炸火车重金悬赏新海诚住址新海诚的电影总能刺痛那些有相同经历的人很多人就是这样在不知不觉中错过了所以啊 喜欢就上啊cl 是人生 秒速五厘米 是一部分人的人生经历对你却不能喜欢最喜欢的歌无论多长时间,我愿意变成风守护着你我不喜欢你了这次我想再失去你了One more time 今夜星光满不老姐,对不起时间,现实最大的隔阂直到现在我还没有勇气面对她。傻的吗,你一句话我马上把机票撕了我喜欢你心酸最心疼花苗明里输给了时间,远野输给了空间(或者是勇气)……真的,我放不下…………………………每次想你都来看一遍我喜欢你one more time瞬间戳泪点泪目炸火车的有吗伤感人总是要长大的其实另一个伙伴是自己把壁纸狂魔新海诚十年之后,然我们身处千里之外我不知道他有没有放下我们的坚持到底是为了什么?我作为一个00后,却经历80后90后的精神世界他结婚了,祝他幸福现在有多少人在哭呢找不到了,你在哪?我在找你,你知道吗?yyf一起看樱花吗?炸火车的加我一个我要这硬币有何用每日任务对不起,我已近哭不出来了回首再见,宛若隔世说炸火车的根本没看懂兄弟们炸火车了阿弥陀佛,求不得看不懂反而是好事吧爱而不得看了一次电影,好久才缓过来樱花又开了一起看樱花的不是你了这歌只有高潮部分好听兄弟们,你们二营长又回来了,我出一个硬币招兵买马炸火车去炸火车前你需要给城哥寄点刀片我喜欢你我喜欢你新海诚在这部动漫里建立了名为美好之物,然后又一点一点的摧毁了给我们看最想保护的人却只能眼睁睁的看着她越走越远。。难受这里用しまう。。真的扎心了喜欢你我也非常喜欢看樱花结局暖心我喜欢你想唱这首歌给你听我喜欢你记得那次开会,我从后面抱着你,你少见的没有推开我,很热,但还是不想松手,多想时间就停在那个时候。Onemoretime,Onemorechancehonemoretime,onemorechance.多一次尝试,多一次机会.如果她姓张,那么名字一定是珊虽然不是一直都在寻找你,但是在某个瞬间希望见到你。人生若只如初见,何事秋风悲画扇我爱你她结婚了都有喜欢的人吧像吃了块石头那样辛苦炸火车的带我一个这个…喜欢你动画是男主视角,所看不到女主那些年的辛酸吧~在到处有动车的中国,那点距离,不存在的。最苦是相思,最远是阴阳说住址吧我买五吨刀片邮寄我讨厌你 你离我远一点 我觉得你很恶心哪儿好听了喜欢你想去四川找你一看这个就难受,特别是最后那个画面最喜欢!但不敢看第二遍的电影我喜欢你有些翻唱是真的恶心!寻找yyf,那个是认真的嘛?想你,盼盼…十几年了喜欢你只不过大概北京到南京小仟,靖哥想你了,虽然你不会上b站来,但是,我也只能在这儿对不起 我对不起你如果我没有执着的挽回,是不是就不会体验到什么叫做心疼到死的感觉我最喜欢的一部动漫电影,也是我不愿意看第二遍的电影可怕我喜欢你啊~~太压抑想她喜欢上一个人第一感觉就是自卑与委屈不知为何,看这部番的时候,虐的很心痛,很真实……为花苗难受我喜欢你啊我不喜欢你们喜欢男主最后的释怀我想我女朋友了孙坤,知道我是谁?想你了回憶望著火箭升空的此刻,他們的童年結束了火車上有另一個13歲男孩,去_所以全是些垃圾歌姣姣,我喜欢你我喜欢你需要重复的看错过了就是错过了忘不了,斩不断,理还乱..........祝他幸福 一厢情愿,就得愿赌服输。就算独留我一人也喜欢你秒五看完觉得心里很压抑不知道为什么米娜桑 都要加油啊我十七岁 是不是也该谈一场恋爱...?想去桂林阳朔找你炸火车喜欢我喜欢你。曾经。很喜欢很喜欢。one more time必须炸火车🚉召唤核弹头炸火车日本歌词写的是真的好!!最喜欢这里我决定下次看秒五开弹幕…这只鸟看得我好难过嗯,你太年轻,还相信所有故事都会有结局。不知道去哪儿寻找,来回踱步,荒度光阴1人正在观看樱花的速度是每秒五厘米,我该用怎样的速度才能与你相遇樱花,下落的速度是每秒五厘米,我该用怎样的速度才能与你相遇――秒速五厘米张思佳 我想你了看一遍,哭一遍心里满满的都是你,怎么办我们还要越来越坏还是一样的结局如果能一直年少w 最后这一段回忆杀蔡雨豪,nx蔡雨豪,想你CQY我忘不掉你啊我喜欢你就算发了一千条消息,我们的距离也只能拉近一厘米三分四十七秒唯一一部让我痛哭流涕的电影我喜欢你我喜欢你年轻真好哭了真的炸!吃我一雷炸子!炸火车的算我一个繁星欲坠一帧一壁纸她嫁人是一定的,我们只是想让他俩见一面.虽然你说了分手,我会好好过自己的生活的很平凡的故事,但真的挺虐心远野君的独白一个以为你会追,一个以为你会等无名指上的戒指,早已说明了一切,就算没有火车年少时的相遇,早已成为心殇贵树眼神里一直有种悲伤再见,YM,既然已经错过,就只能释然挡住他们的,是时间,是距离对不起,虽然现在不会再提起,但也没有忘记记住这辆火车宋美婷宋美婷,忘不了你你还好吗阿娜达?离开了你总会想你。但抛弃了我你还早点死掉吧再次炸火车上官,真遗憾没和你说句话啊每个行动不一定是正确的,但有意义的地方在于他产生的结果是否如意我喜欢你哈哈哈哈哈哈哈良心画质可怜女二炸火车的太年轻自己经历的时候也没发觉多么的痛苦,画在画里真的让我痛哭流涕…… 我真的错过了很多望诸君,初心不改我爱你希望你都好,我现在很好炸火车爱你吗嗨咋火车之前有一个男生给我听这首歌的时候,没有感受出他的深意,等到听懂时,却已经,,,中间发生过一些事,很对不起他,再到后来也不敢联系他,悄悄在心里说对不起,希望他早就已经走出来之前有一个男生给我听这首歌的时候,没有感受出他的深意,等到听懂时,却已经,,,中间发生过一些事,很对不起他,再到后来也不敢联系他,悄悄在心里说对不起,希望他早就已经走出来第一次听的时候没有听懂,等听懂的时候,就错过了黄春兰 我现在正在想着你感动以前的我真的好喜欢你我喜欢你啊这个音乐是真让我胃疼,不过我还是喜欢真正的悲剧在于谁都没做错,谁也没变心,更都没有说分手,然而一切都结束了明明很脆弱,却一直假装坚强去年到今年我还是单身I liked you real突然之间悸动已经消失13 表示能看懂突然之间悸动已经消失我又想起你了新海诚我最喜欢的就是这部了她在深圳,我在成都我喜欢你难受啊啊啊啊啊啊啊啊我也会想你,但已经不是非你不可了。。wyj再见我喜欢你我喜欢你呀未能说出口的那句我喜欢你呀不知道喜欢的感觉……但是莫名心痛就算没有火车 两人对彼此都没有了心动的感觉渐渐有了隔阂 日常的繁琐让他们喘不过气因为陈一发儿长的很像你啊感谢今生有你,谢谢了,我爱你♡输在了空间和时间上了其实我是来截图的!我喜欢你!什么时候还能见到你!玩什么】【、、】为什么我的眼里常含泪水每一帧都是壁纸的动漫SHSHSH我喜欢你新海诚不相信爱情咖啡色外套是在向瑟堡的雨伞致敬我喜欢你到处都是你的影子,我却寻找不到你的身影。王映橦对不起,我还是没能放下你最终,还是没有狠下心放下你。哪里都是你的影子,我却看不到你的身影。我想我不知不觉喜欢上你了。p我喜欢你已经没有正当的理由再相遇了,而我只偷偷从考试座位贴纸知道你的名字,张飚我想我大概喜欢你以上均为分手名单同志们啊 炸火车了想离开的人从来不需要借口愿留下的人从来不需要挽留我将送我喜欢的人离开从此情书写于山鬼,心事寄予西风你没有什么吸引我的地方,但就是没来由的想对你好,只想对你好。罗馨雨我下辈子一定要娶你我要结婚了,再也没有五厘米的距离了我还在喜欢着你怎么办对不起tokoyo、突然之间悸动已经消失已经看了三十多遍了,还是不能释怀啊轩轩看到我!(´。• ᵕ •。`) ♡紅字就是扯淡,根本沒看懂。再见我可能是爱无能 , 真的不知道怎么去表达自己,一种无力感八年前的相遇,三年后的淡忘,到如今的感慨我喜欢你我喜欢你,都是我不会去表白你好,再见0喜欢你真的喜欢你这么多年了我还是忘不了wzw请别忘记我那你又是喜欢三次元的什么?她不过是水,钙,碳,微量元素罢了我真的很喜欢你李仙凤我稀饭你为了不让你我失望,所以江湖不见吧(*^ω^*),愿你一生幸福炸火车能怎么样,相遇那段女主已经带上了婚戒,而且回头后走掉了,说明已经发下了,结局还是没有改变如果...或许...,世上没有如果,青春只有一次一切都没完结我喜欢你那些人不明白⊙_⊙,两情相悦也不一定会在一起四年了,我终于可以在看秒五的时候释然地想起你,只是想起,不想不敢现实里面表白 跑这里?我喜欢你我好想你炸什么,擦了呗坤妈洼远野贵树&筱原明里喜欢一个人,我现在爱你,以后也一样时间终将会给我们答案你好啊,陌生人是新海诚让我忘不掉你因为你我的自私,我们互相怨恨彼此,从前的喜欢不复存在你的婚礼我只能从别人口中得知 抱歉还是没办法忘记你LT?老铁吗。 滑稽爱情不是一个人的事在听这首歌的b找朋友们祝你们都有自己美好的感情结局!深海鱼bissq s y 好难受好きだ炸车队准备我喜欢你以前我嘲笑别人如此,最后我却和我嘲笑的人一样,真的可笑有时候真恨国土面积实在太广每当这旋律响起,过往画面全在脑中浮现这歌至少听了500遍炸火车1/10000炸火车1/10000000000黄心艺 能看到么 为高三的我们留个言新婚快乐ZW♥RML爱,不顾迢迢千里,不愿与你分离不想成长只想你心目中第一每次听这歌都有种呼吸困难的感觉神作配神曲大爱11111111111114545454545454545454545454545455454545454545455445111111111111111111111111111111111111111114545炸火车·准备あなたが好きです听了1000遍了玩茅台看一次扎一次好多头皮屑我连当主角的命都没有,只能当女二的身份,人生啊我喜欢你2019 1 29糖哥以前不懂,现在能哭着听完了我喜欢你小白兔我喜欢你,你却很不在乎李娜我永远爱你永远!想你 如果可以我们可以见一次吗我找的不是bug,是你~~(ಡωಡ) 看到老姐对不起,我真的笑炸了我喜欢你琳我回来了你说,谁都不是不可替代的,对吗对不起,我喜欢你王子琳我也没看到想起小时候暗恋的女同学,我在江西萍乡,他在甘肃天水我在江西萍乡,她在甘肃天水秒五真的很好想想现在的异地恋吧我喜欢你,鳴过年过好又要一个人打拼,啊!好想停留在这段时间里。我喜欢你心疼女二2019/2/15 我们在一起了心中的初戀你放下了嗎我喜欢你岁数越大 越不敢了。曾经以为一辈子就她了。最后还是自己。忘了在别的哪里看到的的评论:《言叶之庭》告诉你爱情可以超越年龄,《星之梦》告诉你爱情可以超越时间,《你的名字。》告诉你爱情可以超越空间,《秒速五厘米》告诉你,那些全是扯淡,爱情经不起任何考验。我喜欢你我喜欢你怎么才能跟你在一起无论怎么样努力,我们都不能在一起……渡劫 我喜欢你杜杰 我喜欢你 喜欢你杜杰 我喜欢你周盛晖大笨蛋,要幸福啊z我喜欢你新海诚不相信爱情,巧了 我也是听了很多遍,直到这次 泪目了对不起 不能喜欢你一直循环这已经不痛了dudu我们只能做朋友吧有经历的人看到这太痛苦了即使没有那辆火车,他俩也不可能在一起了。你已经忘记我了吧LJ爱五年了其实13年前列车门关闭时,男主和女主的心就越来越远了,炸了也没用萍乡的兄弟,老乡啊,有勇气就去找她,不然就忘记了吧我喜欢你对不起感谢新海给予我们的精品 即使结局并不是我们所希望的那样!但这就是现实!宫水和立花会带着贵树明理的份一直爱下去垃圾歌曲,再来亿遍一个平凡到不能再平凡的故事,但却虐心!我喜欢你,真的非常非常喜欢!.....曾经.....!希望新海 能做一个女主视角的!我要再哭亿遍你知道我这些年有多想你吗?每天一遍睡觉之前再来一遍我没看这个故事的时候光听这个歌就莫名泪水 19 4 10 看完没有没炸又能怎么样呢?女主已经有丈夫了火车没有又能怎么样。女主已经有人了欢迎收看治愈番秒五收到了 谢谢只有特别喜欢,却没有特别坚持懦弱的我连喜欢的人都不敢表白ずっと探し続けていた君が好きだあなたの大切さは私にとってすべてを超えている好喜欢这个小陈同学,我喜欢你哦~我,曾经喜欢你我真是喜欢你,可是我知道我不爱你好难过想你我又来看一遍在爱情里原来大家都这么卑微的啊!今天第一天到新单位上班 分手的第四天 加油丸茅台我不喜欢你了高三 上课偷偷看的 高三上课偷偷看的 高三上课偷偷看的高三上课偷偷看的 回忆起了傻默默,我喜欢你的呀默默,我还是挺喜欢你的……默默如果看到这个视频了话,不知你是否安好呢?!她就在我身边,可是那句我喜欢你就是说不出口,因为我也是女生我想有单纯喜欢你的感觉,也想有深深爱着你的感觉我喜欢你我中意你这个世界最大的阻碍就是时间和距离 可能阻碍着任何一件事物或者微妙的感情jj几刷多磨孤独啊 \ No newline at end of file +chat.bilibili.com11724691050000k-v刚看完中文的看完中文版,看一下原版压压惊那一买哇我叫欧布,欧布奥特曼!口昌占戈哥欠刚看完自个儿看吧!今晚三刷!日刷一遍。哈哈89这个数字神了子个看的笑哭我欠的电影票已还老子有杯存了三年的抠脚酒,那些抢着要喝的我这里有在下版本 有何贵干好感动三刷回来留念幸瑜,我们一起去看吧这是什么歌啊啊啊好好听3刷路过看了也没脱单,让我找一个漂亮的德国妹子做女朋友吧!-0-真想问问表白那些人在这里表白算什么只能说你是懦夫电影院看完的+1哪买啊大陆版的宣传片最有感觉你的名字 郑安琪bgm 花火五刷纪念 sc你……我……想和你一起看《你的名字》这就是我们梦寐以求的,唐朝和尚一个人刷了七遍就我了吧,我还是个男生自己看的看完中毒了,越看中毒越深,新海诚你算计我..........misha希望下辈子可以做个东京的帅哥自己看吧自己看吧果然还是大陆版的预告最好看完电影再看预告的那个等等我,我也是哈哈电影院6刷路过截止到20号,断断续续去刷了六遍,也是没谁了火花明天二刷预告好良心刚看完国语感觉各种不适应看完之后更加不可能有女朋友了三刷归来超级好看米兹哈我也觉得大陆的预告最好生蛋胯热我好喜欢这这一段话~~~misa欧布的等等我滚滚滚走错片场了,瞬间笑了王彬力这个宣传片的字幕不知道比电影院播放的正片好多少这个宣传片的字幕比影院播放的正片好太多了预告片,大陆这版做的最为优秀好看好温柔的声音,大爱美丽而致命看完第二天分手贼好看被同事安利好久,所以决定不看了欧布奥特曼!哪买啊!!!!!哦列哇,速趴塞牙人贝剧塔。为什么会早就该分手呢哈哈,zwj1每日刷预告让我失忆一天,我再去看一遍花火的最后一分钟才是。。。这个BGM是10分钟的雅蠛蝶!!!!祝表白的单身到死。不怎么好看,天天想而已2017年继续刷说的对↑浓缩的都是精华,,,,看透太多神木DD少年音好苏这段剪的好好浪漫噢赶上了我们这儿的最后一场π_πLYR自己看感觉不错天降正义什么时候可以看我要看整部在哪里可以看整部求地址求地址在哪里可以看整部bgm 火花av7752928 萌新剪辑英文歌BGM加你的名字求支持火花的后半段,中间bgm特长张瀚我看几遍都没想哭的感觉五刷路过电影院去了四遍希望快出资源,没能二刷有点遗憾在中国这样的评价不错了郑立!!!电影院20刷达成!中文字幕最美三叶的口嚼酒我能喝到肝硬化靓女啊在 这 停 顿其他9位老伙伴你们好好棒看的午夜场 整个电影院就像是被我们四人包场了泪目你好!我看了四遍加藤惠请高数CYQ我下辈子还爱他来世我要做东京的帅哥不想出门,在网上看了盗版的我的妈呀那些不知道男主女主名字的人不要刷好吗看着别扭男主たき女主みつはみやみつmistuha 拼错了是mistuha!!!十刷MS。自己看吧hyx♡虎艺寻♡スパークル運命だとか未来とか運命だとか未来とかって言葉が どれだけ手を伸ばそうと 届かない場所で僕ら恋をする時計の針を2人を横目に見ながら進むそんな世界を2人で一生いや何生でも生き抜いていこう不管“命运”“未来”这种话语有多少来伸出手吧我们在它们传达不到的地方恋爱在两人深情对视时两人在那样的世界里永生永世坚强地活下去それは、夢のような景色のようにそれは、まるで夢の景色のようにただひたすらに美しい眺めだった神木dd声音好棒啊看了很多地区预还是觉得大陆预告舒服看过电影还是很激动豆瓣现在8.5电影院看超棒一般般我也就看了100多遍而已表白能当着面去说么三叶毒晚期这样好痛苦,我记得你,你不记得我你们这群渣渣我直接带她看的看完就表白每次到着都鸡皮疙瘩一身…好ㄟ我3刷了十刷路过真·神作真·神作为啥我听不见qwq1.5倍速出戏哈哈哈哈哈哈哈0.5倍速美哭了这段BGM在一个近⑨分钟的音乐里,非常好听。想看看不了啊啊啊啊啊啊啊啊希望下辈子可以做个京都的帅哥ctOS的别跑,决战到天亮没声音的我是一个人吗看哭了预告片看了好多次表白的原地爆炸啊!(╯‵□′)╯︵┴─┴0.5#0.5#瞬间解毒6的一批- - 每次到这里总会起鸡皮疙瘩美不胜收看看看一直不敢看第二遍,怕把自己又看哭看来八遍了ovuvuevuevue enyetuenwuevue ugbemugbem osasovuvuevuevue enyetuenwuevue ugbemugbem osas赵威最后一句太好听了爱♥爱♥我和我的左手CJX ZZC 2017.2.17想念你和对象一起去看过我也觉得最后一句太美了天啊,整屏都是字^o^已看完你的名字,茨木童子本大爷的名字,世间无人不晓up的头像把我的感动整没了.吉良吉影王卿一起去看吧0.5声线都变了2333333全片最感动的地方之一!!麦涛 看了八次泪目!!!!君の名は你的名字是,,,吉良吉影你的名字是,,,吉良吉影2017-03-19刷3遍的在此(*¯︶¯*)无限大な梦のあとの 何もない世の中じゃ每次看都激动啊看完以后老子月考就上去了 神奇我的鸡皮疙瘩~他的名字是-xr和我家小可爱一起去看的(男的)朝、目が覚めるとなぜか泣いている。朝、目が覚めるとなぜか泣いている。見ていたはずの夢はいつも思い出せないただ、ずっと何かを・・・誰かを探している你的名字本大爷下次要做个漂亮的小姐姐 芒果没感觉还点进来的你是有多贱?二刷了看完泪目了和美美哒女孩子一起看的,开心~距喜欢pv这段了!!!!讲的是什么啊龙思颖画质好评.misuha!!!小僚机,我知道你会来看想不起就别想了吾名欧布,我将照亮黑暗,击退邪恶。。。米子哈他ki谷看了八遍无论你在世界的哪里,我都会再一次的去见你,周佳音无论你在世界的哪里,我都会再一次的去见你,周佳音无论你在世界的哪里,我都会再一次的去见你,周佳音无论你在世界的哪里,我都会再一次的去见你,周佳音无论你在世界的哪里,我都会再一次的去见你,周佳音神木小天使的声音啊啊啊啊苏爆了每天刷几遍!预告片真的超好 字幕翻译也好那买的啊“爱”就是科学与逻辑永远无法解释的程序。“爱”就是科学与逻辑永远无法解释的程序。“爱”就是科学与逻辑永远无法解释的程序。“爱”就是科学与逻辑永远无法解释的程序。画质感人217.6.1表白神木小天使!!!神木DD赛高!!!再次回归和朋友去看的……走低的原因还不是因为某些“先进”的家长以为这是吸氧羊就带着孩子去看,结果呢?这里的伴奏真的好配啊!订电影票时就看到只有我的头像是没有泷的三叶。。。不要说票房低。你的名字在浙江青少年间的知名度几乎是百分之后刷人名的原地爆炸语文课PPT无论你在这个世界上的任何地方,我都会去见你喵,还记得一起看完的么名侦探柯南 是个侦探你的名字 陈同宙bgm:黄昏之时bgm:黄昏之时bgm黄昏之时你是谁?神木dd!!斯提拉mitsuhaみつは!!!欧布!自己看吧在下坂本最后一句真美你的名字 一目连_(:3 」∠ )_这段话好喜欢mzx那买啊哇卓涵字为什么666非常喜欢我叫赵卫东无数次刷预告片,如果电影院能在上映就好了表白我神木的声音啊啊啊啊啊啊过了半年再刷 还是激动到捂嘴神作火花这部电影的BGM次次听都能想起来电影里的场景然后开始泪目哭什么哭必须刷50遍以上感动的要死算是考古吧看的我泪流满面带有色眼镜的小粉红求你原地爆炸结果跟基友看了。。。鸡皮疙瘩,最喜欢你的名字:陈常鑫你的名字:陈常鑫三刷 无悔!表示看预告片也能看哭 美不胜收好巧我101遍国语版的真心不好听嗷嗷嗷最后一句太好听了每次看都有说不出的东西我的入宅作!入宅神作看了两遍哭了两遍我咧瓦路飞鸡皮疙瘩我电影院刷了2遍,云盘20遍极速救不了这画质画质666666这不是你们的表白墙谢谢最喜欢的这段对话嘟嘟嘟嵩嵩三叶是我的中国版预告片真的很棒宫水三叶立花泷,夫妻携手战B萌。泷叶八进四生死局,请大家投票支援!宫水三叶立花泷,夫妻携手战B萌。泷叶八进四生死局,请大家投票支援!宫水三叶立花泷,夫妻携手战B萌。泷叶八进四生死局,请大家投票支援!宫水三叶立花泷,夫妻携手战B萌。泷叶八进四生死局,请大家投票支援!宫水三叶立花泷,夫妻携手战B萌。泷叶八进四生死局,请大家投票支援!宫水三叶立花泷,夫妻携手战B萌。泷叶八进四生死局,请大家投票支援!宫水三叶立花泷,夫妻携手战B萌。泷叶八进四生死局,请大家投票支援!看完就表白,然后就在一起了你的名字超级喜欢大陆版这个预告超级喜欢大陆的版本!这里的BGM确实是スパ一クル的,不过要等7分多钟才到那儿看过了这个背影由我承包↓超喜欢这段!!!嘉什么时候中国也能出这样的电影朝目が覚めると なぜか泣いている 見ていたはずの夢は いつも思い出せないただ ずっと何かを探している覚えってない相変わらずエッチしたい想问一下手机里的信息是怎么消失的见你 哪怕是借助神的力量大陆这剪辑真是人才盘李猿的够了我想下辈子是一个漂亮的小姐姐希望我下辈子能做一个漂亮的小姐姐mmp啦啦啦啦承包新海诚艾子健......................白色强势看预告比正片有感觉系列声音好甜啊耳机福利是米子哈,不是米傻好吧讲真 大陆剪辑是我觉得最好的版本..无论在哪我都会去找你,周元歆无论在哪我都会去找你,周元歆无论在哪我都会去找你,周元歆无论在哪我都会去找你,周元歆无论在哪我都会去找你,周元歆无论在哪我都会去找你,周元歆无论在哪我都会去找你,周元歆无论在哪我都会去找你,周元歆无论在哪我都会去找你,周元歆无论在哪我都会去找你,周元歆16刷无悔每次到陨石这里就一身鸡皮疙瘩好感人啊zzy滝君 覚えて ない?これってもしかして俺たち夢の中で入れ替わってる求野生字幕君把罗马音加上,急急急~@你的光头! !ちょっと 滝君男子の視線 スカッと注意てめぇ 三葉俺の人間関係変えるなよほんとに自分のおっぱい好きあなあの男(女)は消えてるまさかはっきり覚えてる誰だ誰誰に会いに来た夢は夢は目覚めればいつか消える違う夢じゃなかったあの人の一个星期连着看了4遍,看一遍哭一遍(17.11.8)合影2017双11从隔壁英语版过来米萨!!!!!!老娘名字tara(滑稽)耶稣基督!bgm燃起一年后再来看预告片66666666666BGM好棒!ly一起看吧泪目这里的BGM是什么啊求BGM约会必看HYJ真的好想和你一起看一周年后,我还是一个人韩越珊走吧,相约电影院配音好赞别说了,三叶是我的超喜欢预告的剪辑对!就是这个纪录片超感动!!!不对,不是纪录片是预告片听到这音乐就鸡皮疙瘩最喜欢大陆的预告片虐了自己一个人看吧我们已经分手了耶稣基督!看宣传片都会泪目的电影你的名字:奥巴马bgm火花每天看一遍bgm是黄昏之时 32秒开始还是大陆版的预告片最好看配音好好你的绳子欧蕾哇索隆你的好友:RADWIMPS已上线啊,“一起看吧”,这句话简直太美了,不去看都不行啊哭了 呼吸都在颤抖我们已经分手了美不胜收看哭了我真的感动我还是忘不了巨石强森真的是百看不厌怎么下载成mp3三叶的口嚼酒喝到肝硬化的站住,我能喝到肾衰~2016 12月 一起看的同学们 你们好吗不想忘记你这预告片比电影还带劲我来了真的是神剪辑!每日一刷mjx你为什么要拒绝我asa、me ga sameruto nazeka naiteiru。tada (tada) zutto nanika o sagashiteiru.takikun....oboete nai?miteita hazu no yume wa itsumo omoidasenaityotto takikun, danshi no shisen, sukato tyuihontoni jibun no oppai suki yanakietekuano otoko (onna) wamasaka hakkiri oboeteruanohito no mamae omoidasen noiutamontandatigau, yume jya nakatta.omae no sekai doko ni itemo kanarazu ainiku tekimi no namae wa? namae wa?当年一起看你的名字的同学,现在,你们还好吗鸡皮疙瘩爱lxc 我想和你一起看我在电视看了完整 的电影好球!夸爆洋次郎哇预告片都好燃 好喜欢 够我无限循环了说实话陨石这里的音乐能加进一个防空警报就更好了6666哈哈看了四遍不止,还各种安利给别人看,可惜别人好像都看不懂声优的声音太无敌了新海诚不相信爱情 diff --git a/docs/document/options.md b/docs/document/options.md index e52dd4f47..c7ec1ad01 100644 --- a/docs/document/options.md +++ b/docs/document/options.md @@ -120,7 +120,7 @@ Video poster image url var art = new Artplayer({ container: '.artplayer-app', url: '/assets/sample/video.mp4', - poster: '/assets/sample/poster.jpeg', + poster: '/assets/sample/poster.jpg', }); ``` @@ -129,7 +129,7 @@ var art = new Artplayer({ - Type: `String` - Default: `''` -Video title, will be shown in `screenshot` file name and `pip` mode +Video title, will be shown in `screenshot` file name and `min` mode [Run Code](/Configuration.title) @@ -138,6 +138,7 @@ var art = new Artplayer({ container: '.artplayer-app', url: '/assets/sample/video.mp4', title: '【新海诚动画】『秒速5センチメートル』', + screenshot: true, }); ``` diff --git a/scripts/creatTestFromDoc.js b/scripts/creatTestFromDoc.js index 3f47e551f..a88ea178e 100644 --- a/scripts/creatTestFromDoc.js +++ b/scripts/creatTestFromDoc.js @@ -3,9 +3,21 @@ const path = require('path'); const logger = require('./logger'); try { - const documentText = fs.readFileSync(path.resolve(__dirname, '../docs/document/README.md'), 'utf-8'); + const documentText = [ + 'README.md', + 'class.md', + 'events.md', + 'libraries.md', + 'options.md', + 'properties.md', + 'properties.md', + ] + .map((name) => { + return fs.readFileSync(path.resolve(__dirname, '../docs/document/' + name), 'utf-8'); + }) + .join(''); const jsTests = documentText.match(/\[Run Code\]\(\/([\s\S]*?)\)\n\n\`{3}js([\s\S]*?)\`{3}/g); - const jsBlocks = jsTests.map(item => { + const jsBlocks = jsTests.map((item) => { const result = item.match(/\[Run Code\]\(\/([\s\S]*)\)\n\n\`{3}js([\s\S]*?)\`{3}/); return { name: result[1], @@ -24,7 +36,7 @@ describe('Document', function() { }); ${jsBlocks - .map(item => { + .map((item) => { return ` it(\`${item.name}\`, function() { ${item.code} diff --git a/test/document.test.js b/test/document.test.js index 7935ac325..becb34de1 100644 --- a/test/document.test.js +++ b/test/document.test.js @@ -9,11 +9,189 @@ describe('Document', function() { it(`Configuration.container`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + + }); + + + it(`Class.version`, function() { + +console.log(Artplayer.version); + + }); + + + it(`Class.env`, function() { + +console.log(Artplayer.env); + + }); + + + it(`Class.config`, function() { + +console.log(Artplayer.config); + + }); + + + it(`Class.utils`, function() { + +console.log(Artplayer.utils); + + }); + + + it(`Class.option`, function() { + +console.log(Artplayer.option); + + }); + + + it(`Class.instances`, function() { + +console.log(Artplayer.instances.length); + + }); + + + it(`Class.scheme`, function() { + +console.log(Artplayer.scheme); + + }); + + + it(`Class.Emitter`, function() { + +console.log(Artplayer.Emitter); + + }); + + + it(`Class.validator`, function() { + +console.log(Artplayer.validator); + + }); + + + it(`Class.kindOf`, function() { + +console.log(Artplayer.kindOf); + + }); + + + it(`lib=https://cdn.bootcss.com/flv.js/1.4.2/flv.js`, function() { + +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(); + }, + }, +}); + + }); + + + it(`lib=https://cdn.bootcss.com/hls.js/0.10.1/hls.js`, function() { + +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); + }, + }, +}); + + }); + + + it(`lib=https://cdn.bootcss.com/dashjs/2.9.2/dash.all.min.js`, function() { + +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); + }, + }, +}); + + }); + + + it(`lib=https://cdn.bootcss.com/shaka-player/2.5.0-beta/shaka-player.compiled.js`, function() { + +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); + }, + }, +}); + + }); + + + it(`lib=https://cdn.bootcss.com/webtorrent/0.102.4/webtorrent.min.js`, function() { + +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, + }); + }); + }, + }, +}); + + }); + + + it(`Configuration.container`, function() { + var art = new Artplayer({ container: '.artplayer-app', // container: document.querySelector('.artplayer-app'), - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', }); }); @@ -21,12 +199,9 @@ var art = new Artplayer({ it(`Configuration.url`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', - // url: url + '/video/one-more-time-one-more-chance-480p.ogg', - // url: url + '/video/one-more-time-one-more-chance-480p.webm', + url: '/assets/sample/video.mp4', }); }); @@ -34,10 +209,9 @@ var art = new Artplayer({ it(`Configuration.type`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.flv', + url: 'path/to/video.flv', type: 'flv', }); @@ -46,13 +220,12 @@ var art = new Artplayer({ it(`Configuration.customType`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.flv', + url: 'path/to/video.flv', type: 'flv', customType: { - flv: function(video, url, art) { + flv: function (video, url, art) { // video: The video element // url: The video url // art: The Artplayer instance @@ -65,11 +238,10 @@ var art = new Artplayer({ it(`Configuration.poster`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', - poster: url + '/image/one-more-time-one-more-chance-poster.jpg', + url: '/assets/sample/video.mp4', + poster: '/assets/sample/poster.jpg', }); }); @@ -77,11 +249,11 @@ var art = new Artplayer({ it(`Configuration.title`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', title: '【新海诚动画】『秒速5センチメートル』', + screenshot: true, }); }); @@ -89,10 +261,9 @@ var art = new Artplayer({ it(`Configuration.volume`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', volume: 0.5, }); @@ -101,10 +272,9 @@ var art = new Artplayer({ it(`Configuration.muted`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', muted: true, }); @@ -113,10 +283,9 @@ var art = new Artplayer({ it(`Configuration.autoplay`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', autoplay: true, }); @@ -126,22 +295,32 @@ var art = new Artplayer({ it(`Configuration.autoSize`, function() { // Zoom browser window -var url = 'https://zhw2590582.github.io/assets-cdn'; + var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', autoSize: true, }); }); + it(`Configuration.autoMin`, function() { + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + autoMin: true, +}); + + }); + + it(`Configuration.loop`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', loop: true, }); @@ -150,10 +329,9 @@ var art = new Artplayer({ it(`Configuration.playbackRate`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', playbackRate: true, setting: true, }); @@ -163,10 +341,9 @@ var art = new Artplayer({ it(`Configuration.aspectRatio`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', aspectRatio: true, setting: true, }); @@ -176,10 +353,9 @@ var art = new Artplayer({ it(`Configuration.screenshot`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', screenshot: true, // Optional @@ -193,10 +369,9 @@ var art = new Artplayer({ it(`Configuration.setting`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', setting: true, }); @@ -205,10 +380,9 @@ var art = new Artplayer({ it(`Configuration.pip`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', pip: true, }); @@ -217,10 +391,9 @@ var art = new Artplayer({ it(`Configuration.fullscreen`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', fullscreen: true, }); @@ -229,10 +402,9 @@ var art = new Artplayer({ it(`Configuration.fullscreenWeb`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', fullscreenWeb: true, }); @@ -241,10 +413,9 @@ var art = new Artplayer({ it(`Configuration.mutex`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', mutex: true, }); @@ -253,10 +424,9 @@ var art = new Artplayer({ it(`Configuration.light`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', light: true, }); @@ -265,10 +435,9 @@ var art = new Artplayer({ it(`Configuration.backdrop`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', backdrop: true, }); @@ -277,10 +446,9 @@ var art = new Artplayer({ it(`Configuration.hotkey`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', hotkey: true, }); @@ -289,10 +457,9 @@ var art = new Artplayer({ it(`Configuration.lang`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', lang: 'en', }); @@ -301,10 +468,9 @@ var art = new Artplayer({ it(`Configuration.icons`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', icons: { loading: '', state: '', @@ -326,10 +492,9 @@ var art = new Artplayer({ it(`Configuration.theme`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', theme: '#ffad00', }); @@ -338,12 +503,11 @@ var art = new Artplayer({ it(`Configuration.subtitleOffset`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', subtitle: { - url: url + '/subtitle/one-more-time-one-more-chance.srt', + url: '/assets/sample/subtitle.srt', }, setting: true, subtitleOffset: true, @@ -354,10 +518,9 @@ var art = new Artplayer({ it(`Configuration.miniProgressBar`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', miniProgressBar: true, }); @@ -366,17 +529,16 @@ var art = new Artplayer({ it(`Configuration.localVideo`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', localVideo: true, controls: [ { name: 'preview', position: 'right', html: 'OPEN VIDEO', - mounted: $preview => { + mounted: ($preview) => { art.plugins.localVideo.attach($preview); }, }, @@ -388,17 +550,16 @@ var art = new Artplayer({ it(`Configuration.localSubtitle`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', localSubtitle: true, controls: [ { name: 'preview', position: 'right', html: 'OPEN SUBTITLE', - mounted: $preview => { + mounted: ($preview) => { art.plugins.localSubtitle.attach($preview); }, }, @@ -410,10 +571,9 @@ var art = new Artplayer({ it(`Configuration.networkMonitor`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', networkMonitor: true, }); @@ -421,7 +581,7 @@ var art = new Artplayer({ // 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 => { +art.on('networkMonitor', (ratio) => { if (ratio >= 0.5 && !notice) { notice = true; console.log('Current network condition is not good'); @@ -436,12 +596,11 @@ art.plugins.networkMonitor.sample(30000); it(`Configuration.subtitle`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', subtitle: { - url: url + '/subtitle/one-more-time-one-more-chance.srt', + url: '/assets/sample/subtitle.srt', style: { color: '#03A9F4', 'font-size': '30px', @@ -454,12 +613,11 @@ var art = new Artplayer({ it(`Configuration.thumbnails`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', thumbnails: { - url: url + '/image/one-more-time-one-more-chance-thumbnails.png', + url: '/assets/sample/thumbnails.png', number: 100, width: 160, height: 90, @@ -472,13 +630,12 @@ var art = new Artplayer({ it(`Configuration.moreVideoAttr`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', moreVideoAttr: { 'webkit-playsinline': true, - playsinline: true, + playsInline: true, }, }); @@ -487,19 +644,18 @@ var art = new Artplayer({ it(`Configuration.quality`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', quality: [ { default: true, name: 'SD 480P', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', }, { name: 'HD 720P', - url: url + '/video/one-more-time-one-more-chance-720p.mp4', + url: '/assets/sample/video.mp4', }, ], }); @@ -509,10 +665,9 @@ var art = new Artplayer({ it(`Configuration.highlight`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', highlight: [ { time: 60, @@ -542,13 +697,12 @@ var art = new Artplayer({ it(`Configuration.layers`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', layers: [ { - html: ``, + html: ``, style: { position: 'absolute', top: '20px', @@ -564,14 +718,13 @@ var art = new Artplayer({ it(`Configuration.contextmenu`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', contextmenu: [ { html: 'Custom menu', - click: function(contextmenu) { + click: function (contextmenu) { console.info('You clicked on the custom menu'); contextmenu.show = false; }, @@ -584,10 +737,9 @@ var art = new Artplayer({ it(`Configuration.controls`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', controls: [ { name: 'myController', @@ -595,7 +747,7 @@ var art = new Artplayer({ index: 10, html: 'myController', tooltip: 'This is my controller', - click: function() { + click: function () { console.log('myController'); }, }, @@ -607,10 +759,9 @@ var art = new Artplayer({ it(`Configuration.plugins`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', plugins: [ function myPlugin(art) { // Do something you like here. @@ -619,7 +770,7 @@ var art = new Artplayer({ return { // This exposes plugin properties or methods for others to use. Like: something: 'something', - doSomething: function() { + doSomething: function () { console.info('Do something here...'); }, }; @@ -635,17 +786,16 @@ art.plugins.myPlugin.doSomething(); it(`Properties.instance`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', }); console.log('isFocus', art.isFocus); console.log('isDestroy', art.isDestroy); console.log('option', art.option); -setTimeout(function() { +setTimeout(function () { // remove dom art.destroy(); @@ -658,10 +808,9 @@ setTimeout(function() { it(`Properties.player`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', }); art.on('ready', () => { @@ -674,10 +823,9 @@ art.on('ready', () => { it(`Properties.storage`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', }); art.storage.set('your-key', 'your-value'); @@ -688,10 +836,9 @@ console.log(art.storage.get('your-key')); it(`Properties.i18n`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', lang: 'jp', }); @@ -712,12 +859,26 @@ console.log(art.i18n.get('Language')); }); - it(`Properties.notice`, function() { + it(`Properties.hotkey`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', +}); + +// Add a hotkey +art.hotkey.add(27, function (event) { + console.log('You pressed esc button'); +}); + + }); + + + it(`Properties.notice`, function() { + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', }); // auto hide @@ -728,14 +889,13 @@ art.notice.show = 'some message'; it(`Properties.events`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', }); var target = document.querySelector('body'); -art.events.proxy(target, 'click', function(e) { +art.events.proxy(target, 'click', function (e) { console.log('body click'); }); @@ -744,10 +904,9 @@ art.events.proxy(target, 'click', function(e) { it(`Properties.layers`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', }); art.layers.add({ @@ -765,10 +924,9 @@ art.layers.add({ it(`Properties.controls`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', }); art.controls.add({ @@ -777,7 +935,7 @@ art.controls.add({ index: 10, html: 'myController', tooltip: 'This is my controller', - click: function() { + click: function () { console.log('myController'); }, }); @@ -787,15 +945,14 @@ art.controls.add({ it(`Properties.contextmenu`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', }); art.contextmenu.add({ html: 'Custom menu', - click: function(contextmenu) { + click: function (contextmenu) { console.info('You clicked on the custom menu'); contextmenu.show = false; }, @@ -806,28 +963,27 @@ art.contextmenu.add({ it(`Properties.subtitle`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', subtitle: { - url: url + '/subtitle/one-more-time-one-more-chance.srt', + url: '/assets/sample/subtitle.srt', }, controls: [ { position: 'right', index: 10, html: 'subtitle 01', - click: function() { - art.subtitle.switch(url + '/subtitle/one-more-time-one-more-chance.srt', 'srt subtitle name'); + click: function () { + art.subtitle.switch('/assets/sample/subtitle.srt', 'srt subtitle name'); }, }, { position: 'right', index: 20, html: 'subtitle 02', - click: function() { - art.subtitle.switch(url + '/subtitle/one-more-time-one-more-chance.vtt', 'vtt subtitle name'); + click: function () { + art.subtitle.switch('/assets/sample/subtitle.vtt', 'vtt subtitle name'); }, }, ], @@ -838,16 +994,15 @@ var art = new Artplayer({ it(`Properties.loading`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', }); -art.on('ready', function() { +art.on('ready', function () { // Show the loading art.loading.show = true; - setTimeout(function() { + setTimeout(function () { // Hide the loading art.loading.show = false; }, 5000); @@ -858,16 +1013,15 @@ art.on('ready', function() { it(`Properties.mask`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', }); -art.on('ready', function() { +art.on('ready', function () { // Show the mask art.mask.show = true; - setTimeout(function() { + setTimeout(function () { // Hide the mask art.mask.show = false; }, 5000); @@ -878,14 +1032,13 @@ art.on('ready', function() { it(`Properties.setting`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', setting: true, }); -art.on('ready', function() { +art.on('ready', function () { // Add a setting art.setting.add({ html: 'Your Setting', @@ -894,7 +1047,7 @@ art.on('ready', function() { // Show the setting art.setting.show = true; - setTimeout(function() { + setTimeout(function () { // Hide the setting art.setting.show = false; }, 5000); @@ -905,10 +1058,9 @@ art.on('ready', function() { it(`Properties.plugins`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - url: url + '/video/one-more-time-one-more-chance-480p.mp4', + url: '/assets/sample/video.mp4', }); art.plugins.add(function myPlugin(art) { @@ -918,7 +1070,7 @@ art.plugins.add(function myPlugin(art) { return { // This exposes plugin properties or methods for others to use. Like: something: 'something', - doSomething: function() { + doSomething: function () { console.info('Do something here...'); }, }; @@ -931,103 +1083,302 @@ art.plugins.myPlugin.doSomething(); }); - it(`lib=https://cdn.bootcss.com/flv.js/1.4.2/flv.js`, function() { + it(`Properties.instance`, function() { -var url = 'https://zhw2590582.github.io/assets-cdn'; var art = new Artplayer({ container: '.artplayer-app', - autoplay: true, - url: url + '/video/one-more-time-one-more-chance-480p.flv', - customType: { - flv: function(video, url) { - const flvPlayer = flvjs.createPlayer({ - type: 'flv', - url: url, - }); - flvPlayer.attachMediaElement(video); - flvPlayer.load(); - }, + 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); + + }); + + + it(`Properties.player`, function() { + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + art.player.seek = 5; + art.player.screenshot(); +}); + + }); + + + it(`Properties.storage`, function() { + +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')); + + }); + + + it(`Properties.i18n`, function() { + +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')); + + }); + + + it(`Properties.hotkey`, function() { + +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'); +}); + + }); + + + it(`Properties.notice`, function() { + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +// auto hide +art.notice.show = 'some message'; + + }); + + + it(`Properties.events`, function() { + +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'); +}); + + }); + + + it(`Properties.layers`, function() { + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.layers.add({ + html: ``, + style: { + position: 'absolute', + top: '20px', + right: '20px', + opacity: '.9', }, }); }); - it(`lib=https://cdn.bootcss.com/hls.js/0.10.1/hls.js`, function() { + it(`Properties.controls`, function() { 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); - }, + 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'); }, }); }); - it(`lib=https://cdn.bootcss.com/dashjs/2.9.2/dash.all.min.js`, function() { + it(`Properties.contextmenu`, function() { 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); - }, + 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; }, }); }); - it(`lib=https://cdn.bootcss.com/shaka-player/2.5.0-beta/shaka-player.compiled.js`, function() { + it(`Properties.subtitle`, function() { 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); - }, + 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'); + }, + }, + ], }); }); - it(`lib=https://cdn.bootcss.com/webtorrent/0.102.4/webtorrent.min.js`, function() { + it(`Properties.loading`, function() { 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, - }); - }); - }, - }, + 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); +}); + + }); + + + it(`Properties.mask`, function() { + +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); +}); + + }); + + + it(`Properties.setting`, function() { + +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); +}); + + }); + + + it(`Properties.plugins`, function() { + +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(); + }); ; });