//
// PlayerViewController.m
// UI - 20 音乐播放器
//
// Created by dllo on 15/12/4.
// Copyright (c) 2015年 dllo. All rights reserved.
//
#import "PlayerViewController.h"
#import "STKAudioPlayer.h"
@interface PlayerViewController ()
@property (nonatomic, retain)STKAudioPlayer *player;
@property (nonatomic, retain)UIButton *playB;
@property (nonatomic, retain)UIButton *stopB;
@property (nonatomic, retain)UISlider *vols;
@property (nonatomic, retain)UISlider *voltime;
@property (nonatomic, retain)NSTimer *timer;
@end
@implementation PlayerViewController
- (void)dealloc
{
[_player release];
[_playB release];
[_stopB release];
[_vols release];
[_voltime release];
[_timer release];
[super dealloc];
}
+ (instancetype)sharePlayerController
{
static PlayerViewController *playerVC = nil;
if (nil == playerVC) {
playerVC = [[PlayerViewController alloc] init];
}
return playerVC;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
STKAudioPlayerOptions playerOption = {YES, YES,{50, 100, 200, 400, 800, 1600, 2600, 16000}};
self.player = [[[STKAudioPlayer alloc]initWithOptions:playerOption]autorelease];
// [self.player play:@"http://fs.ios.kugou.com/201512031644/a7941f5512531bb51d94d55cf77a8197/G028/M07/0D/11/vIYBAFWKZeyARNFPAClMTjzD8N8315.mp3"];
NSString *file = [[NSBundle mainBundle]pathForResource:@"陈势安 - 天后" ofType:@"MP3"
];
NSURL *url = [NSURL fileURLWithPath:file];
[self.player playURL:url];
// [self.player play:@"陈势安 - 天后.mp3"];
self.playB = [UIButton buttonWithType:UIButtonTypeCustom];
self.playB.frame = CGRectMake(100, 100, 100, 30);
[self.playB addTarget:self action:@selector(playBAct:) forControlEvents:UIControlEventTouchUpInside];
self.playB.backgroundColor = [UIColor purpleColor];
[self.playB setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
self.player.volume = 10;
[self.playB setTitle:@"播放" forState:UIControlStateNormal];
[self.playB setTitle:@"暂停" forState:UIControlStateSelected];
[self.view addSubview:self.playB];
self.stopB = [UIButton buttonWithType:UIButtonTypeCustom];
self.stopB.frame = CGRectMake(100, 300, 100, 30);
[self.stopB addTarget:self action:@selector(stopBAct) forControlEvents:UIControlEventTouchUpInside];
self.stopB.backgroundColor = [UIColor purpleColor];
[self.stopB setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[self.stopB setTitle:@"停止" forState:UIControlStateNormal];
[self.view addSubview:self.stopB];
self.vols = [[UISlider alloc]initWithFrame:CGRectMake(100, 400, 300, 30)];
self.vols.backgroundColor = [UIColor purpleColor];
[self.vols addTarget:self action:@selector(slidAct) forControlEvents:UIControlEventValueChanged];
self.vols.maximumValue = 50;
[self.view addSubview:self.vols];
[self.vols release];
self.voltime = [[UISlider alloc]initWithFrame:CGRectMake(100, 500, 300, 30)];
self.voltime.backgroundColor = [UIColor purpleColor];
[self.voltime addTarget:self action:@selector(slidtimeAct) forControlEvents:UIControlEventValueChanged];
self.voltime.maximumValue =169;
[self.view addSubview:self.voltime];
[self.voltime release];
// Do any additional setup after loading the view.
}
- (void)playBAct:(UIButton *)sender
{
if (STKAudioPlayerStatePlaying == self.player.state) {
//暂停
[self.player pause];
self.playB.selected = YES;
} else if(STKAudioPlayerStatePaused == self.player.state) {
//继续
[self.player resume];
self.playB.selected = NO;
} else {
//播放
// [self.player play:@"http://fs.ios.kugou.com/201512031644/a7941f5512531bb51d94d55cf77a8197/G028/M07/0D/11/vIYBAFWKZeyARNFPAClMTjzD8N8315.mp3"];
self.timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeAct) userInfo:nil repeats:YES];
self.playB.selected = NO;
}
}
- (void)timeAct
{
NSLog(@"当前分钟:%ld, 当前秒:%ld", (NSInteger)self.player.progress / 60, (NSInteger)self.player.progress % 60);
NSLog(@"总分钟:%ld, 总秒:%ld", (NSInteger)self.player.duration / 60, (NSInteger)self.player.duration % 60);
//进度条更新
self.voltime.value = self.player.progress;
}
- (void)stopBAct
{
//停止
[self.player stop];
self.playB.selected = NO;
// 停止计时器
[self.timer invalidate];
self.timer = nil;
}
- (void)slidAct
{
//设置音量
self.player.volume = self.vols.value;
}
- (void)slidtimeAct
{
//跳转时间
[self.player seekToTime:self.voltime.value];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end