红影 发表于 2022-9-17 20:10

雨停了才送伞

<style>
#papa { left: -302px; width: 1200px; height: 640px; background: #ccc url('https://pic.imgdb.cn/item/63258aa816f2c2beb10520db.jpg') no-repeat center/cover; box-shadow: 3px 3px 20px #000; display: grid; place-items: center; position: relative; z-index: 1; overflow: hidden; }
#mplayer { position: absolute; bottom: 60px; right:66px; width: 300px; height: 80px; user-select: none; display: grid; place-items: center; cursor: pointer; }
#mplayer:hover #btnwrap, #mplayer:hover #prog { transform: translateY(var(--yy)); }
#mplayer:hover #btnwrap { background: linear-gradient(to top right, #E6BD1A, green); border-radius: 50%; opacity: .75; }
#btnwrap, #prog { position: absolute; display: grid; place-items: center;transition: .5s; }
#btnwrap { --yy: -15px; width: 40px; height: 40px; transform: rotate(45deg); border: 1px solid tan; border-radius: 6px; opacity: .25; }
#btnplay { width: 20px; height: 20px; background: #eee; clip-path: polygon(0 0, 0% 100%, 100% 50%); }
#btnpause { width: 2px; height: 20px; border-style: solid; border-width: 0px 4px; border-color: transparent #eee; display: none; }
#prog { --yy: 20px; width: 300px; height: 16px; border-radius: 10px; background: linear-gradient(90deg, orange, red 100%, transparent 0); border: 1px solid gray; font: normal 14px / 16px sans-serif; color: #1551C8; opacity: .75; }
#lrc { position: absolute; top: 420px; right:94px;font: bold 1.8em sans-serif; color: transparent; letter-spacing: 2px; background: linear-gradient(-90deg, #F1CE41, #A9CDA9) 100% 100% / 200% 200%; background-clip: text; -webkit-background-clip: text; }
#mpic { position: absolute; width: 329px; height: 263px; left:46px; top:50px; opacity: .5; }
#vid { position: absolute; width: 1200px; height: 695px; top: -55px; object-fit: cover; mix-blend-mode: screen; }
      @keyframes bgMove1 { from { background-position: 0 0; } to { background-position: -100% 0; } }
      @keyframes bgMove2 { from { background-position: 0 0; } to { background-position: -100% 0; } }
.yusan { position: absolute; left: 400px; top: 0; width: 190px; transform: rotate(0deg); offset-distance: 0; offset-path: path("M360 0 Q700 150, 600 300 Q340 450, 420 660"); animation: move 10s linear infinite; }
@keyframes move { to { offset-distance: 100%;} }
</style>


<div id="papa">
      <img id="mpic" src="https://pic.imgdb.cn/item/63258ace16f2c2beb10576c0.gif" alt="" />
        <video id="vid" src="https://img.tukuppt.com/video_show/15653652/00/80/83/60d04564c32f7.mp4" muted="muted" autoplay="autoplay" loop="loop"></video>
      <img class="yusan" src="https://pic.imgdb.cn/item/6325c81116f2c2beb1569f77.png" alt="" />
      <div id="lrc">花潮论坛lrc在线</div>
      <div id="mplayer">
                <div id="btnwrap"><span id="btnplay"></span><span id="btnpause"></span></div>
                <div id="prog">00:00 | 00:00</div>
      </div>
</div>

