红影 发表于 2022-12-20 16:52

听心 TO 小九、大猫咪、东篱闲人

<style>
#papa { margin: 120px 0 0 calc(50% - 593px); width: 1024px; height: 626px; display: grid; place-items: center; background: gray url('https://pic.imgdb.cn/item/63a15e2db1fccdcd36564d46.jpg') no-repeat center/cover; box-shadow: 3px 3px 20px #000; position: relative; opacity: 1; user-select: none; overflow: hidden; z-index: 1; --state: paused; }
#papa::before { position: absolute; content: ''; right: 0; top: 0; width: 100%; height: 100%; overflow: hidden; transform-origin: calc(100% - 700px) 230px; background: repeating-conic-gradient(at calc(100% - 700px) 230px, hsla(0,0%,100%,.2) 0 4deg,transparent 0 30deg); animation: opa 4s linear infinite alternate, rot1 10s infinite alternate; }
@keyframes rot1 { to { transform: rotate(6deg); } }
@keyframes opa { from { opacity: 0.1; } to { opacity: .35; } }
</style>
<div id="papa"></div>
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=1497558850.mp3" loop autoplay></audio>
<script >
(function() {
        (function(mkPlayer) {let defaults = {lrcAr: [],lrc_css: 'top: 15px; left: 50%; transform: translate(-50%)',player_css: 'bottom: 20px; left: 50%; transform: translate(-50%)',playerCode: `<style>#mplayer { --ww: 300px; --color1: hsla(80,100%,32%,.95); --color2: hsla(120,100%,95%,.75); position: absolute; z-index: 901; }#lrc { --motion: cover2; --tt: 1s; --state: running; --bg: linear-gradient(180deg,hsla(80,90%,50%,.75),hsla(80,100%,22%,.65)); position: absolute; font: bold 2.4em sans-serif; color: hsl(100, 100%, 90%); white-space: pre; -webkit-background-clip: text; filter: drop-shadow(1px 1px 2px hsla(0, 100%, 0%, .85)); z-index: 900; }#lrc::before { position: absolute; content: attr(data-lrc); width: 20%; height: 100%; color: transparent; overflow: hidden; white-space: pre; background: var(--bg); filter: inherit; -webkit-background-clip: text; animation: var(--motion) var(--tt) linear forwards; animation-play-state: var(--state); }@keyframes cover1 { from { width: 0; }to { width: 100%; } }@keyframes cover2 { from { width: 0; }to { width: 100%; } }</style><canvas id="mplayer" width="300" height="60"></canvas><div id="lrc" data-lrc="HCPlayer">HCPlayer</div>`,};let playCode = (user_config) => {let data = Object.assign({}, defaults, user_config);papa.innerHTML += data.playerCode;mplayer.style.cssText += data.player_css;lrc.style.cssText += data.lrc_css;let mKey = 0, mFlag = true, btfFlag = false;let getCssVal = (e,v) => getComputedStyle(e).getPropertyValue(v);let ctx = mplayer.getContext('2d');let w = mplayer.width = getCssVal(mplayer,'--ww').replace(/[^0-9]/ig,''), h = mplayer.height = 60;let btnFlag = false;let player = {prog: 0,track: w,color: ,cur: '00:00',dur: '00:00'};let drawCircle = (x,y,r,color) => {ctx.beginPath();ctx.strokeStyle = color;ctx.lineWidth = 2;ctx.arc(x,y,r,0,2*Math.PI);ctx.stroke();};let drawTriangle = (x,y,len,color) => {ctx.beginPath();ctx.fillStyle = color;ctx.moveTo(x,y);ctx.lineTo(x, y+len);ctx.lineTo(x+len, y + len/2);ctx.lineTo(x,y);ctx.fill();};let drawRect = (x,y,ww,hh,color) => {ctx.beginPath();ctx.fillStyle = color;ctx.fillRect(x,y,ww,hh);};let drawTxt = (text,x,y,align,color) => {ctx.beginPath();ctx.font = '16px sans-serif';ctx.textAlign = align;ctx.textBaseline = 'middle';ctx.fillStyle = color;ctx.fillText(text,x,y);};let drawAll = () => {ctx.clearRect(0,0,w,h);let btnColor = btnFlag ? player.color : player.color;drawRect(0,10,w, 4, player.color);drawRect(0,10,player.prog, 4, player.color);drawTxt(player.cur,w/2-26,h-20,'right',player.color);drawCircle(w/2,h-20,16,btnColor);drawTxt(player.dur,w/2 + 26,h-20,'left',player.color);aud.paused ? drawTriangle(w/2-6,h-28,16,btnColor) : (drawRect(w/2-6, h-28,4,16,btnColor), drawRect(w/2+2, h-28,4,16,btnColor));};let overBtn = (e) => Math.sqrt((e.offsetX-w/2) ** 2 + (e.offsetY-(h-20)) ** 2) < 16;let overProg = (e) => e.offsetY > 0 && e.offsetY < 15;mplayer.onmousemove = (e) => {mplayer.style.cursor = overBtn(e) || overProg(e) ? 'pointer' : 'default';mplayer.title = overProg(e) ? toMin(e.offsetX*aud.duration/w) : '';overBtn(e) ? (btnFlag = true,drawAll()) : (btnFlag = false,drawAll());};mplayer.onclick = (e) => {if(overBtn(e)) { aud.paused ? aud.play() : aud.pause(); drawAll(); }if(overProg(e)) aud.currentTime = aud.duration * e.offsetX / w;};aud.addEventListener('timeupdate', () => {player.prog = aud.currentTime * w /aud.duration;player.cur = toMin(aud.currentTime);player.dur = toMin(aud.duration);drawAll();for (j = 0; j < data.lrcAr.length; j++) {if (aud.currentTime >= data.lrcAr) {if (mKey === j) showLrc(data.lrcAr);else continue;}}});aud.addEventListener('pause', () => mState());aud.addEventListener('play', () => mState());aud.addEventListener('seeked', () => calcKey());let mState = () => aud.paused ? (lrc.style.setProperty('--state', 'paused')) : (lrc.style.setProperty('--state', 'running'));let showLrc = (time) => {let name = mFlag ? 'cover1' : 'cover2';lrc.innerHTML = data.lrcAr;lrc.dataset.lrc = data.lrcAr.replace(/<br>/, '\n');lrc.style.setProperty('--motion', name);lrc.style.setProperty('--tt', time + 's');lrc.style.setProperty('--state', 'running');mKey += 1;mFlag = !mFlag;};let calcKey = () => {for (j = 0; j < data.lrcAr.length; j++) {if (aud.currentTime <= data.lrcAr) {mKey = j - 1;break;}}if (mKey < 0) mKey = 0;if (mKey > data.lrcAr.length - 1) mKey = data.lrcAr.length - 1;let time = data.lrcAr - (aud.currentTime - data.lrcAr);showLrc(time);};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;};drawAll();};mkPlayer.HCPlayer = playCode;})(this);
        let lrcAr = [,,];
        HCPlayer({lrcAr: lrcAr});
})();
</script>

