IOS开发之AVAudioPlayer的基本使用

1.这是播放效果,可以按下play和pause播放和暂停,进度条自动改变进度

,我用的是mac mini产生很多错误,没有声音,换个耳机就可以了!!

滑动条拖动的时候,音乐播放改变会有噪音,解决方法如下

不要勾这个就行

2.改变声音的方法,设置当前音量和最小音量0-1的数值

IOS开发之AVAudioPlayer的基本使用_第1张图片

以下实现音乐播放的代码:

//

//  ViewController.m

//  01-AVAudiioPlayer

//

//  Created by 鹿微微鹿. on 16/5/6.

//  Copyright (c) 2016 鹿微微鹿. All rights reserved.

//

//AVAudioPlayer:专门用来播放音频的工具

//1.导入import <AVFoundation/AVFoundation.h>

//2.声明一个音频全局变量AVAudioPlayer *_player

#import "ViewController.h"

#import <AVFoundation/AVFoundation.h>

@interface ViewController ()<AVAudioPlayerDelegate>


{

    //声明一个音频播放器对象

    AVAudioPlayer *_player;

    

 

}

@property (weak, nonatomic) IBOutlet UISlider *progressSlider;


@end


@implementation ViewController


- (void)viewDidLoad {

 

    [super viewDidLoad];

    //定时器

    [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(updateSlider) userInfo:nil repeats:YES];

 

    [self preparePlay];


}

//更新进度

- (void)updateSlider{

    //获取当前进入

    //当前进度就是当前播放的时刻/总的时间

    self.progressSlider.value = _player.currentTime/_player.duration;

}



#pragma mark - 按钮点击

- (IBAction)play:(id)sender {

    //播放

    [_player play];

}


- (IBAction)pause:(id)sender {

    //暂停

    [_player pause];

}

- (IBAction)sliderChangeValue:(UISlider *)sender {

    //改变播放进度

    

    //获取当前音乐的总时间

    CGFloat duration = _player.duration ;

    

    //设置当前的播放进度

    _player.currentTime =  duration * sender.value;

    

    

}


- (IBAction)stpperChangeValue:(UIStepper *)sender {

    

  //  NSLog(@"%lf",sender.value);

    _player.volume = sender.value;

    

}

#pragma mark -音乐播放完毕的时候

//一个音频播放结束的时候调用这个方法

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag{

    

    NSLog(@"播放结束");

}

//打断的时候会调用这个方法

- (void)audioPlayerBeginInterruption:(AVAudioPlayer *)player{

    [player pause];

}

//打断结束的时候调用该方法

- (void)audioPlayerEndInterruption:(AVAudioPlayer *)player withOptions:(NSUInteger)flags{

    //一般在这个方法中继续播放

    [_player play];

    

}



#pragma mark - 准备音频播放器

- (void)preparePlay{

    

    NSString *path = [[NSBundle mainBundle]pathForResource:@"亡灵序曲.mp3" ofType:nil];

    

    

    //1.实例化音频播放器(既可以播放网上的也可以播放本地的)

    _player = [[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath:path] error:nil];

    

    //2.准备播放

    [_player prepareToPlay];

    

    //3.开始播放

    [_player play];

    

    //设置代理

    _player.delegate =self;


    

    NSLog(@"1");

}



@end







你可能感兴趣的:(AVAudioPlayer)