想要在ios设备上录制音频,可以使用AVAudioRecorder类,确保你已经将CoreAudio.framework 库添加到目标文件中
AV框架中的AVAudioRecorder类使得在iOS中录制音频变得很简单。开始录制音频需要提供一些参数给AVAudioRecorder实例的initWithURL:settings:error:方法:
保存录音文件的URL
文件的URL是一个本地URL.AV框架会根据URL的扩展名来决定录制文件的音频格式。所以要仔细选择扩展名。
在采样之前和过程中使用的settings
包括采样率、频道以及其他音频录制器开始录音的信息。Setting是一个dictionary对象。
初始化错误发生时保存到error 变量中。
你可以在出现异常的情况下得到这个实例中的值。
initWithURL:settings:error: 方法的setting参数很有意思。很多值都可以保存在这个setting字典里,但是在本节中我们只讨论一些最重要的:
AVFormatIDKey
录音的格式。可能的值有:
• kAudioFormatLinearPCM
• kAudioFormatAppleLossless
AVSampleRateKey
录制音频的采样率。
AVNumberOfChannelsKey
录制音频的频道编号。
AVEncoderAudioQualityKey
录制音频的质量,可能的值有:
AVAudioQualityMin
• AVAudioQualityLow
• AVAudioQualityMedium
• AVAudioQualityHigh
• AVAudioQualityMax
掌握了所有这些信息后,我们可以开始写一个可以录制音频文件然后用AVAudioPlayer播放的程序。我们要做的具体事情是:
1. 用 Apple Lossless 格式录制音频。
2. 把录制的音频文件用Recording.m4a文件名保存到程序的Documents目录中。
3. 在录音开始10秒后停止录制并且立刻开始播放录制的音频。
代码:头文件:
2013-11-02 21:01:52.144 录制音频[1786:a0b] Successfully started to record.
2013-11-02 21:02:02.146 录制音频[1786:a0b] Successfully stopped the audio recording process.
2013-11-02 21:02:02.160 录制音频[1786:a0b] Started playing the recorded audio.
2013-11-02 21:02:12.128 录制音频[1786:a0b] Audio player stopped correctly.
原文链接:http://blog.csdn.net/chaoyuan899/article/details/14075697