ios程序播放音频文件

1.控制器代码

#import "ViewController.h"

#import <AVFoundation/AVFoundation.h>

#import "RYAVTool.h"

@interface ViewController ()

@property(nonatomic,strong)NSMutableDictionary*allAvID;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

self.allAvID= [RYAVTool playAVWithName:@"m_06.wav"];

}

//内存警告时清理缓存

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

[self.allAvID enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {

AudioServicesDisposeSystemSoundID([obj unsignedIntValue]);

}];

}

@end

2.辅助工具类代码

#import <Foundation/Foundation.h>

@interface RYAVTool : NSObject

+(NSMutableDictionary*)playAVWithName:(NSString*)name;

@end

#import "RYAVTool.h"

#import <AVFoundation/AVFoundation.h>

static NSMutableDictionary *_allID;

static SystemSoundID _currentData;

@implementation RYAVTool

+(void)load

{

if (_allID==nil) {

_allID =[[NSMutableDictionary alloc]init];

}

}

+(NSMutableDictionary*)playAVWithName:(NSString*)name

{

if (!name) {

return _allID;

}

NSString*path=[[NSBundle mainBundle]pathForResource:name ofType:nil];

if (!path) {

return _allID;

}

NSURL *url=[NSURL fileURLWithPath:path];

_currentData=[_allID[name] unsignedIntValue];

if (!_currentData) {

//创建音频播放文件

AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url), &_currentData);

//保存

_allID[name]=@(_currentData);

}

//播放

AudioServicesPlayAlertSound(_currentData);

return _allID;

}

@end

上一篇:CentOS 6.7 编译安装Nginx 1.8.0


下一篇:oracle运行速度与效率高的秘密