OC-AVAudioPlayer的使用小记

mac2026-05-12  9

- (void)viewDidLoad { [super viewDidLoad]; //设置音乐的后台播放,注意background mode中需要勾选上 AVAudioSession *session = [AVAudioSession sharedInstance]; [session setCategory:AVAudioSessionCategoryPlayback error:nil]; } //开始播放 - (IBAction)player:(id)sender { [self.player play]; } //暂停播放 - (IBAction)pause:(id)sender { [self.player pause]; } //停止播放 - (IBAction)stop:(id)sender { [self.player stop]; } //前进5s - (IBAction)qianJin5s:(id)sender { self.player.currentTime += 5; } //后退5s - (IBAction)houTui5s:(id)sender { self.player.currentTime -= 5; } //快速播放 - (IBAction)faster:(id)sender { self.player.rate = 2; } //播放一次 - (IBAction)playOnce:(id)sender { self.player.numberOfLoops = 0; } //播放3次 - (IBAction)playThirst:(id)sender { self.player.numberOfLoops = 2; } //循环播放 - (IBAction)playAllTheTime:(id)sender { self.player.numberOfLoops = -1; } //获取一些基础信息 - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { NSLog(@"deviceCurrentTime=%f",self.player.deviceCurrentTime); NSLog(@"currentTime=%f",self.player.currentTime); NSLog(@"duration=%f", self.player.duration); NSLog(@"settings=%@", self.player.settings); }

//听筒播放

 

- (IBAction)tingTongPlay:(id)sender {

     

    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:0 error:nil];

     

}

     

 

     

//扬声器播放

     

- (IBAction)outSpeakerPlayer:(id)sender {

    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker error:nil];      

}

//懒加载

- (AVAudioPlayer *)player {

 

    if (!_player) {

 

        //获取播放的路径 paomo.mp3   2018-11-27 10_36_51 1.wav

 

        NSURL *path = [[NSBundle mainBundle] URLForResource:@"paomo.mp3" withExtension:nil];

 

        //根据路径创建播放对象

 

        AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:path error:nil];

 

 

 

        //如果这个属性不设置的话,那么不能设置倍速播放的功能

 

        player.enableRate = YES;

 

        

 

        //准备播放

 

        [player prepareToPlay];

 

        _player = player;

 

    }

 

    return _player;

 

}

 

 

 

 

AVAudioPlayer 这个框架,去看看苹果开发文档,还比较容易理解,此处只是贴上代码作为一个记录而已。

最新回复(0)