纤云弄巧
本帖最后由 绿叶清舟 于 2022-6-27 08:42 编辑 <br /><br /><style>.papa { left: -200px; width: 1000px; height: 700px; background: rgba(0,0,0,.4) url('https://pic.imgdb.cn/item/62b824e32f259190880b17e7.jpg') no-repeat center / cover; overflow: hidden; box-shadow: 0 4px 24px #000; position: relative; }
.papa input { border: none; outline: none; opacity: .6; cursor: pointer; }
.papa p { margin: 0; padding: 0; }
.playbox { margin: auto; position: relative; top: 20px; opacity: .6; padding: 10px; width: fit-content; font: normal 1em sans-serif; color: snow; background: rgba(255,255,255,.25); backdrop-filter: blur(2px); overflow: hidden; box-shadow: 1px 2px 2px #000; text-shadow: 1px 1px 1px #000; z-index: 100; }
#btnplay { width: 30px; height: 30px; border-radius: 50%; }
#btnplay:hover { background: #aaa; color: #ff0000; }
@keyframes opa { to { opacity: 0; } }
</style>
<div class="papa">
<div class="playbox">
<p id="geci" style="font-size: 1.2em">LRC Loading ... </p>
<p style="display: flex; align-items: center; gap: 4px; margin-top: 10px;">
<input id="btnplay" type="button" value=">" />
<input id="slider" type="range" min="0" max="100" value="0" />
<span id="per">0:0 | 0:0</span>
</p>
</div>
<img src="https://pic.imgdb.cn/item/62b826ae2f259190880d3fa4.png" alt="" style="position: absolute; top:0; left:0; width: 100%; height: 100%; animation: opa 6s infinite alternate;" />
<audio id="aud" src="http://music.163.com/song/media/outer/url?id=1473618113.mp3" autoplay="autoplay" loop="loop"></audio>
</div>
<script>
let slider = document.querySelector('#slider'),
aud = document.querySelector('#aud'),
per = document.querySelector('#per'),
btnplay = document.querySelector('#btnplay'),
geci = document.querySelector('#geci');
let slip = 0;
let lrcAr = [
['0.00','纤云弄巧,飞星传恨,银汉迢迢暗度'],
['60.58','金风玉露一相逢,便胜却人间无数。'],
['100.00','柔情似水,佳期如梦,忍顾鹊桥归路。'],
['160.00','两情若是久长时,又岂在朝朝暮暮。']
];
slider.onmousedown = () => aud.pause();
slider.onchange = () => { aud.currentTime = slider.value * aud.duration / 100; aud.play(); }
btnplay.onclick = () => aud.paused ? aud.play() : aud.pause();
aud.addEventListener('playing', () => btnplay.value = '||');
aud.addEventListener('pause', () => btnplay.value = '>');
aud.addEventListener('timeupdate', () => {
let prog = 100 * aud.currentTime / aud.duration;
slider.value = prog;
per.innerText = toMin(aud.currentTime) + ' | ' + toMin(aud.duration);
for(j=0; j<lrcAr.length; j++){
if(aud.currentTime >= lrcAr - slip){
geci.innerHTML = lrcAr;
}
}
});
let toMin = (sec) => {
if(!sec) return '0:00';
sec = parseInt(sec);
return parseInt(sec / 60) + ':' + parseFloat(sec % 60).toString().padStart(2,'0');
}
</script> 又偷懒了。不把歌词帖出来,就跟着音乐来啊?{:4_170:} 看见歌词了。清舟真厉害!{:4_199:} 好像歌词没有同步? 加林森 发表于 2022-6-26 17:48
好像歌词没有同步?
这个没弄歌词,把诗贴来了{:4_189:} 绿叶清舟 发表于 2022-6-26 17:49
这个没弄歌词,把诗贴来了
我就感觉没有对的。{:4_189:} 12s 实际上是 24s,当用了 alternate 时 马黑黑 发表于 2022-6-26 18:01
12s 实际上是 24s,当用了 alternate 时
感觉变了数字,没多大变化的啊 绿叶清舟 发表于 2022-6-26 18:06
感觉变了数字,没多大变化的啊
变化太大了,一直都没变 马黑黑 发表于 2022-6-26 18:07
变化太大了,一直都没变
变的是这个时间啊,俺还盯着停留时间了{:4_173:} 我觉得这诗句隐约蛮好 绿叶清舟 发表于 2022-6-26 18:09
变的是这个时间啊,俺还盯着停留时间了
那要盯20度秒才会发生 这个毛玻璃的歌词咋这么暗啊{:4_173:} 清舟把字调成白的大家就看见了。 加林森 发表于 2022-6-26 17:51
我就感觉没有对的。
不会对啊,那不是歌词啊{:4_189:} 马黑黑 发表于 2022-6-26 19:09
那要盯20度秒才会发生
把数字再变大? 红影 发表于 2022-6-26 19:41
这个毛玻璃的歌词咋这么暗啊
那不是歌词啊 绿叶清舟 发表于 2022-6-26 20:02
把数字再变大?
得了吧,4到8秒之间就已经够了 绿叶清舟 发表于 2022-6-26 20:01
不会对啊,那不是歌词啊
就是把字体变成白的就行了。 你这个是秦观的词吧。