IOS 播放音效

iOS开发过程中可能会遇到播放音效的功能

其实很简单,iOS已经提供了一个框架直接负责播放音效 AudioToolbox.framework

新建项目  TestWeChatSounds

给新建的项目导入AudioToolbox.framework


导入成功之后如下图

项目目录如下



接下来我们给项目中添加几个caf格式的音效文件

接下来 我们打开 项目默认生成的ViewController中添加代码

导入 AudioToolbox

[objc]  view plain  copy
  1. #import <AudioToolbox/AudioToolbox.h>  


给View上添加button点击之后播放音效

[objc]  view plain  copy
  1. - (void)viewDidLoad {  
  2.     [super viewDidLoad];  
  3.     // Do any additional setup after loading the view, typically from a nib.  
  4.       
  5.     UIButton *btn1=[[UIButton alloc] initWithFrame:CGRectMake(2010012036)];  
  6.     [btn1 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];  
  7.     [btn1 setTitle:@"警告" forState:UIControlStateNormal];  
  8.     [btn1 addTarget:self action:@selector(btn1Act) forControlEvents:UIControlEventTouchUpInside];  
  9.     [self.view addSubview:btn1];  
  10.       
  11.     UIButton *btn2=[[UIButton alloc] initWithFrame:CGRectMake(2015012036)];  
  12.     [btn2 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];  
  13.     [btn2 setTitle:@"错误" forState:UIControlStateNormal];  
  14.     [btn2 addTarget:self action:@selector(btn2Act) forControlEvents:UIControlEventTouchUpInside];  
  15.     [self.view addSubview:btn2];  
  16. }  

实现播放效果
[objc]  view plain  copy
  1. -(void)btn1Act {  
  2.       
  3.     [self playSoundEffect:@"alarm.caf"];  
  4. }  
  5. -(void)btn2Act {  
  6.       
  7.     [self playSoundEffect:@"ct-error.caf"];  
  8. }  
  9.   
  10. -(void)playSoundEffect:(NSString *)name{  
  11.     NSString *audioFile=[[NSBundle mainBundle] pathForResource:name ofType:nil];  
  12.     NSURL *fileUrl=[NSURL fileURLWithPath:audioFile];  
  13.     //1.获得系统声音ID  
  14.     SystemSoundID soundID=0;  
  15.     /** 
  16.      * inFileUrl:音频文件url 
  17.      * outSystemSoundID:声音id(此函数会将音效文件加入到系统音频服务中并返回一个长整形ID) 
  18.      */  
  19.     AudioServicesCreateSystemSoundID((__bridge CFURLRef)(fileUrl), &soundID);  
  20.     //如果需要在播放完之后执行某些操作,可以调用如下方法注册一个播放完成回调函数  
  21.     AudioServicesAddSystemSoundCompletion(soundID, NULLNULL, soundCompleteCallback, NULL);  
  22.     //2.播放音频  
  23.     AudioServicesPlaySystemSound(soundID);//播放音效  
  24.     //    AudioServicesPlayAlertSound(soundID);//播放音效并震动  
  25. }  
  26.   
  27. void soundCompleteCallback(SystemSoundID soundID,voidvoid * clientData){  
  28.     NSLog(@"播放完成...");  
  29. }  


代码部分截图




好了  播放音效基本实现 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值