iOS AVAudioPlayer播放音频文件

使用AVAudioPlayer播放本地的work.mp3文件,只需要调用下面一行代码:

[AVAudioPlayerManager.shared playLocalFile:@"work" ofType:@"mp3"];

AVAudioPlayerManager文件

#import <Foundation/Foundation.h>

@interface AVAudioPlayerManager : NSObject

+ (instancetype)shared;

- (void)playLocalFile:(NSString *)name ofType:(NSString *)type;

- (void)shock;

@end
#import "AVAudioPlayerManager.h"
#import <AVFoundation/AVFoundation.h>

@interface AVAudioPlayerManager() <AVAudioPlayerDelegate>

@property (nonatomic, strong) AVAudioPlayer *player;

@end

@implementation AVAudioPlayerManager

+ (id)shared {
    static  dispatch_once_t once;
    static   id instance;
    dispatch_once(&once, ^{
        instance = [self new];
    });
    return instance;
}

- (void)playLocalFile:(NSString *)name ofType:(NSString *)type {
    if (self.player.isPlaying) {
        [self.player pause];
    }
    /* 获取本地文件 */
    NSBundle *bundle = [NSBundle mainBundle];
    NSString *urlString = [bundle pathForResource:name ofType:type];
    NSURL *url = [[NSURL alloc] initFileURLWithPath:urlString];
    self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:url fileTypeHint:nil error:nil];
    self.player.delegate = self;
    [self.player prepareToPlay];
    [self.player play];
    [self shock];
}

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag {
    [[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];
}

- (void)shock {
    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
//    AudioServicesPlaySystemSound(1519);
}

@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值