六朝金粉-金陵城
本帖最后由 加林森 于 2022-9-7 18:03 编辑 <br /><br /><style>#papa { left: -214px; width: 1024px; height: 682px; background: silver url('https://pic.imgdb.cn/item/631849ee16f2c2beb1da953d.jpg') no-repeat center/cover; box-shadow: 2px 2px 10px #000; user-select: none; z-index: 1; position: relative; }
#mplayer { position: absolute; right: 20px; bottom: 20px; }
#lrc {position: absolute; left: 20px; top: 20px; }
#lrctext { font: bold 2em sans-serif; text-shadow: 4px 4px 0 #000; stroke-width: 0.5px; stroke: #FF4500; fill: none; letter-spacing: 4px; }
#tmsg { fill: transparent; stroke:#FF4500; stroke-width: 1px; font: bold 1em sans-serif; }
#btnplay, #btnpause { fill: #ccc; cursor: pointer; display: block; }
#btnpause { display: none; }
#btnplay:hover, #btnpause:hover { fill: orange; }
</style>
<div id="papa">
<svg id="mplayer" width="120" height="120">
<g id="mama" transform="rotate(-90, 60, 60)" style="cursor: pointer;">
<circle id="track" cx="60" cy="60" r="50" fill="none" stroke-width="10" stroke="rgba(255,255,255,0.65)" />
<circle id="prog" cx="60" cy="60" r="50" fill="none" stroke-width="6" stroke="rgba(57,54,81,0.85)" />
</g>
<polygon id="btnplay" points="50 50, 50 70, 70 60" />
<g id="btnpause" fill="tranparent">
<rect x="52" y="50" width="5" height="20" />
<rect x="62" y="50" width="5" height="20" />
</g>
<path id="curPath" d="M 20 70 Q 60 0 100 70" fill="none" stroke="none"/>
<path id="durPath" d="M 20 55 Q 60 110 100 55" fill="none" stroke="none"/>
<g id="tmsg">
<text x="34" y="0"><textPath id="curMsg" xlink:href="#curPath" dominant-baseline="text-after-edge">00:00</textPath></text>
<text x="29" y="0"><textPath id="durMsg" xlink:href="#durPath" dominant-baseline="text-before-edge">00:00</textPath></text>
</g>
</svg>
<svg id="lrc" width="600" height="50">
<text id="lrctext" x="0" y="40">六朝金粉-金陵城</text>
</svg>
</div>
<script>
let aud = new Audio();
let lrcAr = [
['0.00', '六朝金粉-金陵城'],
['145.00', '谢谢欣赏']
];
let cc = {
x: 1*track.getAttribute('cx'),
y: 1*track.getAttribute('cy'),
r: 1*track.getAttribute('r'),
sw: 1*track.getAttribute('stroke-width'),
len: track.getTotalLength(),
};
aud.src = 'https://music.163.com/song/media/outer/url?id=403711533.mp3';
aud.autoplay = true;
aud.loop = true;
prog.style.strokeDasharray = prog.style.strokeDashoffset =cc.len;
aud.addEventListener('pause', () => btnstate());
aud.addEventListener('play',() => btnstate());
aud.addEventListener('timeupdate', () => {
prog.style.strokeDashoffset = cc.len - cc.len * aud.currentTime / aud.duration;
curMsg.textContent = toMin(aud.currentTime);
durMsg.textContent = toMin(aud.duration);
for(j=0; j<lrcAr.length; j++) {
if(aud.currentTime >= lrcAr) lrctext.textContent = lrcAr;
}
});
btnplay.onclick = btnpause.onclick = () => aud.paused ? aud.play() : aud.pause();
mama.onclick = (e) => {
let deg = Math.atan2(e.offsetY - cc.y, e.offsetX - cc.x) * 180 / Math.PI;
deg += (e.offsetX < cc.x && e.offsetY < cc.y) ? 450 : 90;
aud.currentTime = aud.duration * deg / 360;
};
let btnstate = () => aud.paused ? (btnplay.style.display = 'block', btnpause.style.display = 'none') : (btnplay.style.display = 'none', btnpause.style.display = 'block');
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>
十里秦淮生春梦,六朝烟月荟金陵。美丽的金陵城。欣赏队长好帖{:4_187:} 红影 发表于 2022-9-7 16:13
十里秦淮生春梦,六朝烟月荟金陵。美丽的金陵城。欣赏队长好帖
这个就是今天老黑教给大家的。好漂亮的播放器。 漂亮的风景,好看好听!{:4_178:} 梦缘 发表于 2022-9-7 17:17
漂亮的风景,好看好听!
谢谢梦缘支持! lrc歌词可以考虑用别的颜色,让它适合背景、更清晰。 马黑黑 发表于 2022-9-7 17:38
lrc歌词可以考虑用别的颜色,让它适合背景、更清晰。
好的。 队长,第一个做玩,建议后面再加难度,修改一下加一点自己的风格进去。 加林森 发表于 2022-9-7 17:41
好的。
队长不必急于求成,宁可两天出一个作品,要出有创意的、至少有自己的特色的。 马黑黑 发表于 2022-9-7 17:42
队长不必急于求成,宁可两天出一个作品,要出有创意的、至少有自己的特色的。
黑黑说的对,现在求质量,不求速度 小辣椒 发表于 2022-9-7 17:43
黑黑说的对,现在求质量,不求速度
{:5_108:} 小辣椒 发表于 2022-9-7 17:42
队长,第一个做玩,建议后面再加难度,修改一下加一点自己的风格进去。
嗯嗯。明白的。 马黑黑 发表于 2022-9-7 17:42
队长不必急于求成,宁可两天出一个作品,要出有创意的、至少有自己的特色的。
嗯嗯。谢谢你啦。 加林森 发表于 2022-9-7 17:53
嗯嗯。谢谢你啦。
{:5_108:} 马黑黑 发表于 2022-9-7 17:57
{:5_108:} 加林森 发表于 2022-9-7 16:17
这个就是今天老黑教给大家的。好漂亮的播放器。
知道的,非常漂亮{:4_187:} 红影 发表于 2022-9-7 20:47
知道的,非常漂亮
是啊。
页:
[1]