亦是金 发表于 2023-3-10 21:10

《金手指双电子琴1~3》选听一 -新时代乐队

本帖最后由 亦是金 于 2024-8-5 11:21 编辑 <br /><br /><div class="t_fsz">
<table cellspacing="0" cellpadding="0"><tr><td class="t_f" id="postmessage_1846164">

<div class="cont-area">

<div style="width: 1200px;height: 700px;box-shadow:0px 0px 1px 2px #045768, 0px 0px 0px 8px #99e5f5,0px 0px 5px 15px #045768;overflow:hidden;border-radius:1%;margin-top:100px;margin-LEFT: -310px;">
<style>

#oBlk        {
        width:1200px;height:700px;position:relative;
        background:#c8faeb url(https://s1.ax1x.com/2023/03/10/ppu6F00.jpg) no-repeat center / cover;
        margin:auto;transition:all 2.5s;
        overflow:hidden; border-radius:10px;
        box-shadow:4px 4px 8px black;
}

</style>

<div id="oBlk"><div class="lrcShow" data-lrc="点击启动播放"></div></div>
<script>
let pics = [
"https://s1.ax1x.com/2023/03/10/ppu6F00.jpg","https://s1.ax1x.com/2023/03/10/ppu6EkT.jpg","https://s1.ax1x.com/2023/03/10/ppu6VtU.jpg","https://s1.ax1x.com/2023/03/10/ppu6k7V.jpg","https://s1.ax1x.com/2023/03/10/ppu6imq.jpg","https://s1.ax1x.com/2023/03/10/ppu6n1J.jpg","https://s1.ax1x.com/2023/03/10/ppu6ZhF.jpg","https://s1.ax1x.com/2023/03/10/ppu6mp4.jpg","https://s1.ax1x.com/2023/03/10/ppu6uc9.jpg","https://s1.ax1x.com/2023/03/10/ppu6KXR.jpg","https://s1.ax1x.com/2023/03/10/ppu6Qn1.jpg","https://s1.ax1x.com/2023/03/10/ppu6176.jpg","https://s1.ax1x.com/2023/03/10/ppu6l0x.jpg","https://s1.ax1x.com/2023/03/10/ppu68AK.jpg","https://s1.ax1x.com/2023/03/10/ppu6GtO.jpg"
];
let idx = 0;
let oBlk = document.querySelector('#oBlk');
oBlk.addEventListener('mouseover', function ()        {
        idx++; idx %= pics.length;
        oBlk.style.backgroundImage = 'url(' + pics + ')';
});

</script>













<style type="text/css">

@keyframes mv { from { background-position: 1200px 0; } to { background-position: 0 0; } }

body { overflow-x: hidden; }
#baiBox {
      margin: auto;
      width: 800px;
      text-align: center;
      font-family:微软简中圆;
      font-size: 2.5rem;
      font-weight: bold;
      color: #f46ff6;
      transform-origin: top;
      animation: yao 1.0s linear infinite alternate;
}

@keyframes yao {
      from{transform: perspective(800px) rotatex(30deg); }
      to { transform: perspective(800px) rotatex(-30deg); }
}



