参考博客:(http://blog.youkuaiyun.com/rhljiayou/article/details/15339335)
上图:
在优快云看到一篇关于模仿微信语音录制和播放功能实现的博客,由于现在语音在App中使用的相当频繁,在微信、QQ等社交软件中语音功能几乎是必备的,酷狗音乐、唱吧等音乐软件也都有音频录制和播放的需要,所以我在网上又搜集了一些相关的Demo查看,简单学习一下别人是如何使用AVFoundation这个框架处理录音和播放音频的,下面我就总结一下自己所学到的知识,如有理解错误或分析不到位还希望能得到各位大神的指点纠正。
ios为我们提供了处理音频的基础技术:核心音频(core Audio)
有5个框架:1.CoreAudio.framework
2.AudioToolbox.framework
3.AudioUnit.framework
4.AVFoundation.framework
5.OpenAL.framework
AV Foundation库文件共包括如下类:
新建项目工程,首先导入AV Foundation框架,此处使用ARC=YES,导入相关图片文件,创建ViewController,带上xib文件,把AppDelegate的rootViewController交给ViewController,通过ib文件加载视图。在ViewController中导入<AVFoundation/AVFoundation.h>库,定义如下变量和实例方法:
{
IBOutlet UIImageView *soundLodingImageView;//从IB链接的一个UIImageView
IBOutlet UIButton *playBtn;//从IB链接的button
AVAudioRecorder *recorder; //录音器
AVAudioPlayer *player; //播放器
NSDictionary *recorderSettingsDict;//播放器的配置添加到一个字典里
NSTimer *timer; //定时器
NSMutableArray *volumImages; //图片组
double lowPassResults;//创建一个double类型的lowPassResults获取最低分贝值
NSString *playName; //录音名字
}
- (IBAction)downAction:(id)sender;//点击开始录音执行的方法
- (IBAction)upAction:(id)sender;//松手录音结束的方法
- (IBAction)playAction:(id)sender;//播放音频