//音频录制(标准过程5,9更新)
准备:导入AVFoundation框架及头文件
1 设置会话类型,允许播放及录音
AVAudioSession *audioSession = [AVAudioSession
sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
2 激活会话类别
[audioSession setActive:YES error:nil];
3 封装字典参数,有音频格式int,采样率float,通道数int,深度int
是通过KVC来设置的(setValue
forKey)
NSDictionary *setting=[NSDictionary dictionary];
[setting setValue:[NSNumber numberWithInt:kAudioFormatAppleIMA4] forKey:AVFormatIDKey];
4 封装保存音频的沙盒路径
5 实例化录音对象,参数:保存URL,参数字典,错误,
注意模拟器调试,只能保存到沙盒中,
AVAudioRecorder *recorder
= [[AVAudioRecorder alloc]initWithURL:(NSURL *) settings:(NSDictionary *)
error:&error];
6 预加载准备录音
[recorder prepareRecorder];
7 处理按钮点击监听录音
监听按钮touchDown:录音开启 [recorder
recorder];
监听按钮touchUpInset:手指在点击按钮后抬起
及touchUpOutset:手指在点击按钮后在其他地方抬起
停止录音
[recorder stop];
录音的实现总结:
1 实例化单例会话对象,设置会话类别为录音及播放模式,开启会话
2
实例化录音对象,参数有存储沙盒路径,音频字典参数(音频格式,采样率,深度等)
3 封装沙盒路径
4 实例化录音对象 路径 字典参数 错误
5
预加载开启
6 监听按钮的点击状态,按下录音,抬起停止
7 监听点击 实例化音频播放对象,填入URL,播放开启
//音频播放
苹果推荐的音频类型:AAC,IMA4,CAF(CoreAudioFormat)
1 AVFoundation
(只能播放本地音频,非网络音频)
_player=[AVAudioPlayer
alloc]initWithContentsOfURL:url error:nil];
[_player play];
总结:播放本地音频三步
《1》封装音频URL路径
《2》类方法 初始化音频对象,参数URL
错误处理
《3》对象开启
对象中有许多属性 设置循环次数,播放控制(play/stop)及预加载方法prepareToPlay