AV Foundation 框架适用范围

Mac OS X 和 iOS 为开发者提供了一系列高层级和低层级的框架来实现时基媒体(timed media)的各功能.
下面是 AV Foundation 在整个体系中所处的角色.

AV Foundation 框架适用范围_第1张图片
角色.png
Core Audio

Core Audio 是处理所有音频事件的框架. 由多个框架整合在一起的总称, 为音频和 MIDI 内容的录制/播放/处理 提供相应接口.
Core Audio 也提供高层级的接口, 比如 Audio Queue Services 框架所提供的接口, 主要处理基本的音频播放和录音相关功能.
同时还提供了相对低层级的接口, 尤其是 Audio Units 接口, 他们提供了针对音频信号进行完全控制的功能, 并通过 Audio Units 能够构建一些复杂的音频处理模式, 就像通过苹果公司的 Logic Pro X 和 Avid's Pro Tools 工具所实现的功能一样.
<> 这本书详细的介绍了 Core Audio 这个框架.

Core Video

Core Video 是 OS X 和 iOS 系统上针对数字视频所提供的管理模式.Core Video 为其相对的 Core Media 提供图片缓存和缓存池支持, 提供了一个能够对数字视频逐帧访问的接口. 该框架通过像素格式之间的转换并管理视频同步事项使得复杂的工作得到了有效简化.

Core Media

Core Media 是 AV Foundation 所用到的低层级媒体管道的一部分. 他提供针对音频样本和视频帧处理所需的低层级数据类型和接口. Core Media 还提供了 AV Foundation 用到的基于 CM Time 数据类型的时基模型. CM Time 及其相关数据类型一般在 AV Foundation 处理基于时间的操作时使用.

Core Animation

Core Animation 是 OS X 和 iOS 提供的合成及动画相关框架. 主要功能就是提供苹果平台所具有的美观, 流畅的动画效果. 提供了一个简单, 声明性的编程模式, 并已经封装了支持 OpenGL 和 OpenGL ES 功能的基于 Objective-C 的各种类.
使用 Core Animation 时, 对于视频内容的播放和视频捕获这两个动作, AV Foundation 提供了硬件加速机制来对整个流程进行优化. AV Foundation 还可以利用 Core Animation 让开发者能够在视频编辑和播放过程中添加动画标题和图片效果.

音频专用类

音频专用类是由 AV Foundation 提供的关于音频处理的一些早期功能.AVAudioPlayer 和 AVAudioRecorder 可以在应用程序中提供一种更简单的整合音频播放和记录的功能. 这些方法并不是 AV Foundation 用于播放和记录音频的唯一方式, 却是学习起来最简单且功能最强大的方法.

处于高层级框架和低层级框架之间的 AV Foundation, 在整个媒体分类中举足轻重, 她提供了很多低层级框架才能实现的功能和高性能, 并且是以更简单的 Objective-C 接口方式实现的.
同时她也可以和高层级的框架无缝衔接, 比如 Media Player 和 Assets Library, 使用这两个框架所提供的服务并在需要更高级的功能时, 可直接与 Core Media 和 Core Audio 进行交互.
此外, 由于 AV Foundation 处于 UIKit 和 AppKit 层之下, 这也意味着可以在两个平台下使用这个媒体框架. 只需要一个系统下学习这个框架即可. 将代码和所学到的知识经验用于另一个平台.

你可能感兴趣的:(AV Foundation 框架适用范围)