AVAudioPlayer
1.支持库AVFoundation.framework
2.例子
声明
1 @private 2 //播放器 3 AVAudioPlayer *_audioPlayer; 4 //play btn 5 UIButton *_btnPlay; 6 UIButton *_btnStop; 7 8 //gress 9 UISlider *_sliderProgress; 10 UISlider *_sliderVlume;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
NSString *path = [[NSBundle mainBundle] pathForResource:@"bg" ofType:@"mp3"];
NSURL *url =[NSURL fileURLWithPath:path];
_audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
_audioPlayer.delegate=self;
//初始位置
[_audioPlayer prepareToPlay];
//初始音量
[_audioPlayer setVolume:0.5f];
_btnPlay=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[_btnPlay setTitle:@"play" forState:UIControlStateNormal];
_btnPlay.tag=0;
_btnPlay.frame=CGRectMake(10, 100, 100, 40);
[_btnPlay addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:_btnPlay];
_btnStop=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[_btnStop setTitle:@"stop" forState:UIControlStateNormal];
[_btnStop addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
_btnStop.tag=1;
_btnStop.frame=CGRectMake(200, 100, 100, 40);
[self.view addSubview:_btnStop];
_sliderProgress=[[UISlider alloc] initWithFrame:CGRectMake(10, 10, 300, 10)];
_sliderProgress.tag=2;
[_sliderProgress addTarget:self action:@selector(sliderChange:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:_sliderProgress];
_sliderVlume=[[UISlider alloc] initWithFrame:CGRectMake(10, 50, 300, 10)];
_sliderVlume.maximumValue=1.0f;
_sliderVlume.tag=3;
[_sliderVlume addTarget:self action:@selector(sliderChange:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:_sliderVlume];
//默认音量
_sliderVlume.value=_audioPlayer.volume;
_sliderProgress.maximumValue=_audioPlayer.duration;
//音乐播放进度控制
[NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(timetiker) userInfo:nil repeats:YES];
}
#pragma mark - btnclick valuechange
-(void)btnClick:(UIButton*)btn{
switch (btn.tag) {
case 0:
{
if ([_audioPlayer isPlaying]) {
[_audioPlayer pause];
[btn setTitle:@"play" forState:UIControlStateNormal];
}
else{
[btn setTitle:@"pause" forState:UIControlStateNormal];
[_audioPlayer play];
}
}
break;
case 1:{
}
break;
default:
break;
}
}
-(void)timetiker{
_sliderProgress.value=_audioPlayer.currentTime;
}
-(void)sliderChange:(UISlider*)slider{
switch (slider.tag) {
case 2:{
_audioPlayer.currentTime=_sliderProgress.value;
}
break;
case 3:{
_audioPlayer.volume=_sliderVlume.value;
}
break;
default:
break;
}
}
浙公网安备 33010602011771号