花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 58|回复: 27

range进度条播放器+LRC歌词同步教程(四)

[复制链接]
  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

    发表于 2024-2-4 09:00 | 显示全部楼层 |阅读模式

    请马上登录,朋友们都在花潮里等着你哦:)

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    本帖最后由 马黑黑 于 2024-2-4 09:02 编辑

    在第三讲,《range进度条播放器+LRC歌词同步教程(三)》,range播放器和歌词同步已经集成在一起,可以正常工作,只是处理 lrcKey 变量值的 calcKey() 函数尚未完善,本节专门处理这个问题。

    全局变量 lrcKey 是处理播放哪一句歌词的关键索引,它是音频控件 timeupdate 监听事件触发歌词显示与模拟同步的依据,同时,当用户手动调整播放进度或循环播放机制下的重新播放,都得重新确立其值的变量,所以 calcKey() 函数必须准确运算出这个 lrcKey 变量值。看如下已经编写好的函数代码,随后我们再慢慢地去理解:

    /*
    	计算 lrcKey 变量值的函数 :seeked 监听事件调用;手动调整播放位置或
    	重新播放产生的播放位置变化,lrcKey 应跟随变化,需要精准计算
     */
    
    var calcKey = () => {
    	for (var j = 0; j > geci.length; j++) {
    		if (aud.currentTime <= geci[j][0]) {
    			lrcKey = j - 1;
    			break;
    		}
    	}
    	if (lrcKey < 0) lrcKey = 0;
    	if (lrcKey > geci.length - 1) lrcKey = geci.length - 1;
    	let time = geci[lrcKey][2] - (aud.currentTime - geci[lrcKey][0]);
    	showLrc(time);
    	pa.style.setProperty('--state', aud.paused ? 'paused' : 'running');
    };
    

    for循环语句:从头到尾循环 geci 歌词数组,用一个if条件语句比对当下的用户已经改变了的播放位置和歌词数组记录的起唱时间,如果播放器的播放位置时间小于等于歌词的起唱时间,则获得 lrcKey 的值为第 j - 1 句,然后退出for循环(break)。为什么是第 j - 1 句呢?这与我们的播放器工作机制以及这里在循环语句中所设定的条件有关,让我们看下面的演示分析:

    2.0   8.5   35.2   49.6   ...   (歌词起唱时间)
        |                           (拖曳进度条到)    
    0     1     2      3            (自增变量 j 的值)
    
    /* 用户拖曳进度条滑块到第一句歌词和第二句歌词之间,这时,根据for循环语句内设定的比对条件,8.5这个起唱时间符合条件,但它指向第二句歌词,而用户调节的进度应在第一句歌词的时间区间,故j要减去1才符合用户调节进度的意愿,即 j-1 才是对应需要的歌词的数组下标。这里,8.5是作为自左往右的判断边界,预期的时间区间在它的前边。 */
    

    如此,如果 j 在 0 的时候条件就成立,就会存在 lrcKey 小于 0 的情况,故后面又用一个if语句进行判断,令 lrcKey 等于 0,第一个if除了处理手动调节到第一句歌词时间区间的情况,也刚好可以应对重新播放的情形;手动调节进度调到最后一句歌词时间区间,lrcKey 会大于歌词总数减去1(j从0开始),再用一个if语句做判断,若此,则令其等于歌词总数减1。这个可能不是很好理解,慢慢体会吧。

    计算好 lrcKey 之后,再计算正在播放的歌词的剩余时间作为传参,然后调用显示lrc歌词函数 showLrc(time),同时根据播放器暂停或播放状态设置 CSS变量 --state 为停止还是运行。剩余时间的计算,是那当下歌词的唱时减去播放位置时间和上一句歌词的差。

    calcKey() 函数应应用在播放控件的 onseeked 事件里,换言之,当用户手动调整了播放进度或循环播放机制下的重新播放,都应运行 calcKey() 函数,以便保证歌词同步模拟机制的正常运行。

    最后,整理完整代码如下:

    <style>
    #papa {
    	margin: auto;
    	width: 800px;
    	height: 360px;
    	background: linear-gradient(tan,gray);
    	box-shadow: 3px 3px 20px #000;
    	position: relative;
    	display: grid;
    	place-items: center;
    }
    #lrc {
    	position: absolute;
    	top: 10px;
    	font: bold 2.4em sans-serif;
    	color: lightblue;
    	text-shadow: 1px 1px 1px rgba(0,0,0,.45);
    	--ani: lrcGo1;
    	--duration: 1s;
    }
    #lrc::before {
    	position: absolute;
    	content: attr(data-lrc);
    	width: 100%;
    	height: 100%;
    	color: transparent;
    	background: linear-gradient(rgba(250,0,0,.7),rgba(0,0,180,.8));
    	background-clip: text;
    	-webkit-background-clip: text;
    	clip-path: inset(0 100% 0 0);
    	animation: var(--ani) var(--duration) linear forwards var(--state);
    	border-bottom: 1px solid navy;
    }
    #mplayer {
    	position: absolute;
    	bottom: 10px;
    	text-align: center;
    }
    #mplayer::before {
    	position: absolute;
    	content: attr(data-tt);
    	left: 0;
    	bottom: 25px;
    	width: 100%;
    	text-align-last: justify;
    }
    #mprog {
    	width: 240px;
    	accent-color: darkgreen;
    	outline: none;
    	cursor: pointer;
    }
    #btnplay {
    	width: 80px;
    	height: 80px;
    	cursor: pointer;
    	animation: rotating 6s infinite linear var(--state);
    }
    @keyframes rotating { to { transform: rotate(360deg); } }
    @keyframes lrcGo0 { to { clip-path: inset(0 0 0 0); } }
    @keyframes lrcGo1 { to { clip-path: inset(0 0 0 0); } }
    </style>
    
    <div id="papa">
    	<audio id="aud" src="https://music.163.com/song/media/outer/url?id=212524" autoplay loop></audio>
    	<div id="mplayer" data-tt="0:00 0:00">
    		<img id="btnplay" src="https://638183.freep.cn/638183/small/002_133507167677724892.png" title="播放/暂停" alt="" /><br>
    		<input id="mprog" type="range" min="0" max="100" step="any" value="0" title="调节进度" />
    	</div>
    	<div id="lrc" data-lrc="HuaChao LRC">HuaChao LRC</div>
    </div>
    
    <script>
    
    var mseek = false, aniIdx = 0, lrcKey = 0;
    
    var toMin = (val) => {
    	if(!val) return '0:00';
    	var min = parseInt(val / 60), sec = Math.floor(val) % 60;
    	if(sec < 10) sec = '0' + sec;
    	return min + ':' + sec;
    };
    
    var mState = () => aud.paused ?
    	(papa.style.setProperty('--state', 'paused'), btnplay.title = '点击播放') :
    	(papa.style.setProperty('--state', 'running'), btnplay.title = '点击暂停');
    
    var showLrc = (time) => {
    	lrc.textContent = lrc.dataset.lrc = geci[lrcKey][1].replace(/<br>/, '\n');
    	lrc.style.setProperty('--ani', ['lrcGo0','lrcGo1'][aniIdx]);
    	lrc.style.setProperty('--duration', time + 's');
    	pa.style.setProperty('--state', 'running');
    	aniIdx = aniIdx === 0 ? 1 : 0;
    	lrcKey ++;
    };
    
    var calcKey = () => {
    	for (var j = 0; j < geci.length; j++) {
    		if (aud.currentTime <= geci[j][0]) {
    			lrcKey = j - 1;
    			break;
    		}
    	}
    	if (lrcKey < 0) lrcKey = 0;
    	if (lrcKey > geci.length - 1) lrcKey = geci.length - 1;
    	let time = geci[lrcKey][2] - (aud.currentTime - geci[lrcKey][0]);
    	showLrc(time);
    	pa.style.setProperty('--state', aud.paused ? 'paused' : 'running');
    };
    
    aud.addEventListener('pause', () => mState());
    aud.addEventListener('playing', () => mState());
    aud.addEventListener('seeked', () => calcKey());
    
    aud.addEventListener('timeupdate', () => {
    	if (!mseek) mprog.value = aud.currentTime / aud.duration * mprog.max;
    	mplayer.dataset.tt = toMin(aud.currentTime) + ' ' + toMin(aud.duration);
    	for(var j = 0; j < geci.length; j ++) {
    		if (aud.currentTime >= geci[j][0]) {
    			if (j === lrcKey ) showLrc(geci[j][2]);
    		}
    	}
    });
    
    mprog.onmousedown = () => mseek = true;
    mprog.onmouseup = () => mseek = false;
    mprog.onchange = () => aud.currentTime = aud.currentTime = mprog.value / mprog.max * aud.duration;
    
    btnplay.onclick = () => aud.paused ? aud.play() : aud.pause();
    
    var geci = [ [2,"陈瑞 - 雨巷",4], [8,'诗 :戴望舒',6], [35.01,"撑着油纸伞",2.4], [38.31,"独自",1.9], [42.64,"彷徨在悠长 悠长",5.1], [49.9,"又寂寥的雨巷 我希望逢着",6.3], [57.11,"一个丁香一样地结着",3.1], [60.17,"愁怨的姑娘 撑着油纸伞",7.2], [68.36,"独自",2.0], [72.68,"彷徨在悠长 悠长",5.1], [79.94,"又寂寥的雨巷 我希望逢着",6.4], [87.23,"一个丁香一样地结着",2.8], [90.14,"愁怨的姑娘",3.2], [94.32,"她是有 丁香一样的颜色",5.4], [101.03,"丁香一样的芬芳 丁香一样的忧愁",6.5], [108.93,"在雨中哀怨 哀怨又彷徨",6.4], [116.95,"她彷徨在这寂寥的雨巷",6.5], [154.9,"撑着油纸伞",2.2], [158.37,"独自",1.8], [162.6,"彷徨在悠长 悠长",5.2], [169.45,"又寂寥的雨巷 我希望逢着",6.9], [177.04,"一个丁香一样地结着",3.0], [180.11,"愁怨的姑娘",3.0], [184.26,"她是有 丁香一样的颜色",5.8], [191.16,"丁香一样的芬芳 丁香一样的忧愁",7.2], [198.9,"在雨中哀怨 哀怨又彷徨",6.5], [206.94,"她彷徨在这寂寥的雨巷",6.2], [214.11,"她是有 丁香一样的颜色",5.8], [221.05,"丁香一样的芬芳 丁香一样的忧愁",7.0], [228.8,"在雨中哀怨 哀怨又彷徨",6.8], [236.59,"她彷徨在这寂寥的雨巷",7.7] ];
    
    </script>
    

    除了歌词,上述代码尽可能分行写了,这样更便于阅读。实际投入使用时,建议将CSS压缩(一个选择器一行)、将不再更改的JS函数压缩(每个函数一行)。

    下一讲将是本教程的完结篇,内容的难度要比这一讲和上一讲轻松:可能是一些细小的整合优化之类的内容,还有对键盘调节进度的响应处理。

    评分

    参与人数 1威望 +50 金钱 +100 经验 +50 收起 理由
    红影 + 50 + 100 + 50 赞一个!

    查看全部评分

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-2-4 10:56 | 显示全部楼层
    黑黑一点点地将歌词同步的设置讲解得这么清楚,太赞了
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-2-4 11:05 | 显示全部楼层
    运用这些代码,可以保证歌词和音乐同步,还能响应手动调节。“还有对键盘调节进度的响应处理。”这个也可以啊
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-2-4 11:06 | 显示全部楼层
    分行写的好,看得更清楚。一直喜欢分行的,虽然合起来更不占地方
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-2-4 11:21 | 显示全部楼层
    红影 发表于 2024-2-4 11:06
    分行写的好,看得更清楚。一直喜欢分行的,虽然合起来更不占地方

    写的时候分行,要发布了,可以压缩
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-2-4 11:21 | 显示全部楼层
    红影 发表于 2024-2-4 10:56
    黑黑一点点地将歌词同步的设置讲解得这么清楚,太赞了

    差不多了,明天发终结篇
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-2-4 11:22 | 显示全部楼层
    红影 发表于 2024-2-4 11:05
    运用这些代码,可以保证歌词和音乐同步,还能响应手动调节。“还有对键盘调节进度的响应处理。”这个也可以 ...

    JS本身就具备基于键盘键位的编程能力,这个必须得有
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-2-4 20:28 | 显示全部楼层
    马黑黑 发表于 2024-2-4 11:21
    写的时候分行,要发布了,可以压缩

    是的,这样至少自己是明白的
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-2-4 20:29 | 显示全部楼层
    马黑黑 发表于 2024-2-4 11:21
    差不多了,明天发终结篇

    这个系列讲座太好,黑黑辛苦了
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-2-4 20:29 | 显示全部楼层
    马黑黑 发表于 2024-2-4 11:22
    JS本身就具备基于键盘键位的编程能力,这个必须得有

    这个还从来没想到过呢
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-2-4 21:35 | 显示全部楼层
    红影 发表于 2024-2-4 20:29
    这个还从来没想到过呢

    不过由于标准正在重设中,我刚才在写最后一讲的时候才发现,过去的知识体系跟不上变化了。我得调整一下。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-2-4 21:36 | 显示全部楼层
    红影 发表于 2024-2-4 20:29
    这个系列讲座太好,黑黑辛苦了

    我的期望,至少吧,能让大家懂得原理,懂原理之后,对我的设计能够有能力找到出错的地方。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-2-4 21:36 | 显示全部楼层
    红影 发表于 2024-2-4 20:28
    是的,这样至少自己是明白的

    其实只要代码量不太大,都分行问题也不大
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-2-4 22:24 | 显示全部楼层
    马黑黑 发表于 2024-2-4 21:35
    不过由于标准正在重设中,我刚才在写最后一讲的时候才发现,过去的知识体系跟不上变化了。我得调整一下。

    对这个标准完全不知道,只能跟在黑黑后面学习了
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-2-4 22:26 | 显示全部楼层
    马黑黑 发表于 2024-2-4 21:36
    我的期望,至少吧,能让大家懂得原理,懂原理之后,对我的设计能够有能力找到出错的地方。

    学习原理是必须的,你的设计很好,很好出错啊,你那么仔细的人
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-2-4 22:26 | 显示全部楼层
    马黑黑 发表于 2024-2-4 21:36
    其实只要代码量不太大,都分行问题也不大

    所以,最好是分行的。当然歌词除外,那个不用分行
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-2-4 23:21 | 显示全部楼层
    红影 发表于 2024-2-4 22:26
    所以,最好是分行的。当然歌词除外,那个不用分行

    开始时还是要分的,便于修改
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-2-4 23:22 | 显示全部楼层
    红影 发表于 2024-2-4 22:26
    学习原理是必须的,你的设计很好,很好出错啊,你那么仔细的人

    出错在所难免,还没听说有谁能写出代码不会出错的应用
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-2-5 11:08 | 显示全部楼层
    马黑黑 发表于 2024-2-4 23:21
    开始时还是要分的,便于修改

    嗯嗯,比如歌词需要加入演唱者等等的信息。
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-2-5 11:09 | 显示全部楼层
    马黑黑 发表于 2024-2-4 23:22
    出错在所难免,还没听说有谁能写出代码不会出错的应用

    反正黑黑在花潮人的心里就是代码神人
     
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2025-12-15 12:30 , Processed in 0.121539 second(s), 29 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表