逆流成河 (Live合唱版) TO:花飞飞
<style>#papa {
margin: 140px 0 20px calc(50% - 731px);auto;box-shadow: 2px 2px 10px #222;display: grid;place-items: center;border-radius: 32px;
width: 1300px;
height: 699px;
box-shadow: 2px 2px 8px #222;
background:url('https://xlaj.cn/upfile/2025/04/08/GIF.jpg') no-repeat center/cover;
overflow: hidden;
z-index: 1;
position: relative;
--state: paused;
}
#ppn{ position: absolute;width: 100%; height: 100%; opacity:1; z-index:1;
background:url('https://xlaj.cn/upfile/2025/04/08/GIF.gif') no-repeat 0% 0%/1300px 699px;
}
#lrcDiv {left: 300px; top: 90px;
--hlcolor: GhostWhite;
position: absolute;
display: flex;
flex-direction: column;
gap: 6px;z-index: 3;
width: 650px;
height: 150px;
overflow: hidden;
font: normal 16px/24px 'Microsoft YaHei', sans-serif;
text-align: center;
color: CadetBlue;
background: none;
}
#lrcDiv > p {
margin: 0;
padding: 0;
transition: .95s;
}
#lrcDiv > p.hlight {
color: var(--hlcolor);
font-size: 28px;
font-weight: bold;
}
#mplayer {
--track: silver;
--prog: GhostWhite;
--percent: 0;
display: flex;
left: 350px; top: 600px;
gap: 15px;z-index: 3;
flex-direction: column;
align-items: center;
width: 550px;
background: none;
color: white;
padding: 15px;
position: absolute;
}
#btns-area {
width: 100%;
display: flex;
justify-content: space-between;
margin-top: 15px;
}
#btn-play {z-index:3;
width: 20px;
height: 20px;
cursor: pointer;
position: relative;
}
#btn-play:hover::after {
opacity: .7;
filter:alpha(opacity=50);;
}
#btn-play::after {
position: absolute;
content:'';
width: 100%;
height: 100%;
background: var(--prog);
clip-path: var(--clip);
}
#progDiv {
width: 100%;
height: 10px;
background: linear-gradient(to right, var(--prog) var(--percent), var(--track) var(--percent), var(--track) 0) no-repeat 0 50% / 100% 2px;
cursor: pointer;z-index: 1;
}
.play {z-index:3;
--clip: polygon(10% 0, 100% 50%, 10% 100%);
}
.pause {z-index:3;
--clip: polygon(40% 0, 40% 100%, 20% 100%, 20% 0, 80% 0, 80% 100%, 60% 100%, 60% 0);
}
#syz {position: absolute;left: 62%; top:5%; z-index: 2; opacity: .5;
}
.clock_wrapper {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
width: 50%;z-index:2;
max-height: 50%x;
background:auto;
margin: 0 auto;
}
</style>
<div id="papa">
<div id="lrcDiv"></div>
<div id="mplayer">
<div id="btns-area">
<div id="time1">00:00</div>
<div id="btn-play" class="pause"></div>
<div id="time2">00:00</div>
</div>
<div id="progDiv"></div>
</div><divid="syz">
<div class="clock_wrapper">
<canvas id="clock" width="250px" height="250px"></canvas>
</div></div>
<div id="ppn"></div><div id="ppcn" ></div>
<audio src="https://upfile.mp3.wf/view.php/09eac30b3434f7797fb3e6ea49f9394d.mp3" autoplay loop></audio>
</div>
<script>
const mplayer = document.querySelector('#mplayer');
const aud = document.querySelector('audio');
const lrcDiv = document.querySelector('#lrcDiv');
const progDiv = document.querySelector('#progDiv');
const btnPlay = document.querySelector('#btn-play');
const vids = document.querySelectorAll('video');
let lrcAr = [], isFScreen = false, fsTimer;
const getLrcAr = (text) => {
const ar = text.trim().split(/[\r\n]+/g);
var reg = /\[(\d+)[.:](\d+)[.:](\d+)\](.*)/;
ar.forEach(item => {
let result = item.match(reg);
let tmsg = parseInt(result) * 60 + parseInt(result) + parseInt(result) / 1000;
lrcAr.push(.trim()]);
let p = document.createElement('p');
p.innerText = result.trim();
lrcDiv.appendChild(p);
});
lrcAr.sort((a, b) => a - b);
};
const updatePlayerDatas = () => {
const percent = (aud.currentTime / aud.duration) * 100;
time1.innerText = formatTime(aud.currentTime);
time2.innerText = formatTime(aud.duration);
mplayer.style.setProperty('--percent', percent + '%');
for (let i = 0; i < lrcAr.length; i ++) {
const lrc = {time: lrcAr, text: lrcAr};
const next = i < lrcAr.length - 1 ? lrcAr : null;
const p = lrcDiv.children;
if (aud.currentTime >= lrc.time && (!next || aud.currentTime < next)) {
p.classList.add('hlight');
lrcDiv.scroll({left: 0, top: p.offsetTop - lrcDiv.offsetHeight / 2 + 12, behavior: 'smooth'});
} else {
p.classList.remove('hlight');
}
}
};
const formatTime = (seconds) => {
const mins = Math.floor(seconds / 60);
const secs = Math.floor(seconds % 60);
return `${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
};
const mState = () => {
if (aud.paused) {
btnPlay.className = 'play';
btnPlay.title = '点击播放';
} else {
btnPlay.className = 'pause';
btnPlay.title = '点击暂停';
}
};
progDiv.addEventListener('click', (e) => aud.currentTime = e.offsetX / progDiv.offsetWidth * aud.duration);
progDiv.addEventListener('mousemove', (e) => progDiv.title = formatTime(e.offsetX / progDiv.offsetWidth * aud.duration));
const lrc = `
逆流成河 (Live合唱版)
歌手:金南玲
斑驳的夜色在说什么
谁能告诉我如何选择
每当我想起分离时刻
悲伤就逆流成河
你给的温暖属于谁呢
谁又会在乎我是谁呢
每当我想起你的选择
悲伤就逆流成河
歌词同步编辑:小辣椒
失去了你也是种获得
一个人孤单未尝不可
每当我深夜辗转反侧
悲伤就逆流成河
离开你也是一种快乐
没人说一定非爱不可
想问你双手是否温热
悲伤就逆流成河
我想是因为我太天真
难过是因为我太认真
每当我想起你的眼神
悲伤就逆流成河
谢谢欣赏
`;
getLrcAr(lrc);
aud.addEventListener('timeupdate', updatePlayerDatas);
aud.addEventListener('playing', mState);
aud.addEventListener('pause', mState);
btnPlay.addEventListener('click', () => aud.paused ?(aud.play(),ppcn.style.opacity= '0',ppn.style.opacity = '1',vid1.play()): (aud.pause(),ppcn.style.opacity= '1',ppn.style.opacity = '0',vid1.pause()));
</script>
@花飞飞
飞飞不知道你这个可以不可以看见,图片是国内服务器上传的,音乐是国外服务器,你试一下可以听到音乐吗
不行我再国内服务器上传,也是测试一下你那些会看不见 这个估计应该看得见吧 @走过岁月
岁月用了你的 旧日时光缓缓流 画面效果,加了二个效果进去,大提琴纯音没有用,看了有小河就用了这首 逆流成河 亲爱的在水流里还加了个舞动的身影,这效果真神奇{:4_187:} 水里还有跳起的小鱼。这两个效果一下,让原视频更美了。
这个还是一键全控的呢。欣赏亲爱的好帖,飞飞收礼开心{:4_199:} 可以听到音乐,当然也是可以看见画面,动图漂亮 鉴定完毕{:4_173:} 背景瀑布里面加了一个帅哥进去,美女在小桥上心惊肉跳的{:4_170:} 瀑布中的人制作的挺有意思的。 瀑布中还有人在动,这构思独特。可知这个人水性特别好。{:4_173:} 最喜欢这一键控制了。 欣赏了 感谢老师分享 小辣椒 发表于 2025-4-8 21:30
@花飞飞
飞飞不知道你这个可以不可以看见,图片是国内服务器上传的,音乐是国外服务器,你试一下可以听 ...
太棒了,这个可以看得到,好美的作品啊,画面美,音乐美。。。效果完美 这个音质震撼到我了,小辣椒不愧是玩音乐的,这音乐听着完全不一样啊,好好听的版本。。。{:4_187:}真是美的享受。 画面色彩清新幽静,还设计了个跳舞的人在瀑布里面,真是惊喜又惊奇,好乐啊。。
小辣椒这思路太绝了。。 非常喜欢的作品,有技术有质量。感谢小辣椒~~这里真是个非常好的地方。。{:4_187:} 红影 发表于 2025-4-8 21:53
亲爱的在水流里还加了个舞动的身影,这效果真神奇
亲爱的,加了个人物特效进去,想不出加什么好,只能看画面情节了{:4_189:} 红影 发表于 2025-4-8 21:55
水里还有跳起的小鱼。这两个效果一下,让原视频更美了。
这个还是一键全控的呢。欣赏亲爱的好帖,飞飞收礼 ...
这个小鱼跳跃效果给小河增加一点画面感,只是很喜欢岁月这个背景图的意境 冬天的雨 发表于 2025-4-8 23:20
可以听到音乐,当然也是可以看见画面,动图漂亮 鉴定完毕
冬雨晚上好,这个你应该可以看见和听到的{:4_173:}