国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

IOS解析歌詞lrc

2019-11-14 20:03:34
字體:
來源:轉載
供稿:網友

最近在搗鼓音樂播放器,過程中學到了一些東西,寫下來分享一下,首先是歌詞的解析

首先我們看看lrc(不貼維基了怕打不開

歌詞文件一般是這樣的格式

1.[分鐘:秒.毫秒] 歌詞

2. [分鐘:秒] 歌詞

3. [分鐘:秒:毫秒] 歌詞

其中1是標準格式,下面我就一種為例。

思路是先獲取整個歌詞內容,再按換行分段,對每一行中的內容,分為兩部分,時間和內容,分別提取。

     -(void)parselyric   {      NSString *path = [[NSBundle mainBundle]pathForResource:_lab_title.text ofType:@"lrc"];          //if lyric file exits      if ([path length]) {                //get the lyric string        NSString *lyc = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];                //init        _musictime = [[NSMutableArray alloc]init];        _lyrics = [[NSMutableArray alloc]init];        _t = [[NSMutableArray alloc]init];                NSArray *arr = [lyc componentsSeparatedByString:@"/n"];                for (NSString *item in arr) {                        //if item is not empty            if ([item length]) {                                NSRange startrange = [item rangeOfString:@"["];                NSLog(@"%d%d",startrange.length,startrange.location);                NSRange stoPRange = [item rangeOfString:@"]"];                                NSString *content = [item substringWithRange:NSMakeRange(startrange.location+1, stoprange.location-startrange.location-1)];                                NSLog(@"%d",[item length]);                                //the music time format is mm.ss.xx such as 00:03.84                if ([content length] == 8) {                    NSString *minute = [content substringWithRange:NSMakeRange(0, 2)];                    NSString *second = [content substringWithRange:NSMakeRange(3, 2)];                    NSString *mm = [content substringWithRange:NSMakeRange(6, 2)];                                        NSString *time = [NSString stringWithFormat:@"%@:%@.%@",minute,second,mm];                    NSNumber *total =[NSNumber numberWithInteger:[minute integerValue] * 60 + [second integerValue]];                    [_t addObject:total];                                        NSString *lyric = [item substringFromIndex:10];                                        [_musictime addObject:time];                    [_lyrics addObject:lyric];                }            }        }    }    else        _lyrics = nil;  }

這里我只處理里標準格式的歌詞,其它格式也可用類似方法處理。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙口市| 岳池县| 米脂县| 潼关县| 乐山市| 泰宁县| 汕头市| 长武县| 高碑店市| 瑞丽市| 延庆县| 长治市| 翼城县| 和田县| 东源县| 绥棱县| 元朗区| 南江县| 克山县| 年辖:市辖区| 沂南县| 香格里拉县| 昭通市| 图木舒克市| 赞皇县| 珠海市| 麻城市| 梁河县| 昂仁县| 隆子县| 湘乡市| 綦江县| 高邮市| 乌拉特中旗| 古田县| 天峻县| 安平县| 福泉市| 柯坪县| 尼玛县| 元谋县|