<script>
let lrcAr = [
        ['0.00','雨停了才送伞 魏佳艺','6'],
        ['6.27','所属专辑:雨停了才送伞','6'],
        ['12.27','制作 花潮论坛lrc在线','6'],
        ['18.27','你 吃定了我的心太软','4.5'],
        ['24.07','各种谎言就一直不断','3.8'],
        ['28.10','比起你陪伴 更习惯孤单','4'],
        ['32.23','天黑了天不再蔚蓝','2.8'],
        ['36.26','你 设定让我跨这道坎','4.6'],
        ['42.08','各种心酸都往心里灌','3.2'],
        ['46.25','领教过绝望 比冬天严寒','3.5'],
        ['50.17','也该和你做个了断','3'],
        ['54.34','雨都停了你才送伞','3.2'],
        ['58.16','心都凉了才想去暖','3.2'],
        ['62.13','是你的无情让我释然','3.5'],
        ['66.19','如你所愿你又纠缠','3.2'],
        ['70.19','雨都停了你才送伞','3.2'],
        ['74.22','情都灭了才想复燃','3.2'],
        ['78.21','对你的耐心早已用完','3.5'],
        ['82.24','此刻讲后悔已太晚','3.5'],
        ['118.27','你 设定让我跨这道坎','4.5'],
        ['124.07','各种心酸都往心里灌','3.6'],
        ['128.24','领教过绝望 比冬天严寒','3.8'],
        ['132.19','也该和你做个了断','3.6'],
        ['136.15','雨都停了你才送伞','3.2'],
        ['140.15','心都凉了才想去暖','3.2'],
        ['144.22','是你的无情让我释然','3.5'],
        ['148.16','如你所愿你又纠缠','3.2'],
        ['152.19','雨都停了你才送伞','3.2'],
        ['156.19','情都灭了才想复燃','3.2'],
        ['160.16','对你的耐心早已用完','3.5'],
        ['164.15','此刻讲后悔已太晚','3.5'],
        ['168.23','雨都停了你才送伞','3.2'],
        ['172.21','心都凉了才想去暖','3.2'],
        ['176.33','是你的无情让我释然','3.5'],
        ['180.24','如你所愿你又纠缠','3.2'],
        ['184.34','雨都停了你才送伞','3.2'],
        ['188.22','情都灭了才想复燃','3.2'],
        ['192.30','对你的耐心早已用完','3.5'],
        ['196.18','此刻讲后悔已太晚','3.5'],
        ['200.37','对你的耐心早已用完','3.5'],
        ['204.29','此刻讲后悔已太晚','6.5']
];
let mKey = 0, mSeek = false, mFlag = true;
let aud = new Audio();
aud.src = 'https://music.163.com/song/media/outer/url?id=1918840985.mp3';
aud.autoplay = true;
aud.loop = true;

btnwrap.onclick = () => aud.paused ? aud.play() : aud.pause();
prog.onclick = (e) => aud.currentTime = aud.duration * e.offsetX / prog.offsetWidth;
aud.addEventListener('pause', () => mState());
aud.addEventListener('play', () => mState());
aud.addEventListener('seeked', () => calcKey());

aud.addEventListener('timeupdate', () => {
      prog.style.background= 'linear-gradient(90deg, green, #E6BD1A ' + aud.currentTime / aud.duration * 100 + '%, snow 0)';
      prog.innerText = toMin(aud.currentTime) + ' | ' + toMin(aud.duration);
      for(j=0; j<lrcAr.length; j++) {
                if(aud.currentTime >= lrcAr) {
                        if(mKey === j) showLrc(lrcAr);
                        else continue;
                }
      }
});

let mState = () => aud.paused ? (btnplay.style.display = 'block', btnpause.style.display = 'none', lrc.style.animationPlayState = 'paused') : (btnplay.style.display = 'none', btnpause.style.display = 'block', lrc.style.animationPlayState = 'running');

let showLrc = (time) => {
      lrc.style.animation = (mFlag ? 'bgMove1 ' : 'bgMove2 ') + time + 's linear forwards';
      lrc.innerHTML = lrcAr;
      mKey += 1;
      mFlag = !mFlag;
}

let calcKey = () => {
      for(j = 0; j < lrcAr.length; j ++) {
                if(aud.currentTime <= lrcAr) {
                        mKey = j - 1;
                        break;
                }
      }
      if(mKey <0) mKey = 0;
      let mtime = lrcAr - (aud.currentTime - lrcAr);
      showLrc(mtime);
}

let toMin = (val)=> {
      if (!val) return '00:00';
      val = Math.floor(val);
      let min = parseInt(val / 60), sec = parseFloat(val % 60);
      if(min < 10) min = '0' + min;
      if(sec < 10) sec = '0' + sec;
      return min + ':' + sec;
}
</script>

