zoukankan      html  css  js  c++  java
  • 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 录音编码发生错误

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

  • 相关阅读:
    java学习day16--常用类之包装类
    String、StringBuffer、StringBuilder的异同
    java学习day15--常用类之字符串相关的类
    java学习day15--Arrays工具类
    java学习day14--二维数组
    java学习day14--可变长参数
    java学习day13--数组
    java学习day13--自定义异常类
    java学习day12--异常
    接口和抽象类的异同
  • 原文地址:https://www.cnblogs.com/sjzlovecj/p/4742884.html
Copyright © 2011-2022 走看看