AVAudioRecorder录音处理

AVAudioRecorder类是专门处理录音操作,可以在你的应用程序提供音频记录功能。录音只能保存到本地文件。它包含在AVFoundation FrameWork库中。

下面是常见的属性和方法:

属性 说明
@property(readonly, getter=isRecording) BOOL recording 是否正在录制音频(只读)
@property(readonly) NSURL *url 录音文件路径(只读)
@property(nonatomic, copy) NSArray *channelAssignments 用录音机相关的AVAudioSessionChannelDescription对象数组
@property(readonly) NSTimeInterval currentTime 录音时长(只读),只能在录音时使用,当录音停止,直为0
@property(readonly) NSTimeInterval deviceCurrentTime 输入设置的时间长度,只读,注意此属性一直可访问
@property(readonly) NSDictionary *settings 音频录音机的音频设置。(只读)
@property(getter=isMeteringEnabled) BOOL meteringEnabled 是否启用录音测量,如果启用录音测量可以获得录音分贝等数据信息
方法 说明
- (instancetype)initWithURL:(NSURL *)url settings:(NSDictionary *)settings error:(NSError **)outError 录音机对象的初始化方法,url必须是本地文件url
- (BOOL)prepareToRecord 准备录音,主要用于创建缓存
- (BOOL)record 开始录音
- (BOOL)recordAtTime:(NSTimeInterval)time 在指定的时间开始录音,
- (BOOL)recordForDuration:(NSTimeInterval)duration 按照指定的时长,开始录音
- (BOOL)recordAtTime:(NSTimeInterval)time forDuration:(NSTimeInterval)duration 在指定的时间开始录音,并指定录音时长
- (void)pause 暂停录音
- (void)stop 停止录音
- (BOOL)deleteRecording 删除录音,注意要删除录音此时录音机必须处于停止状态
代理方法 说明
- (void)audioRecorderDidFinishRecording:(AVAudioRecorder *)recorder successfully:(BOOL)flag 录音结束
- (void)audioRecorderEncodeErrorDidOccur:(AVAudioRecorder *)recorder error:(NSError *)error 录音编码发生错误

在创建录音机时除了指定路径外还必须指定录音设置信息,因为录音机必须知道录音文件的格式、采样率、通道数等信息。

时间: 2024-10-12 21:27:26

AVAudioRecorder录音处理的相关文章

iOS AVAudioRecorder 录音频率、声道、位数配置 wav格式

iOS AVAudioRecorder 录音频率.声道.位数配置 #pragma mark 录音设置 - (void)setUP_VOICE_RECOARDER { NSError *error = nil; audioSection = [AVAudioSession sharedInstance]; [audioSection setCategory:AVAudioSessionCategoryPlayAndRecord error:&error]; if (error) { NSLog(@

xcode中用AVAudioRecorder录音到指定的caf文件

-(void) StartRecord:(NSURL *) recordedFile { session = [AVAudioSession sharedInstance]; session.delegate = self; NSError *sessionError; [session setCategory:AVAudioSessionCategoryPlayAndRecord error:&sessionError]; if(session == nil) NSLog(@"Erro

ios开发——实用技术篇Swift篇&录音

录音 1 // MARK: - 录音 2 /*----- 录音 ------*/ 3 4 var recorder:AVAudioRecorder? //录音器 5 var player:AVAudioPlayer? //播放器 6 var recorderSettingsDic:[NSObject : AnyObject]? //录音器设置参数数组 7 var volumeTimer:NSTimer!//定时器线程, 刷新音量 8 var aacPath:String? //录音存储路径 9

IOS7下,AVAudioRecorder需要注意的一点

iOs7下,使用AVAudioRecorder录音的时候,会在顶部出现一个红框,或者红框一闪而过,这时候需要设置AVAudioSession,如下代码: AVAudioSession * session = [AVAudioSession sharedInstance]; NSError * sessionError = nil; [session setCategory:AVAudioSessionCategoryPlayAndRecord error:&sessionError]; if (

类似微信发送语音,按下录音,松开结束录音;并且可播放

需要导入 #import <AVFoundation/AVFoundation.h> 利用此框架中的 AVAudioRecorder和AVAudioPlayer来录音和播放以下是AVAudioRecorder录音的使用方法: - (IBAction)downAction:(id)sender { 按下录音 if ([self canRecord]) { NSError *error = nil; 必须真机上测试,模拟器上可能会崩溃 recorder = [[AVAudioRecorder al

录音文件lame转换MP3相关配置

文件下载整个功能完成了,那么对应的文件上传也跑不了.So~ Look here~ 业务需求是录制音频然后上传到七牛并且Android可以读. 与安卓沟通了一下统一了mp3格式,大小质量都不错.由于AVAudioRecorder录音的格式为.caf或者.wav而且很大需要进行转换压缩为MP3格式.这里需要用到三方库 lame. 使用lame转换后音频的质量和 _recorder = [[AVAudioRecorder alloc] initWithURL:_recordFilePath setti

Swift - 制作一个录音机(声音的录制与播放)

1,技术介绍 (1)AVFoundation.framework框架提供了AVAudioRecorder类.它可以实现录音功能. (2)而使用该框架的AVAudioPlayer类,可以实现声音的播放. 2,下面制作一个录音机样例 (1)按住录音按钮则开始录音,松开则停止录音.录音文件保存在用户文件夹下. (2)录音过程中会实时显示声音的音量大小(这个可以用来做声音脉冲图,获得更好的展示效果) (3)点击播放录音则可播放录制的声音文件. 3,效果图如下: 4,代码如下: 1 2 3 4 5 6 7

标签内容

layout 设置尺寸:第一次使用这个类或者这个类的子类的时候+(void)initialize{} Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会从直接Model中读取数据而不是通过 Controller [再复习]C语言:链表

AVFoundation 框架初探究(二)

接着第一篇总结 系列第一篇地址:AVFoundation 框架初探究(一) 在第一篇的文章中,我们总结了主要有下面几个点的知识: 1.对AVFoundation框架整体的一个认识 2.AVSpeechSynthesizer这个文字转音频类 3.AVAudioPlayer音频播放类 4.AVAudioRecorder音频录制类 5.AVAudioSession音频会话处理类 上面第一篇说的内容,大致都是关于上面总结的,接着说说我们这第二篇总结什么?其实刚开始的时候,我是想按照<AVFoundati