.tit { position: relative;width: 300px;height: 30px;top:-690px;LEFT: -400px;z-index: 100;filter: drop-shadow(-1px 1px 1px #ffffff)drop-shadow(0px -1px 1px #ffffff)drop-shadow(0px 0px 1px #ffffff)drop-shadow(0px 0px 1px #ffffff)drop-shadow(0px 0px 1px #ffffff) }
#tit:hover { color: green; }
/*标题位置 移动范围设置*/

</style>

<div id="hu" >
<div id="baiBox"
<div class="tit">
<span style="color:#fb52f9;"><span style="font-size:22px;">《金手指双电子琴1~3》选听一</span>
<span style="color:#3d46f7;"><span style="font-size:14px;"> -   新时代乐队</span></div>



<div style="position: relative;width: 500px;height: 50px;top:-80px;LEFT: 1000px;z-index: 100;filter: drop-shadow(-1px 1px 1px #e8f552)drop-shadow(0px -1px 1px #e8f552)drop-shadow(0px 0px 1px #e8f552)drop-shadow(0px 0px 1px #e8f552)drop-shadow(0px 0px 1px #e8f552)">
<p><span style="color:#ff0000;"><span style="font-family:华文隶书;"><span style="font-size:24px;">亦是金在线音乐</span></span></span></p></div>


</style>



<style>

#canv { position: relative; top: -880px; left: 200px; opacity: .95; mix-blend-mode: screen;}

</style>
</head>
<body>

<div id="papa">
      <span id="disc"></span>
      
      <canvas id="canv" width="1000" height="320"></canvas>
</div>

<script>
let ctx = canv.getContext('2d');
let w = canv.width,
      h = canv.height,
      tick = 0,
      particles = [];
let opts = {
      baseBaseSize: 10,
      addedBaseSize: 5,
      baseVel: 2,
      addedVel: 1,
      baseTime: 60,
      addedTime: 20,
      overTime: 5,
      sliding: .99,
      particleChance: .9,
      particles: 100,
      templateParticleColor: 'hsla(hue,80%,50%,alp)',
      repaintAlpha: 'rgba(0,0,0,.1)',
      startColor: .2,
      fullColor: .5,
      stopColor: .6,
      timeToColorChange: 3
};



function Particle() {
      this.reset();
}
Particle.prototype.reset = function() {
      this.x = Math.pow(Math.random(), 1 / 4);
      this.y = h / 2;
      var color = opts.templateParticleColor.replace('hue', this.x * 360 * 2 + tick * opts.timeToColorChange);
      this.baseSize = (Math.random() + this.x) / 2 * (opts.baseBaseSize + opts.addedBaseSize * Math.random());
      this.gradient = ctx.createRadialGradient(0, 0, 0, 0, 0, this.baseSize / 2);
      this.gradient.addColorStop(opts.startColor, color.replace('alp', 0));
      this.gradient.addColorStop(opts.fullColor, color.replace('alp', 1));
      this.gradient.addColorStop(opts.stopColor, color.replace('alp', 1));
      this.gradient.addColorStop(1, color.replace('alp', 0));
      this.vx = -(1 + Math.random() / 10 - this.x) * (opts.baseVel + Math.random() * opts.addedVel);
      this.vy = Math.pow(this.x, 4) * (opts.baseVel + Math.random() * opts.addedVel) * (Math.random() < .5 ? -1 : 1);
      this.x *= w / 2;
      if (Math.random() < .5) {
                this.x = w - this.x;
                this.vx *= -1;
      }
      this.time = opts.baseTime + opts.addedTime * Math.random();
      this.tick = this.time + opts.overTime;
};
Particle.prototype.step = function() {
      var size;
      if (this.tick <= this.time) {
                this.x += this.vx *= opts.sliding;
                this.y += this.vy *= opts.sliding;
                size = Math.pow(this.tick / this.time, 1 / 2)
      } else size = 1 - ((this.tick - this.time) / opts.overTime) + .000001;
      --this.tick;
      ctx.translate(this.x, this.y);
      ctx.scale(size, size);
      ctx.fillStyle = this.gradient;
      ctx.fillRect(-this.baseSize / 2, -this.baseSize / 2, this.baseSize, this.baseSize);
      ctx.scale(1 / size, 1 / size);
      ctx.translate(-this.x, -this.y);
      if (this.tick <= 0) this.reset();
};
(function anim() {
      window.requestAnimationFrame(anim);
      ctx.globalCompositeOperation = 'source-over';
      ctx.fillStyle = opts.repaintAlpha;
      ctx.fillRect(0, 0, w, h);
      ctx.globalCompositeOperation = 'lighter';
      ++tick;
      if (particles.length < opts.particles && Math.random() < opts.particleChance) particles.push(new Particle);
      particles.map(function(particle) {
                particle.step();
      });
})();
</script>


<div style="position: relative; top:-1080px;LEFT: 60px;z-index: 12435;">
<style type="text/css">
.lyricDisp{-webkit-text-stroke:1px #ffffff;font: bold 2.0em悟空大字库, sans-serif; transition:.3s all ease;font-size:2.2em;}
.lyricDisp:nth-child(1){color:#000080;text-align:left;--aniName:bgMove1;--durTime:100ms;--aniPlayState:running;}
.lyricDisp:nth-child(1)::before{position:absolute;content:attr(data-lrc);width:0;height:100%;left:0;top:0;color: transparent;background: linear-gradient(45deg, #F32121 32%,#8EE73C 43%,#FEFFFF 52%,#091CFD 62%,#36F4B1 75%);-webkit-background-clip: text;-webkit-text-stroke:2px #000000;filter: contrast(110%)brightness(160%);overflow:hidden;white-space:nowrap;animation:var(--aniName) var(--durTime) linear forwards;animation-play-state:var(--aniPlayState);}
.lyricDisp:nth-child(2){color:blue;text-align:center;font-size:1.4em;}@keyframes bgMove1{from{width:0;}to{width:100%;}}@keyframes bgMove0{from{width:0;}to{width:100%;}}
#LRCShow{position:absolute;left:450px;bottom:480px;width:75%;height:120px;margin:6px auto position:relative;<!--歌词位置-->}
#rdisk{position:absolute;left:5px;bottom:0px;border-radius: 50%;font-size:4em;color:red;animation:circleSmall2 6s linear infinite;animation-play-state:paused;cursor:pointer;}
@keyframes circleSmall2{0%{transform:rotateX(0deg) rotateY(20deg) rotateZ(360deg);}100%{transform:rotateX(0deg) rotateY(20deg) rotate(0deg);}}
#ground3rd{
        width:1000px;height:600px;
        position:absolute;font-size:16px;
        overflow:hidden;border-radius:0px;
        margin:5px 0px 30px -5px;
background:url(https://s4.ax1x.com/2022/03/05/bwbPNq.jpg);
        background-position:center;
        background-size: cover;
      perspective: 1200px;
}

#mpic {
        position: absolute;
        transform: rotateY(0deg);
        top: 0px;
        left: 0px;
        width: 1000px;
        height: 600px;
        animation: rote 80s linear infinite;
        cursor: pointer;
        opacity: 1;
}

@keyframes rote {
        from {
                background-position: 0 0;
                filter: hue-rotate(360deg)
        }

        to {
                background-position: -1730px 300px;
        }
}

#mpic1 {
        position: absolute;
        transform: rotateY(0deg);
        top: 0px;
        left: 0px;
        width: 1000px;
        height: 600px;
        animation: rotet 100s linear infinite;
        cursor: pointer;
        opacity: 1;
}

@keyframes rotet {
        from {
                background-position: 0 0;
                filter: hue-rotate(360deg)
        }

        to {
                background-position: 0px -1730px;
        }
}


#songList li {
        cursor: pointer;
        color: #ffffff;
        font:thick微软雅黑;
      font-size:17px;
      line-height:27px
}
</style>




<div id="ground3rd">
<div class="itemm">

<div style="width: 1000px;height: 600px;box-shadow:0px 0px 1px 2px #045768, 0px 0px 0px 8px #99e5f5,0px 0px 5px 15px #045768;overflow:hidden;border-radius:1%;margin-top:0px;margin-LEFT: 0px;">
<div style="position:relative;width: 1000px;height: 600px;overflow:hidden;top: 0px;left: 0px;">
<div style="left: 0px;position:absolute;top: 0px;">

</div>
<ol id='songList' style="color:red;position:absolute;top:50px;left:0px;"><!--歌曲菜单位置--></ol>
    <div id="rdisk"style="width:100px;height:100px;border: 0px solid #000000;
        background: url('https://s1.ax1x.com/2023/02/28/ppCT07F.png')0 0/100% 100%,conic-gradient(red,orange,yellow,green,teal,blue,#ff0000);
        mask: radial-gradient(transparent 7px,#red 0);transform: rotateX(45deg) rotateY(20deg) rotate(0deg);"></div>
    <div id="LRCShow"></div>
</div>


<!-- 下面一句是存放歌词的标签        -->
<textarea style="visibility:hidden;" id='lrcContent0'></textarea>

<script type="text/javascript">
var lrcPlayer2=function(){return this.init.apply(this,arguments)};lrcPlayer2.prototype={constructor:lrcPlayer2,init:function(opts){this.lyricTxtObj=document.getElementById(opts.lrcTxtID);lyricTxt=this.lyricTxtObj.innerHTML;this.showLrcObj=document.getElementById(opts.lrcShowID);this.gclines=new Array();for(k=0;k<2;k++){this.gclines=document.createElement('div');this.gclines.className='lyricDisp';this.showLrcObj.appendChild(this.gclines)}this.audioCtrl=document.getElementById(opts.audioCtrl);this.handleLrc(lyricTxt);this.genPlayer(opts.audioURL)},handleLrc:function(lyricTxt){this.lrcVec=new Array();var lyriclist=lyricTxt.split(/\r|\n|\r\n/);for(n=0;n<lyriclist.length;n++){chkTime=lyriclist.match(/\[\d{1,2}:\d{2}.\d{1,3}\]|\[\d{1,2}:\d{2}\]/g);if(chkTime){tIdx=lyriclist.lastIndexOf(']');if(tIdx>0)lrcTxt=lyriclist.substr(tIdx+1);for(m=0;m<chkTime.length;m++){ta=chkTime.substr(1).replace(']','').split(/:/);_t=(+ta)*60+(+ta);if(this.lrcVec.length==0&&_t!=0){this.lrcVec.push()}this.lrcVec.push()}}}this.lrcVec.sort(function(a,b){return(a-b)})},showLrc:function(durTime){this.gclines.innerHTML=this.gclines.dataset.lrc=this.lrcVec.length>0?this.lrcVec:"\u3000";this.gclines.style.setProperty('--aniName','bgMove'+(this.idx%2));this.gclines.style.setProperty('--durTime',durTime+'ms');this.gclines.style.setProperty('--aniPlayState','running')},genPlayer:function(mUrl){this.mObj=document.createElement("audio");this.mObj.loop=false;this.mObj.muted=false;this.mObj.src=mUrl;this.showLrcObj.appendChild(this.mObj);this.idx=0;var that=this;this.mObj.addEventListener('ended',function(){that.idx=0});this.mObj.addEventListener('playing',function(){that.audioCtrl.style.animationPlayState='running';that.gclines.style.setProperty('--aniPlayState','running')});this.mObj.addEventListener('pause',function(){that.audioCtrl.style.animationPlayState='paused';that.gclines.style.setProperty('--aniPlayState','paused')});this.mObj.addEventListener('error',function(){console.log("audio wrong, remove play start event");that.showLrcObj.style.display='none';that.showLrcObj.removeChild(this)});this.mObj.addEventListener('timeupdate',function(){if(this.currentTime>that.lrcVec){if(that.idx<(that.lrcVec.length-1)){that.showLrc((that.lrcVec-that.lrcVec)*950)}else{that.showLrc((this.duration-that.lrcVec)*950)}if(that.idx+1==that.lrcVec.length){that.gclines.innerHTML=""}else{that.gclines.innerHTML=that.lrcVec}that.idx++}});this.audioCtrl.onclick=function(){if(that.mObj.paused){that.mObj.play()}else{that.mObj.pause()}};try{this.mObj.play()}catch(err){console.log(err.message)}},stopMusic:function(){this.mObj.pause();this.mObj.controls=false;},setAudioUrl:function(mUrl){this.mObj.src=mUrl},isMusicEnd:function(){return this.mObj.ended},reStart:function(){this.idx=0;this.mObj.play()}}
</script>

<script type="text/javascript">
(function()        {
songParas = [
["《昨夜星辰》 - 新时代乐队","","https://music.163.com/song/media/outer/url?id=2020775890.mp3",`正在播放:《昨夜星辰》`],
["《外婆的澎湖湾》 - 新时代乐队","","https://music.163.com/song/media/outer/url?id=2020775596.mp3",`正在播放:《外婆的澎湖湾》`],
["《浪子的心情》 - 新时代乐队","","https://music.163.com/song/media/outer/url?id=2020775589.mp3",`正在播放:《浪子的心情》`],
["《绿岛小夜曲》 - 新时代乐队","","https://music.163.com/song/media/outer/url?id=2020775591.mp3",`正在播放:《绿岛小夜曲》`],
["《快乐老家》 - 新时代乐队","","https://music.163.com/song/media/outer/url?id=2020775670.mp3",`正在播放:《快乐老家》`],
["《阿里山的姑娘》 - 新时代乐队","","https://music.163.com/song/media/outer/url?id=2020775595.mp3",`正在播放:《阿里山的姑娘》`],
["《一剪梅》 - 新时代乐队","","https://music.163.com/song/media/outer/url?id=2020776868.mp3",`正在播放:《一剪梅》`],
["《走进新时代》 - 新时代乐队","","https://music.163.com/song/media/outer/url?id=2020776873.mp3",`正在播放:《走进新时代》`],
["《小城故事》 - 新时代乐队","","https://music.163.com/song/media/outer/url?id=2020776866.mp3",`正在播放:《小城故事》`],
["《爱江山更爱美人》 - 新时代乐队","","https://music.163.com/song/media/outer/url?id=2020767129.mp3",`正在播放:《爱江山更爱美人》`],
["《常回家看看》 - 新时代乐队","","https://music.163.com/song/media/outer/url?id=2020775883.mp3",`正在播放:《常回家看看》`],
["《甜蜜蜜》 - 新时代乐队","","https://music.163.com/song/media/outer/url?id=2020776823.mp3",`正在播放:《甜蜜蜜》`],
["《好日子》 - 新时代乐队","","https://music.163.com/song/media/outer/url?id=2020775888.mp3",`正在播放:《好日子》`],
["《涛声依旧》 - 新时代乐队","","https://music.163.com/song/media/outer/url?id=2020775892.mp3",`正在播放:《涛声依旧》`],
["《往事只能回味》 - 新时代乐队","","https://music.163.com/song/media/outer/url?id=2020776825.mp3",`正在播放:《往事只能回味》`],
];

var opts = {
        lrcTxtID:'lrcContent0',
        lrcShowID:"LRCShow",
        audioURL:"https://www.qqmc.com/up/kwlink.php?id=60010502&.mp3",
        audioCtrl:'rdisk'
};
var km = null;
var idx = 0;
let songList = document.getElementById('songList');

        for(n = 0; n < songParas.length; n++)        {
                let item = document.createElement('li');
                item.id = 's'+n;
                item.innerHTML = songParas;
               
                songList.appendChild(item);
        }

        items = songList.getElementsByTagName('li');
       
        for(n = 0 ; n < items.length; n++)        {
                items.onclick=function()        {
                        idx = parseInt(this.id.substr(1));
                        document.getElementById('ground3rd').style.backgroundImage = `url(${songParas})`;
                        if(km){
                                km.stopMusic();
                                //km = null;
                                km.handleLrc(songParas);
                                km.setAudioUrl(songParas);
                                km.reStart();
                        }
                        else        {
                                document.getElementById(opts.lrcTxtID).innerHTML = songParas;
                                opts.audioURL=songParas;
                                km = new lrcPlayer2(opts);
                        }
                }
        }
        items.click();

setInterval(() => {
        if(km)        {
                items = songList.getElementsByTagName('li');
                if(km.isMusicEnd())        {
                        idx++; idx %= items.length;
                        items.click();
                }
        }
        //setTimeout(isSongEnded, 500);
}, 500);

})();
</script>




</TD></TR></TBODY></TABLE>

<DIV style="HEIGHT: 100px">

冬天的雨 发表于 2023-3-10 22:36

怎么多音乐,亦是金制作辛苦了{:4_187:}

冬天的雨 发表于 2023-3-10 22:36

怎么多音乐,亦是金制作辛苦了{:4_187:}

冬天的雨 发表于 2023-3-10 22:37

复读机了, 今天感觉好卡

红影 发表于 2023-3-10 22:43

也是烟花效果呢,做在标题上好漂亮。这么多好曲子。欣赏亦是金老师好帖{:4_187:}

亦是金 发表于 2023-3-10 22:45

谢谢绿叶清舟提供代码,{:4_187:}我也学习放一阵烟花!

冬天的雨 发表于 2023-3-10 22:46

仔细看了代码,制作非常的漂亮,背景图片点击会转换效果,加了特效{:4_187:}

亦是金 发表于 2023-3-10 22:57

冬天的雨 发表于 2023-3-10 22:37
复读机了, 今天感觉好卡

歌曲播放不流畅?我用网易云的歌曲的。{:4_203:}

亦是金 发表于 2023-3-10 22:57

本帖最后由 亦是金 于 2023-3-10 23:10 编辑

冬天的雨 发表于 2023-3-10 22:46
仔细看了代码,制作非常的漂亮,背景图片点击会转换效果,加了特效
谢谢加精点评!{:4_191:}

亦是金 发表于 2023-3-10 22:58

红影 发表于 2023-3-10 22:43
也是烟花效果呢,做在标题上好漂亮。这么多好曲子。欣赏亦是金老师好帖

谢谢红影欣赏点赞!问好!{:4_187:}

冬天的雨 发表于 2023-3-10 23:01

亦是金 发表于 2023-3-10 22:57
歌曲播放不流畅?我用网易云的歌曲的。

不是音乐,是我自己卡了

庶民 发表于 2023-3-11 05:31

制作精美,创意无限。

亦是金 发表于 2023-3-11 09:05

庶民 发表于 2023-3-11 05:31
制作精美,创意无限。

问好庶民朋友!谢谢欣赏点赞!{:4_191:}

红影 发表于 2023-3-11 14:43

亦是金 发表于 2023-3-10 22:58
谢谢红影欣赏点赞!问好!

再赏亦是金老师精美的制作{:4_199:}

小辣椒 发表于 2023-3-13 23:16

这个就是相当于专辑分享,这么多音乐{:4_199:}

亦是金 发表于 2023-3-14 12:35

问好小辣椒!祝你欣赏愉快!{:4_187:}
页: [1]
查看完整版本: 《金手指双电子琴1~3》选听一 -新时代乐队