音乐

2017-12-21  本文已影响0人  本泽马

//// Music.h// 第二单元 音乐播放器//// Created by 爱人闵敬凌 on 2017/6/7.// Copyright © 2017年 百度. All rights reserved.//#import@interface Music : NSObject

@property(nonatomic,strong)NSString *name;

@property(nonatomic,strong)NSString *singer;

//数组

-(NSMutableArray *)getSongArray;

@end

//

//  Music.m

//  第二单元 音乐播放器

//

//  Created by 爱人闵敬凌 on 2017/6/7.

//  Copyright © 2017年 百度. All rights reserved.

//

#import "Music.h"

@implementation Music

//数组

-(NSMutableArray *)getSongArray

{

//获取沙盒里面的数据

NSString *filePath = [[NSBundle mainBundle]pathForResource:@"music" ofType:@"plist"];

return [NSMutableArray arrayWithContentsOfFile:filePath];

}

@end

//// NameView.h// 第二单元 音乐播放器//// Created by 爱人闵敬凌 on 2017/6/7.// Copyright © 2017年 百度. All rights reserved.//#import@interface NameView : UIView

@property(nonatomic,strong)UITableView *tv;

@end

//

//  NameView.m

//  第二单元 音乐播放器

//

//  Created by 爱人闵敬凌 on 2017/6/7.

//  Copyright © 2017年 百度. All rights reserved.

//

#import "NameView.h"

@implementation NameView

-(instancetype)initWithFrame:(CGRect)frame

{

if (self = [super initWithFrame:frame])

{

[self addSubview:self.tv];

}

return self;

}

-(UITableView *)tv

{

if (!_tv)

{

_tv = [[UITableView alloc]initWithFrame:self.frame];

}

return _tv;

}

@end

//// SingerView.h// 第二单元 音乐播放器//// Created by 爱人闵敬凌 on 2017/6/7.// Copyright © 2017年 百度. All rights reserved.//#import@interface SingerView : UIView

@property(nonatomic,strong)UIImageView *img;

@property(nonatomic,strong)UIView *sv;

@property(nonatomic,strong)UISlider *slider;

@property(nonatomic,strong)UIButton *btnone,*btntwo,*btnthree,*btnfour,*btnfive;

@end

//

//  SingerView.m

//  第二单元 音乐播放器

//

//  Created by 爱人闵敬凌 on 2017/6/7.

//  Copyright © 2017年 百度. All rights reserved.

//

#import "SingerView.h"

@implementation SingerView

//单例方法

-(instancetype)initWithFrame:(CGRect)frame

{

if (self = [super initWithFrame:frame])

{

[self addSubview:self.img];

[self addSubview:self.sv];

}

return self;

}

-(UIImageView *)img

{

if (!_img)

{

_img = [[UIImageView alloc]initWithFrame:CGRectMake(0, 64, self.frame.size.width, self.frame.size.height - 64 - 150)];

_img.image = [UIImage imageNamed:@"  .png"];

}

return _img;

}

-(UIView *)sv

{

if (!_sv)

{

_sv = [[UIView alloc]initWithFrame:CGRectMake(0, self.frame.size.height - 150, self.frame.size.width, 150)];

_sv.backgroundColor = [UIColor whiteColor];

[_sv addSubview:self.slider];

[_sv addSubview:self.btnone];

[_sv addSubview:self.btntwo];

[_sv addSubview:self.btnthree];

[_sv addSubview:self.btnfour];

[_sv addSubview:self.btnfive];

}

return _sv;

}

-(UISlider *)slider

{

if (!_slider)

{

_slider = [[UISlider alloc]initWithFrame:CGRectMake(20, 60, self.frame.size.width - 40, 30)];

//最大值

[_slider setMaximumValue:1.0];

//最小值

[_slider setMinimumValue:0.0];

}

return _slider;

}

-(UIButton *)btnone;

{

if (!_btnone)

{

_btnone = [UIButton buttonWithType:UIButtonTypeRoundedRect];

_btnone.frame = CGRectMake(self.frame.size.width/2 - 30, 90, 60, 60);

[_btnone setImage:[UIImage imageNamed:@"36676757842381277.jpg"] forState:UIControlStateNormal];

}

return _btnone;

}

@end

//// ViewController.m// 第二单元 音乐播放器//// Created by 爱人闵敬凌 on 2017/6/7.// Copyright © 2017年 百度. All rights reserved.//#import "ViewController.h"#import "Music.h"#import "NameView.h"#import "SingerView.h"#import "SecViewController.h"@interface ViewController (){

NSMutableArray *arr;

NameView *dataView;

}

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

arr = [NSMutableArray array];

dataView = [[NameView alloc]initWithFrame:self.view.frame];

self.view = dataView;

//之前的表格(懒加载)

dataView.tv.delegate = self;

dataView.tv.dataSource = self;

//获取数据

Music *music = [[Music alloc]init];

//获取路径

arr = [music getSongArray];

}

//展示出来

#pragma -

#pragma mark - UITableViewDataSource

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

return  arr.count;

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@""];

if (!cell)

{

cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@""];

}

cell.textLabel.text = [arr[indexPath.row]objectForKey:@"name"];

cell.detailTextLabel.text = [arr[indexPath.row]objectForKey:@"singer"];

return cell;

}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

SecViewController *vc = [SecViewController new];

vc.m = [[Music alloc]init];

vc.m.name = [arr[indexPath.row]objectForKey:@"name"];

vc.m.singer = [arr[indexPath.row]objectForKey:@"singer"];

[self.navigationController pushViewController:vc animated:YES];

}

@end

//// SecViewController.h// 第二单元 音乐播放器//// Created by 爱人闵敬凌 on 2017/6/7.// Copyright © 2017年 百度. All rights reserved.//#import#import "Music.h"

@interface SecViewController : UIViewController

@property(nonatomic,strong)Music *m;

@end

//// SecViewController.m// 第二单元 音乐播放器//// Created by 爱人闵敬凌 on 2017/6/7.// Copyright © 2017年 百度. All rights reserved.//#import "SecViewController.h"#import "SingerView.h"#import "AppDelegate.h"#import "Music.h"#import "ViewController.h"#import@interface SecViewController ()

{

SingerView *s;

AppDelegate *app;

}

@end

@implementation SecViewController

- (void)viewDidLoad {

[super viewDidLoad];

self.title = [NSString stringWithFormat:@"%@:%@",self.m.name,self.m.singer];

s = [[SingerView alloc]initWithFrame:self.view.frame];

self.view = s;

//强转

app = (AppDelegate *)[[UIApplication sharedApplication]delegate];

NSString *str = [[NSBundle mainBundle]pathForResource:self.m.name ofType:@"mp3"];

app.player = [[AVAudioPlayer alloc]initWithData:[NSData dataWithContentsOfFile:str] error:nil];

[app.player play];

[s.btnone addTarget:self action:@selector(Clickbtn:) forControlEvents:UIControlEventTouchUpInside];

}

-(void)Clickbtn:(UIButton *)ub

{

if(ub.isSelected == YES)

{

ub.selected = NO;

[app.player play];

}

else if(ub.isSelected == NO)

{

ub.selected = YES;

[app.player stop];

}

}

@end

上一篇下一篇

猜你喜欢

热点阅读