#import "ViewController.h"
@interface ViewController ()
{
NSString *_LRC;
NSTimer *_timer;
}
@property (nonatomic, strong)NSDateFormatter *dateFormatter;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//根据文件名和类型找到文件的路径
NSString *LRCPath = [[NSBundle mainBundle] pathForResource:@"小幸运" ofType:@"lrc"];
_LRC = [NSString stringWithContentsOfFile:LRCPath encoding:NSUTF8StringEncoding error:nil];
_timer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(didTime:) userInfo:nil repeats:YES];
}
- (void) didTime: (NSTimer *)timer {
static double time = 0;
//计时器每次都会加载,所以要进行懒加载
NSDateFormatter *dateFormatter = self.dateFormatter;
//设置时间格式
dateFormatter.dateFormat = @"mm:ss.SS";
//将double型转换成NSDate类型
NSDate *date = [NSDate dateWithTimeIntervalSince1970:time];
//将把date转换成自己定义的格式
NSString *timeStr = [dateFormatter stringFromDate:date];
NSString *resultLrc = [self parseLRC:_LRC andTimeStamp:timeStr];
if (resultLrc.length) {
NSLog(@"%@", resultLrc);
}
//加上计时器的变化时间
time = time + timer.timeInterval;
}
- (NSString *)parseLRC: (NSString *)LRC andTimeStamp:(NSString *)timeStamp {
NSArray *LRCArray = [LRC componentsSeparatedByString:@"\n"];
__block NSString *targetStr;
[LRCArray enumerateObjectsUsingBlock:^(NSString *obj, NSUInteger idx, BOOL * _Nonnull stop) {
if ([obj containsString:timeStamp]) {
targetStr = obj;
*stop = YES;
}
}];
NSArray *lrcArray = [targetStr componentsSeparatedByString:@"]"];
NSString *lrc = [lrcArray.lastObject stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
return lrc;
}
- (NSDateFormatter *)dateFormatter {
//懒加载,dateFormatter是实例变量
if (!_dateFormatter) {
_dateFormatter = [NSDateFormatter new];
}
return _dateFormatter;
}
@end
解析歌词
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- LyricsAnalysis 功能描述:锁屏歌曲信息、控制台远程控制音乐播放:暂停/播放、上一首/下一首、快进/快...
- 已经有两个月时间没有发表新文章了,从开始发表文章以来,常常会有线上的"简友"通过QQ和微信与我进行一些技术上沟通和...