<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="720" src="https://pic.imgdb.cn/item/6224a1305baa1a80ab5fedbf.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="http://www.kumeiwp.com/sub/filestores/2022/03/06/cd2c043a164e9a67581658426070fb2f.mp3" controls="controls" autoplay="autoplay"></audio></p>
<div id="lrcDiv"><ul id="lrcUl"></ul></div>
<p style="margin: 20px; text-align:center;">加林森 2022 02 25</p>
</div>
</div>
<script language="javascript">
var lrcAr = [
["00:00.11",""],
["00:03.11"," 相约北京(Live)"],
["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"," 纯洁的冰雪 怀着童真记趣"],
["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:04.53"," 品尝你赐给的泪水"],
["04:10.56"," 或许你曾为我流泪"],
["04:17.09"," 如今你让我痛彻心扉"],
["04:27.51"," 谢谢欣赏"]
["04:10.56"," 谢谢欣赏"]
];
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>