IOS開發之AVAudioPlayer的基本使用

1.這是播放效果,能夠按下play和pause播放和暫停,進度條自動改變進度ide

,我用的是mac mini產生不少錯誤,沒有聲音,換個耳機就能夠了!!工具

滑動條拖動的時候,音樂播放改變會有噪音,解決方法以下atom

不要勾這個就行spa

2.改變聲音的方法,設置當前音量和最小音量0-1的數值.net

如下實現音樂播放的代碼:3d

//代理

//  ViewController.morm

//  01-AVAudiioPlayer對象

//get

//  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

相關文章
相關標籤/搜索