00:00
刚才做的都是都是这个闲死的假歌词啊,但是感觉很不爽对吧。是不是这个假歌词啊,那咱们呢,可以解写个工具类,写工具类的话呢,然后我们就再去什么去解析好吧,解析歌词,解歌词也就是稍微难一点,但是呢,咱们必须啃,把它这个老骨头给啃掉是吧。好,那就LRC的一个这个求就歌词的一个工具,然后呢,我们的工具主要用来解析歌词,解析歌词对吧。好,那解析歌词肯定要读个文件过来吧,好,所以我们写一个这个public,然后呢。在这地方里面呢,Well,然后read啊,我们的LYC啊的一个five是吧,从一个什么放进来吧,好,那这个时候我们就要看了if l。
01:09
C如果等云浪是就是不是就是我们就就就这明不存在啊,还有如果这个们如如果如等于那是直接进来了,如果不能妙如果并且不存在。那不存在的话,那是也,这里面就相当于是什么。歌词什么不存在吧?歌词文件不存在。歌词文件不存在吧,那否则呢,就什么歌词文件什么存在,那存在什么解析歌词啊,那解析放到哪里去啊,放到一个什么啊列表中呗,之前我们用的是假的呀,现在咱们玩真的对不对,如果不存在,把它置为多少。
02:01
对这那如果存在呢呗,对不对,好解西面对吧,好,那也就说同学们,我们就相当于要做这样的一个事情了,指这过后第一步其实就是解析歌词,第二步解析好过后,其解析最难啊,这解析最难,那第二步就是歌词排序,第三步计算。美句歌词高亮时间,大家看看歌词解析歌词解析。这个解析歌词啊,解析歌解析歌词是最难的歌词排序,为什么要排序来计算呢?就比如说有些这种歌词,你看这是很规律的,假如说我们计算这一句,就等于他来减掉它,因为他们是按先按先顺序吧,但是有些歌词不规范。
03:06
比如说这个词。你看在这个时刻,他唱这一句,这个时候唱句这个规范吗。是不规范啊,那这个时候你就能你能够直接用上一句减掉这一句吗。不能,所以我们需要什么,需要先排序吧,然后再去去说美句吧,明白了吗?明白吧,因为我们计算这一句,它是等于上一句讲这句,如果你没排序好,是不是时间是错的,明白吧,那这个过程中解析歌词是最难的,那么在解析之前,其实我们还读文件吧,读取歌词文件,而且是一行一行的,什么读取读取,注意我们在这个歌词里面解析的话,是我们一行一行去解析啊,你不可能解析一个字,你怎么解析啊,对不对,去一行一行的那一行一行的读,我们这时候呢,有一个。
04:10
工具叫B法什么一个印象吧,对不对,好这样来读,然后六一个八法,对的,然后他这里面用能用的参数有哪些,是也是个绿的啊。好,录一个input实际率的,好,这里面呢,它有两个参数,一个是编码吧,一个是流,好编码的话,我们就用GBKJBK,然后这里面呢,它就是流,那就是file input string吧。你们C也流啊,好,那把它这里面录一下,好这里面呢,大家好,就是一个把一个范围存就可以了,好,那这最终会报错吧,选择它TRY住o yeah搞定对不对?好,那接下来我们要读一行的话,那这个时候我们要写一个时间类型,一行就把它记录下来吧,那这个时候呢,做一个什么外循环一行它就等于。
05:22
对吧,好去绿的一行吧,那这一行的话,它是它最终要这个们不等于多少啊。这个得到的值不等于多少,那吧。对不对,好。诶,好,反复一下。好,那也就是说赋值读过后,赋值给他过后,然后我们的这一行,它最终。应该是写在哪里啊。诶,你看啊,那也就是说读韩国他复每读一个复制给他,那也就是说。
06:06
加一个什么。我看看啊复字,嗯,我想想啊,这个地方一读一行的话啊,那里是吗。哦哦,这是哦,我知道这个报错是吧。关掉。这个。对吧,好。个的啊,那么这个地方里面应该是先一个什么值出值是吧。
07:04
啊,也不是对的,稍等啊,然后他首先在这个地方复制过后呢,然后让这个们,嗯,不等于就把它对,要把它括起来吧,括起来是可以了吧,然后再不等于什么,那是不是就可以了,就这样啊。就这两回事吧,对不对,就这样。那也就是说我们每读一次复制给它,然后再用这个判断不等于空是吧,如果读读读读读读读读读到这了,是不是空了,所以不不搭理了,你都为空了,是不是就不进来了?好,接下来那读过后得到一行,这个时候假如说第一行就得了,他这个时候的负值应该是随便,那可能就是。
08:02
这个吧,好,那第一行,那这个时候的话,我就要假如第一次得到它,是不是就像我要把这去解析啊,所以我就说重进去啊,就是解,就是我解析的时候,我也返了一个东西给他,就证明我这句还是有的对不对,要才给他才有下一解析下一句啊,然后就是看C解析,这是解析的意思吧,LRC好,注意要把这一句存进去吧。对不对,好,这个就是要解析什么一歌词,这个方法就是解析个词,解析过后返回来,好,那有过后不要忘了把什么,你看close啊好,然后这个方法有了吗?没有。是没有问题啊,好,再看这是解析歌词吧,好这么题吧,OK,然后有了过后在我们这个地方里面的话嘞,就再去解析歌词,那我们是要用一个非常特殊的歌词来做一个,把这个特殊的歌词就很复杂的歌词解析就简单的就更简单啊好,这又是解析歌词。
09:21
解析歌词怎么办呢?是不是像这里面有几句歌词啊?对,有三句,就说在这个时刻,这个时刻,这个时刻都唱这句吧,但是这有三句不能说是一句对不对,三句歌词啊,像这种的歌词才是一句吧,就是这个十节课对应的这句,这课这一句是不是这明对吧,好,那怎么做呢?大家好,我是不是有三句要大家仔细观察一下,一个中号两个。三个是不是三个左边的中号啊,那是以这个中号为准的,这边有个右右边括号啊,好,那这种就这样子了,Int类型post啊POST1。
10:10
好,然后呢,等于这个革命。然后是in X,然后左边括号,它如果是这样的话,它返回的是多少零,如果没有呢?没有就返回多少负一,这么对方讲过吗?这个应该好,再把它复制一下,这个二就是为多少。右边诶右边如果有它返回多少九没有反复一好怎么是九呢?这是零一二三四五六七八九三十是不是刚好九啊,是不是不题吧,然后如果他们PAST1,它是等于零的,并且并且负二等于九,就不等于负一,是不是就可以进来。
11:13
好,这个的话呢,它不等于负一,为啥意思,为什么不等于负一呢?假如这根们它不是九的长度呢,是假如是少一个呢。是你也得支持啊,但是不,它不等于负一就可以了吧,好,因为就是零和负一不等于负一情况,是不是刚好是一句啊,肯定是一句啊,它肯定是一句啊,好,那这个时候注意了,我就要去来装这个时间了吧,好,我就录一个弄类型的一个数组,那就碳谱的一个破。或四然后这是一个什么。数组吧,然后六一个long类型数组,那这个是要长度啊,长度是有要三个长度啊,好get我们的T就是我们的count是多少句,这多少句的话是又要去根据这个存进去,然后就判断有多少句呀,因为现在存。
12:16
现在是存三句喽,但是有一天如果这个存四句呢,它有些歌词是某一个。唱好多遍了,我在这里欢笑,他唱完后下一个循环他又我在这里欢笑,是可以唱好几三遍了,是四面也有啊,有些歌曲某一句来回的唱,是不是是不要考虑这种情况好,所以的话呢,我要看他有多少句好,把它创建出来。好,这时候要判断得到哪一句,判断有多少句歌词,那刚好它也是全部把这个传过来吧,好怎么判断呢,特简单,也是看它的这个也是看的左边括号右边括号啊好这个时候呢,其类型做一个数组,那然后等于这个哥们呢去切sleep,根据左边括号去切。
13:23
切。其它就会得到一个数组啊是不是好,然后呢,又根据右边符号去切right right right。啊,这个时候。就变,那有同学会不理解,说老师啊,你这干干嘛干嘛的转移对吧,好那就有了过后left它的长度认识如果是等于零,并且并且left的认识它也是等于零,有这种情况吗?可能可能会有,就是它可能就根本就是不是歌词,就这样它肯定不就零了吧,对不对,好那这个时候同学们即便如此,我们也要让他。
14:14
如果你用一个数字,你你不可能长度为零吧,至少要轮到主要返回个一吧,啊是不是你S等于等于默认是负一,那肯定不数值不可能是负一吧,所以默认也得返回一个什么一吧,它明明没有,是不是我要返回一,要不然这个长度为零有啥意思啊。对不对?这么问题吧,Else if,然后left的长度认识如果是大于right的认识,那么我们就要返回大的。谁大left的一个认识,好else,那就是如果不是这样,那就是把把把这个right的返回去,是谁在返回谁呀,那有同学会说老师你有这么麻烦吗?你这速度多长就返回多长就可以了呗。
15:12
其实也行啊,但是我们去装这个中间树大一点也没关系啊,像就像我们去河边打水,你要打五斤水,那你装个十斤十十六斤的是可以啊,但如果你刚好五斤的也行,但是一不小心不浪出去嘛,是吧,但是这个和那个还没是没法比的,就是说一般说我们可以大,但是不能小,懂意思吧,只能大不不能小吧,小数数据装不了这值。但是我们可以大那么小,但是也可以等于对不对。懂意思吧,所以大是没问题的啊,那有过后它这里面是有第几个,第第零个位置,所以我开始解析。这一条了,好,然后它等于多少呢?就等于就是啊tap,然后to弄啥意思呢?就是我要把这个实际类型转化为弄类型。
16:11
知道吧,此郡。的碳转化为Q,就代表的是Q懂意思吧,啊你看所以这个专业专业人士他就用Q表示了,好,那接下来我说得到这一部分呢。这部分使用就行,使俊碳它等于什么呢?它等于注意了是不把这个截取出来啊。是不是要把它总会时间了,好,我们就根据这个沙沙的话应该是post。加上多少一,这是零吧,从这里开始吧,加上一,然后到哪里啊,到这里是刚好就是N的呀,到这里是N的呀啊。
17:06
石头站他这个时候得到的内容是多少,就这个,然后把这个。是把这个内容,一会要把这个内容。就是把这个内容要转换为多少毫秒啊毫秒就这就是字符串吧,要只会为弄类型的好不好啊,为什么呀,因为明明这个数字就弄类型嘛,对不对,这个这方法有了没有,没有找上天。对不对,好。怎么转换呢,这个这个其实就是这个吧。对不对,那有了过后,好,接下来大家看看,我们就要去第一步根据谁去切啊,冒号去切。
18:09
切割和成这样。零二和谁和零四这个对吧,第二步根据点切割成。零四。你是和第二对吧,就是根就根据这个点把谁把这个。那上面的话是根据。这个点把这个切成这个正面对吧。好,那么我们就切呗,使劲S1速度。
19:05
然后这个存进来就是原始的呀,是不是,然后地图根据谁去切。那好,这个是点需要转移,这个不需要转移啊,那接下来去S2输读它等于S13C。因为我们现在切成零零是要就是一啊,再去切成多少点点,还需要什么转移,这个需要转移好,这个时候是20多少啊,没准备题吧。好,这个时候一切是切成这两个了。这个了,这个一切都变成他们两个了吧,好,那接下来我们就把它总会时间。
20:02
把这个转换为转换成什么毫秒吧。好,那这个时候注意了,定义我们的几个类型,类型,然后。首先是分,分怎么写,还有印象吗?这前面的一个单词MMM还有多少A是吧?哦对,然后我就选三个就可以了,那有过后它是等于S1取第几个,取第几个,第零个对吧?然后这个时候我们要把它转化为什么类型啊。弄类型吧,好转换是不是啊哦耶等接下来这个是这个是分吧,你看啊仔细一看这挺有意思的,这个你看操作字符以后你们要用这种好,还有一个就是秒三看的是秒啊,等于那种类型。
21:22
然后转换,这是等于S多少?二是第几个元素啊第一个好。这个是好,因为这个S2的话是刚好就是零四啊。这个地应该是多少零二。你看0204是不是要二了,就差一个了,好东能型这个好像叫。
22:06
嗯,这个对吧,然后弄类型转换S2的第一个第一个。好,这个时候相等于多少,有二吧,好,然后注意了,我把它返回,我现在把第一个动力题等于一个等一个负一,然后有过后让他们这哥们追了。这个要分变成毫秒乘以多少60,再乘多少1000,再加上这个秒上存了多少。存了多少秒到毫秒存了多少钱,这个是什么毫秒,这毫秒的话要是是是12,要是十才生均毫秒是0.12嘛。
23:12
是不是0.12好乘啊,它也是乘上啊,好啊是这样的,那就是这个呢,要要加入那个,为啥它有点误差,就是软件在渲染的过程中有点误差,加上一点没错啊,就是要么就是要么就是啊就是误差,就是说要加那么一点,要不然会延迟,知道吧,加那么一点点好,然后把这个呢打回去,好把它给踹住。奥媳妇的。这个累开对吧,好像要要乘到十啊好,那这个时候咱们是不是就把这个门把它给搞定了,好那么如果这哥们B负,它是有可能也等于负一呀,因为我们默认是负一呀。
24:07
如果这哥们它是等于等于负一,那证明是解析失败啊,好,那就是return我们的同组串。对吧,那如果。接下来呢,我们这个有了过后呢,我们就这么做了,就要重新开始解析下一个了,In类型I等于一重新开始了,对吧,然后呢,它这地方。就是实际类型很探,它等于它重新记值,然后做一个外循环,Will循环的话呢,它在这个项里面,它还是判断这两个是不是OK。嗯,这地方里面有个后注意了,他再去判断一下,就是现在这个值,它是大家看啊。
25:00
我们现在之前得到的是是解析了这个一个,然后先重新复值,是现在它得到内容其实还是谁啊,还是这个吧,然后接下来I等于一,然后接下来我们做什么呢?就是做这样的事情呢。就是我要截一下content,它等于sub,等于这个content从什么开始啊,从post加上什么一开始,这个时候它就得到哪部分呢。是要得到这部分的,诶啊应该是错了,你看啊,我现在得到这部分怎么得啊,是等于派二加派二的话是是是二就加上一,是不到这里来啊,所以这个是多少啊,不是加一,这样的话是减到这部分了。然后这部分有一过后,我们呢,再去计算这个部分POST1它是等于content index index多少啊左边括号吧,好,然后有那个后POST2等于content index右边。
26:23
是不是啊,这个注意了,这对于他言,这个是等于多少零吧,这是等于零啊,这个是等于多少九,那么也就是说if如果POST2它不等于。负一是证明,就是还有还有还有啊有过后,那么我们就要把它给解析到这里来吧。就要把它解析这个内容,它就等于它这个是这是I了吧。知识性,哎呀,第第这第一句了吧,它就等于Q,就等于要还是还是我们这个方法呀的方法是不是,那这个方法有过后这个内容它重新复制啊好,它就等于什么呀。
27:13
是等于我们这一部分,要不要截到这一部分呢。这部分的话,其实等于content是等于,等于是content.sub sub的话就是post。一加上多少一,那叫postose多少二,就是把它给解改到这部分,这部分内容是哪里啊。这不分。这部分呢,然后这部分空间来解一下十句是不是可以了,然后如果OK,那么在这个地方里面的话呢。我们如果这个们走过后,如果它等于负一,那我们就直接对称,对串流称多少啊,空中串好,那么有了过后,如果是没有一负一,就做一个什么还什么再加。
28:11
好,那最后循环过后再循环过,这个时候它最后就变成是我在这里混淆了下的时候,我们再继续讲。啊。循环,到时候我们分第BUG1分析这个过程啊,所你就会觉得特别有意思,尤其你大脑都得到高度的锻炼了,知道吧,那么解析歌词解析了一半对吧,到下我们再继续再做好吧,先把这个视频保存一下。
我来说两句