红影 发表于 2022-9-17 20:11

也想像黑黑那样,给图片加个带路径的图片,但雨里不知道加什么好啊,落叶?花朵?好像都不合适{:4_173:}

红芍药 发表于 2022-9-17 20:12

下雨了,雨没停我就给你送伞,不让你淋雨。。{:4_173:}

红影 发表于 2022-9-17 20:12

这个学习一下尽量让歌词变色和文字同步,发现还是手软了,部分听到最后一个字只有2秒,我还是多留了点@马黑黑{:4_173:}

小辣椒 发表于 2022-9-17 20:25

亲爱的好棒,这个时间我到现在还是不行,吃饭前没有弄好的,现在在上来捣鼓

加林森 发表于 2022-9-17 20:27

挺漂亮的制作。赞!

马黑黑 发表于 2022-9-17 20:29

我心太软{:4_170:}

马黑黑 发表于 2022-9-17 20:37

红芍药 发表于 2022-9-17 20:12
下雨了,雨没停我就给你送伞,不让你淋雨。。
谁叫你对人家不感冒{:4_170:}

红芍药 发表于 2022-9-17 20:49

马黑黑 发表于 2022-9-17 20:37
谁叫你对人家不感冒

你没看俺一直拿着一把伞吗{:4_189:}

马黑黑 发表于 2022-9-17 20:58

红芍药 发表于 2022-9-17 20:49
你没看俺一直拿着一把伞吗

但没送出去

红影 发表于 2022-9-17 21:01

红芍药 发表于 2022-9-17 20:49
你没看俺一直拿着一把伞吗

去找了个伞,刚把伞加上去,却发现芍药拿了把红伞,呵呵,我刚才去加了把粉色的小伞,搜图的时候明明看到了一把红伞的,我再去找找原地址,去换把红伞去{:4_173:}

红影 发表于 2022-9-17 21:17

红芍药 发表于 2022-9-17 20:12
下雨了,雨没停我就给你送伞,不让你淋雨。。

谢谢芍药姑娘,把芍药送我的伞加上了{:4_173:}

红影 发表于 2022-9-17 21:19

小辣椒 发表于 2022-9-17 20:25
亲爱的好棒,这个时间我到现在还是不行,吃饭前没有弄好的,现在在上来捣鼓

其实是两个时间,一个是开始的时间,一个听歌词最后结束那个字的时间,做歌词的时候看看停在什么地方,去减这句开始的时间,把答案放在歌词的最后就行了。

红影 发表于 2022-9-17 21:20

加林森 发表于 2022-9-17 20:27
挺漂亮的制作。赞!

多谢队长鼓励{:4_187:}

加林森 发表于 2022-9-17 21:22

红影 发表于 2022-9-17 21:20
多谢队长鼓励

不客气。我跟着学习吧。

红影 发表于 2022-9-17 21:23

马黑黑 发表于 2022-9-17 20:29
我心太软

没敢把歌词最后听到的那个字的时间真正用上去,而是加了点。
这是用你花潮LRC在线的测试功能去做,作完歌词后,在测试里听最后一个字的时间,暂停后和该句第一个字的时间相减,这样应该会更准确。那个测试真心不错。

红芍药 发表于 2022-9-17 21:29

马黑黑 发表于 2022-9-17 20:58
但没送出去

送给影子了。{:4_189:}

马黑黑 发表于 2022-9-17 21:29

红影 发表于 2022-9-17 21:23
没敢把歌词最后听到的那个字的时间真正用上去,而是加了点。
这是用你花潮LRC在线的测试功能去做,作完 ...

大概就行,稍作修改就好

马黑黑 发表于 2022-9-17 21:30

红芍药 发表于 2022-9-17 21:29
送给影子了。

鹅鹅鹅,知道了{:4_173:}

红芍药 发表于 2022-9-17 21:30

红影 发表于 2022-9-17 21:17
谢谢芍药姑娘,把芍药送我的伞加上了

好看好看,影子好聪明哒。{:4_204:}{:4_204:}
页: [1] 2 3 4 5
查看完整版本: 雨停了才送伞