在文档中,我看到了几个音频框架。所有这些似乎都是针对播放和录制音频。所以我想知道这些之间存在很大的差异吗?
音频工具箱,音频单元,AV基础和核心音频。或者我错过了一个能够很好地概述所有这些内容的指南?
答案 0 :(得分:42)
Core Audio是所有框架中最低级别的,也是最早的框架。
Audio Toolbox就在Core Audio之上,提供了许多不同的API,可以更轻松地处理声音,但仍然可以为您提供很多控制。有ExtAudioFile,AudioConverter和其他一些有用的API。
音频单元是一个框架,用于处理采样音频数据和MIDI的音频处理链。它就是混音器以及混响等各种滤波器和效果的地方。
AV Foundation是一款用于在iPhone OS上录制和播放音频的全新且相当高级的API。所有这些都可以在OS X和iOS上使用,但AV Foundation需要OS X 10.8 +。
答案 1 :(得分:36)
我对Core Audio及其(包含)框架进行了简要的图形概述:
最接近硬件的框架是Audio Unit。基于此,OpenAL和AudioToolbox与AudioQueue。最重要的是,您可以找到Media Player和AVFoundation(音频和视频)框架。
现在取决于你想做什么:只需要一个小的录音,使用AVFoundation,这是最容易使用的。 (媒体播放器没有录制选项,正如名称所说 - 它只是一个媒体播放器。)
您想进行严肃的实时信号处理吗?使用音频单元。但请相信我,这是最难的方式。 : - )
iOS 8.0 Apple推出了AVAudioEngine,这是AV Foundation的基于Objective-C / Swift的音频图形系统。这封装了来自Audio Units的一些脏C-stuff。由于音频单元的复杂性,它可能值得一看。
Apple文档中的进一步阅读:
答案 2 :(得分:7)
Core Audio实际上不是一个框架,而是一个包含许多不同框架的基础架构。实际上,任何来自iOS扬声器的音频都是由Core Audio管理的。
您可以使用音频单元获得Core Audio中的最低级别,您可以使用AudioToolbox和AudioUnit框架来处理它。
AudioToolbox框架还提供更高级别的抽象,以处理使用AudioQueues播放/录制音频,或使用各种转换器和文件服务管理各种音频格式。
最后,AV Foundation提供了播放一个特定文件的高级访问权限,MediaPlayer允许您访问(和播放)iPod库。
答案 3 :(得分:5)
本网站简要概述了不同API的核心功能: http://cocoawithlove.com/2011/03/history-of-ios-media-apis-iphone-os-20.html
答案 4 :(得分:1)