android音乐播放器歌词解析,iOS 音乐播放器歌词解析

目前常接触的歌词格式

cb998b5d7466

未来会接触的歌词格式(我没接触过)

cb998b5d7466

看到这歌词就懵逼,但我觉得这应该有两个属性,一个是time,一个是歌词

首先根据读取歌词

扣除多余部分

cb998b5d7466

根据每句歌词中间的“]”创建模型

//放开一个方法根据歌词名解析

/** 歌词名 */

@property (nonatomic, copy) NSString *lrcName;

#pragma mark - 重写lrcName

- (void)setLrcName:(NSString *)lrcName

{

// 1.记录歌词名

_lrcName = lrcName ;

// 2.model解析歌词

self.lrcList = [ZJLrcTool lrcToolWithLrcName:lrcName];

// 3.刷新表格

[self.tableView reloadData];

}

#import

@interface ZJLrcLine : NSObject

@property (nonatomic, copy) NSString *text;

@property (nonatomic, assign) NSTimeInterval time;

- (instancetype)initWithLrcLineString:(NSString *)lrcLineString;

+ (instancetype)LrcLineString:(NSString *)lrcLineString;

@end

#import "ZJLrcLine.h"

@implementation XMGLrcLine

- (instancetype)initWithLrcLineString:(NSString *)lrcLineString

{

if (self = [super init]) {

// [01:02.38]想你时你在天边

NSArray *lrcArray = [lrcLineString componentsSeparatedByString:@"]"];

self.text = lrcArray[1];

self.time = [self timeWithString:[lrcArray[0] substringFromIndex:1]];

}

return self;

}

+ (instancetype)LrcLineString:(NSString *)lrcLineString

{

return [[self alloc] initWithLrcLineString:lrcLineString];

}

- (NSTimeInterval)timeWithString:(NSString *)timeString

{

// 01:02.38

NSInteger min = [[timeString componentsSeparatedByString:@":"][0] integerValue];

NSInteger sec = [[timeString substringWithRange:NSMakeRange(3, 2)] integerValue];

NSInteger hs = [[timeString componentsSeparatedByString:@"."][1] integerValue];

return min * 60 + sec + hs * 0.01;

}

@end

最终效果

cb998b5d7466

对于这种将来有时间在补全具体代码!无非就是生成数组的时候判断,以“]”划分会生成四部分,判断数组的count如果大于2个,每一个分别和最后一个都创建一个模型!

(需要数组从新排序,根据时间)ß

cb998b5d7466

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值