iOS开发简记(4):录音AVAudioRecorder

录音,声音的采集,通常有两种实现办法,一是使用AVAudioRecorder,一是使用AudioUnit。若是只是简单的录音,使用AVAudioRecorder就能够了,若是想更灵活地处理刚录到的声音数据,那应该使用AudioUnit。微信

小程这里记录AVAudioRecorder的使用。函数

(1)初始化

AVAudioRecorder录音时,直接保存成文件,而写文件就是音频编码的过程,因此,在启动录音前,就应该设置后编码的参数(包括编码格式、采样率、位深、通道数等)。编码

能够这样设置:
spa

这里编码成aac格式。对于多媒体的知识,读者能够关注“广州小程”微信公众号,并在“多媒体”菜单项内查阅文章。继承

(2)启动录音

代码以下:
接口

调用上很简单,alloc一个AVAudioRecorder,指定录音保存路径跟录音设置,而后调用record函数就启动录音了。图片

(3)录音回调

启动录音后,应该响应AVAudioRecorder的回调函数:回调函数

- (void)audioRecorderDidFinishRecording:(AVAudioRecorder *)recorder successfully:(BOOL)flag源码

AVAudioRecorder在录音结束时会调用这个函数,实现这个函数的类须要继承协议AVAudioRecorderDelegate。it

(4)录音能量变化

通常在录音时,须要在界面上显示能量(分贝)的变化,而AVAudioRecorder提供了获取能量的接口。

能够这样取能量变化:

在取能量以前,应该先设置AVAudioRecorder的meteringEnabled属性为YES(好比在建立AVAudioRecorder时设置):

newRecorder.meteringEnabled = YES;

在拿到能量的值后,能够根据这个值来划分等级,从而在界面上显示不一样的图片,好比:

能量的等级显示,这里给出其效果的一个截图:

感谢各位的关注,后面我会把IOS客户端源码、API源码呈献给你们,完整的示例你们能够暂时到AppStore下载安装“知音”。

相关文章
相关标签/搜索