红影 发表于 2022-12-20 16:54

带来森林的一片绿意,和几位在里面徜徉。愿病体早日康复@东篱闲人@大猫咪@小九{:4_187:}

红影 发表于 2022-12-20 16:56

看看克罗地亚那个的光柱特别好看,想学个的,没学成,就用以前的光柱吧。忙着送礼,等空向黑黑请教一下那个里面的光柱是怎么弄的{:4_173:}

红影 发表于 2022-12-20 16:59

九儿中招已经7天了,猫猫5天,我3天。不知道东篱大哥几天了。
不管症状如何,都要听从心灵的召唤,该吃吃,该喝喝,用快乐的精神强健的体魄,等着病毒知难而退。一起加油{:4_178:}

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

我师兄没算在里面,他已经康复了。祝贺师兄胜利闯关{:4_187:}

梦油 发表于 2022-12-20 17:24

祝朋友们早日康复!

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

亲爱的,自己生病还做帖,辛苦了{:4_179:}

小辣椒 发表于 2022-12-20 17:26

祝福小羊人们早日康复{:4_171:}

千羽 发表于 2022-12-20 18:59

森林是个大氧吧,三位小羊人快来深呼吸{:4_187:}

千羽 发表于 2022-12-20 19:03

祝福小羊人们早日康复,再休息几天就可以活蹦乱跳了{:4_173:}

东篱闲人 发表于 2022-12-20 21:00

能和这么多大美女一起阳,该是多么荣幸的一件事啊,俺骄傲。。。。。{:5_117:}{:5_112:}

红影 发表于 2022-12-22 12:29

东篱闲人 发表于 2022-12-20 21:00
能和这么多大美女一起阳,该是多么荣幸的一件事啊,俺骄傲。。。。。

据说阳过以后就可以横着走了,更让东篱大哥骄傲{:4_189:}

红影 发表于 2022-12-22 12:30

千羽 发表于 2022-12-20 19:03
祝福小羊人们早日康复,再休息几天就可以活蹦乱跳了

谢谢羽儿,虽然不幸赶上了第一波,但也万幸不太严重呢{:4_173:}

红影 发表于 2022-12-22 12:31

小辣椒 发表于 2022-12-20 17:25
亲爱的,自己生病还做帖,辛苦了

没事,感觉还好。跟亲爱的一起祝福所有小阳人尽早康复{:4_187:}

东篱闲人 发表于 2022-12-22 21:05

红影 发表于 2022-12-22 12:29
据说阳过以后就可以横着走了,更让东篱大哥骄傲

我们一起横着走?那好看吗?{:5_115:}

红影 发表于 2022-12-22 21:27

东篱闲人 发表于 2022-12-22 21:05
我们一起横着走?那好看吗?

还是您自己横着走吧,我就免了{:4_189:}

好开心 发表于 2022-12-23 16:24

竹笛虚心曲自高

好开心 发表于 2022-12-23 16:24

红影 发表于 2022-12-22 21:27
还是您自己横着走吧,我就免了

咱们不当螃蟹{:4_189:}

东篱闲人 发表于 2022-12-23 20:21

红影 发表于 2022-12-22 21:27
还是您自己横着走吧,我就免了

你横着走,一定漂亮。。。{:4_189:}

红影 发表于 2022-12-24 09:25

好开心 发表于 2022-12-23 16:24
咱们不当螃蟹

呵呵,本来是一个朋友安慰我的话,被东篱大哥一说咋那么怪了{:4_173:}
页: [1] 2
查看完整版本: 听心 TO 小九、大猫咪、东篱闲人