iOS 音频录制以及播放

作者: 萌萌萌萌萌萌吗 | 来源:发表于2018-06-07 11:16 被阅读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~

    相关文章

      网友评论

        本文标题:iOS 音频录制以及播放

        本文链接:https://www.haomeiwen.com/subject/skgpdftx.html