音视频从入门到放弃ios developers

iOS 音频录制以及播放

2018-06-07  本文已影响0人  萌萌萌萌萌萌吗

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

上一篇下一篇

猜你喜欢

热点阅读