上图是AV Foundation框架在苹果媒体系中的角色。
- Core Audio
Core Audio是iOS系统上处理所有音频时间的框架。Core Audio是由多个框架整合在一起的总称,为音频录制、播放和处理提供相关接口。 - Core Video
Core Video是iOS系统上针对数字视频所提供的管道模式。Core Video为其相对的Core Media提供图片缓存和缓存池支持,提供一个能够对数字视频逐帧访问的接口 - Core Media
Core Media是AV Foundation所用到的低层级媒体管道的一部分。它提供针对音频样本和视频帧处理所需的低层级数据类型和接口。Core Media还提供了AV Foundation用到的基于CMTime数据类型的时基模型。 - Core Animaiton
Core Animaiton是iOS提供的合成及动画相关的框架。主要功能就是提供iOS所具有的美观、流畅的动画效果。提供了一个简单、申明行的编程模式,并已经封装了支持OpenGL和OpenGL ES功能的基于Objective-C的各种类。
AV Foundation位于高层框架和底层框架之间。
按功能划分AV Foundation主要:
- 音频记录和播放
上图中AV Foundation的右上角有标为“Audio-only classes”,这是AV Foundation早起的功能,AVAudioPlayer和AVAudioRecorder - 媒体文件检查
AV Foundation提供了检查正在使用的媒体文件的功能。可以查看这些媒体资源是否可以用于回放、是否可以被编辑和导出。获取相关技术参数,内容持续时间、创建日期或首选播放音量等。 - 视频播放
AV Foundation可以播放本地文件或远程流中获取的视频资源,并对视频的播放和内容的展示进行控制。核心类是AVPlayer和AVPlayerItem。 - 媒体捕捉
AV Foundation提供了丰富的API多摄像头进行精密的控制。核心类AVCaptureSession,其作为所有活动的汇集点来接收摄像头设备由各路流发出过来的电影和图片。 - 媒体编辑
AV Foundation对媒体资源的整合和编辑提供了强有力的支持。该框架允许创建可以将多个音频和视频资源进行组合的应用程序,允许修改和编辑独立的媒体片段、随时修改音频文件的参数以及添加动画标题和场景切换效果。