iOS 音频录制以及播放

以前都没接触过音频的播放以及录制,这几天刚好帮同事写一个录音的界面,刚好记录下,增强记忆,如有什么错误请指出,thx~


简单的界面

1、录音

录音按钮需要定义多种状态

    //按钮按下-->录音

    [self.voiceBtn addTarget:self action:@selector(startRecordVoice) forControlEvents:UIControlEventTouchDown];

    //先按下然后拖动到控件之外

    [self.voiceBtn addTarget:self action:@selector(confirmRecordVoice) forControlEvents:UIControlEventTouchUpOutside];

    //控件范围内抬起,前提先得按下

    [self.voiceBtn addTarget:self action:@selector(confirmRecordVoice) forControlEvents:UIControlEventTouchUpInside];

    //拖动动作中,从控件边界内到外时产生的事件。

    [self.voiceBtn addTarget:self action:@selector(confirmRecordVoice) forControlEvents:UIControlEventTouchDragExit];

    //指拖动动作中,从控件边界外到内时产生的事件。

    [self.voiceBtn addTarget:self action:@selector(confirmRecordVoice) forControlEvents:(UIControlEventTouchDragEnter)];

这里我为了省事。所以除了按下是开始录音的状态,后面的几种都是取消录音。你也可以自定义这一步需要有什么其他的响应动作


我用了AVAudioSession这个类来实现录音以及播放的功能

1.在plist文件里面添加对应的字段Privacy - Microphone Usage Description  后面的内容自己定义,不过因为现在的审核比较严格,所以一定要具体说明用麦克风的权限去做什么事情,不然苹果爸爸一定会把你拒掉的

2.引入对应的头文件 #import <AVFoundation/AVFoundation>

3.初始化AVAudioSession对象。


初始化AVAudioSession


4.在沙盒中创建一个文件夹用来装录音文件


沙盒路径

5.初始化录音类AVAudioRecorder


初始化AVAudioRecorder

2.播放

播放的比较简单。初始化AVAudioPlayer,遵循协议,在播放完成的代理方法里实现自己的代码


初始化AVAudioPlayer


具体代码可以看我github:https://github.com/Xxxxi/RecordAndPlay  ,如果觉得对你有帮助的话,麻烦给个Star。thx~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容