你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> IOS 解析歌詞lrc

IOS 解析歌詞lrc

編輯:關於IOS

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

  首先我們看看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;
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved