|
|

楼主 |
发表于 2022-2-25 20:35
|
显示全部楼层
<style type="text/css">
.mnBox { position: relative; margin: 0 auto; padding: 35px; width: 660px; border: none; border-top: 6px solid #000; border-radius: 10px; background: #b3c3c3; }
.ctBox { margin: 0; padding: 30px; background: #fff; min-height: 300px; border-radius: 10px; }
.ctBox p,img, h2,button { text-align:center; }
#lrcDiv { margin: auto; width: 300px; height: 43px; overflow: hidden; position: relative; padding: 8px; text-align:center; }
#lrcDiv ul, lrcli { margin: 0; padding: 0; }
#lrcUl { position: absolute; left:10px;top: 0; }
#lrcUl li { height: 20px; font-size:14px; line-height:20px;left:50px; color: black; list-style-type: none; }
#myplayer { outline: none; list-style-type: none; }
</style>
<div class="mnBox">
<div class="ctBox">
<p style="text-align:center;"><img alt="550" height="362" src="https://pic.imgdb.cn/item/6216210d2ab3f51d91f0f16b.jpg" /><br></p>
<h2 style="padding-bottom: 10px;">痛彻心扉</h2>
<h2 style="text-align:center;">歌手--小希 (馨予)</h2>
<pre>
看见黑黑今天分享的
歌词同步高亮制作
在这个css边框中测试一下
感觉这个歌词同步高亮效果
加上这个边框特别漂亮
这样分享音乐也是不错
感谢黑黑又一个精彩分享
黑黑你太厉害了 精彩不断!
感谢黑黑老师的精彩分享
自动播放歌词同步高亮制作
</pre>
<p style="margin: auto; width:120px; text-align:center; font-size:14px; color:#000;"><marquee scrollamount="2" direction="left" >谢谢黑黑老师的精彩分享</marquee></p>
<p style="text-align:center;"><audio id="myplayer" src="https://oss.shandianpan.com/deba64b09196f48dcde864caf63ceee9.mp3" controls="controls" autoplay="autoplay"></audio></p>
<div id="lrcDiv"><ul id="lrcUl"></ul></div>
<p style="margin: 20px; text-align:center;">小辣椒 2022 02 23</p>
</div>
</div>
<script language="javascript">
var lrcAr = [
["00:00.11",""],
["00:03.11"," 痛彻心扉"],
["00:10.48"," 歌手:小希 (馨予)"],
["00:16.76"," LRC编辑:小辣椒"],
["00:21.64"," 怎么能够让我不再想你"],
["00:27.07"," 也许爱你爱到最后只能伤心"],
["00:33.60"," 已经有了离开你的勇气"],
["00:39.83"," 在我的梦里你不是唯一"],
["00:46.26"," 我想要再回到你温暖的怀里"],
["00:53.24"," 感觉你的心跳你的呼吸"],
["00:59.68"," 想到天长地久对于我们"],
["01:04.36"," 渴望而不可及"],
["01:06.75"," 难道命运注定就此分离"],
["01:13.83"," 啊。。。"],
["01:16.91"," 爱你痛彻我心扉"],
["01:22.56"," 给了你仅有的一片天"],
["01:29.03"," 回忆的碎片撞翻我心中思念的火蕊"],
["01:35.95"," 燃烧我整座的堡垒"],
["01:42.15"," 啊。。。"],
["01:44.73"," 爱你痛彻我心扉"],
["01:49.31"," 少了你还残留一片天"],
["01:55.45"," 我想我只会紧握住手中凋零的玫瑰"],
["02:02.83"," 品尝你赐给的泪水"],
["02:08.91"," 或许你曾为我流泪"],
["02:15.44"," 如今你让我痛彻心扉"],
["02:24.03"," LRC编辑:小辣椒"],
["02:48.19"," 我想要再回到你温暖的怀里"],
["02:55.01"," 感觉你的心跳你的呼吸"],
["03:01.24"," 想到天长地久对于我们"],
["03:05.87"," 渴望而不可及"],
["03:08.22"," 难道命运注定就此分离"],
["03:15.46"," 啊。。。"],
["03:18.50"," 爱你痛彻我心扉"],
["03:24.18"," 给了你仅有的一片天"],
["03:30.36"," 回忆的碎片撞翻我心中思念的火蕊"],
["03:37.54"," 燃烧我整座的堡垒"],
["03:43.55"," 啊。。。"],
["03:46.38"," 爱你痛彻我心扉"],
["03:51.02"," 少了你还残留一片天"],
["03:57.20"," 我想我只会紧握住手中凋零的玫瑰"],
["04:04.53"," 品尝你赐给的泪水"],
["04:10.56"," 或许你曾为我流泪"],
["04:17.09"," 如今你让我痛彻心扉"],
["04:27.51"," 谢谢欣赏"]
];
var myaud = document.getElementById('myplayer'); //播放器标识
var lrcUl = document.getElementById('lrcUl'); //歌词显示元素标识
//处理lrc歌词数组:时间转换成秒、歌词放入li标签
for(j=0; j<lrcAr.length; j++){
lrcAr[j][0] = toSec(lrcAr[j][0]);
lrcUl.innerHTML += "<li id='li" + lrcAr[j][0] + "'>" + lrcAr[j][1] + "</li>";
}
//lrc时间信息转为秒
function toSec(lrcTime) {
let tmpAr = lrcTime.split(':');
lrcTime = tmpAr[0] * 60 + parseInt(tmpAr[1]);
return lrcTime;
}
//同步高亮、翻滚歌词
myaud.ontimeupdate = function() {
let tt = this.currentTime;
for(j=0; j<lrcAr.length; j++){
if(tt > lrcAr[j][0]){
if(j > 0){
let idxLast = lrcAr[j-1][0];
document.getElementById("li" + idxLast).style.color = "black";
lrcUl.style.top ="-" + (j * 20 - 20) + "px";
}
let idx = lrcAr[j][0];
document.getElementById("li" + idx).style.color = "red";
}
}
}
// 播放结束重置歌词样式
myaud.onended = function() {
document.getElementById("li" + lrcAr[lrcAr.length-1][0]).style.color = "black";
lrcUl.style.top = 0;
this.play();
}
</script> |
|