AVFoundation
是苹果的现代媒体框架,它包含了一些不同用途的 API 和不同层级的抽象。其中有一些是Objective-C 对于底层 C 语言接口的封装。除了少数的例外情况,AVFoundation 可以同时在 iOS 和 mac OS 中使用。
AVAudioRecorder
录音机,提供了在应用程序中的音频记录能力。作为与 AVAudioPlayer 相对应的 API,AVAudioRecorder 是将音频录制为文件的最简单的方法。除了用一个音量计接受音量的峰值和平均值以外,这个 API 简单粗暴,如果你的使用场景很简单的话,这可能恰恰就是你想要的方法。
AVAudioPlayer
这个高层级的 API 为你提供一个简单的接口,用来播放本地或者内存中的音频。这是一个无界面的音频播放器 (也就是说没有提供 UI 元素),使用起来也很直接简单。它不适用于网络音频流或者低延迟的实时音频播放。如果这些问题都不需要担心,那么 AVAudioPlayer 可能就是正确的选择。音频播放器的 API 也为我们带来了一些额外的功能,比如循环播放、获取音频的音量强度等等。
本文中Demo下载及截图:
AVAudioRecorder录音使用介绍:
1、导入AVFoundation框架
2、获取沙盒路径
3、录音会话设置(小编试了一下,如果不设置录音会话,播放录音的声音会很小)
4、创建录音配置信息的字典
5、创建存放录音文件的地址(音频流写入文件的本地文件URL)
6、初始化AVAudioRecorder对象
7、开始录音
8、常用 AVAudioRecorderDelegate
AVAudioPlayer播放录音文件:
1、初始化AVAudioPlayer对象
2、播放录音
3、常用AVAudioPlayerDelegate
4、AVAudioPlayer播放本地音频文件的代码在Demo中。
原文作者:onefboy
链接:https://www.jianshu.com/p/71d49db93ead