AVFoundation那些事儿
作为MacOS 或 iOS开发者,在接触音视频等功能时,或多或少接触过这个框架,初见只道简单,细品才觉深奥,无论了解深浅、使用多少,都值得总结一番。
AVFoundation combines several major technology areas that together encompass a wide range of tasks for inspecting, playing, capturing, and processing audiovisual media on Apple platforms.
AVFoundation结合了几个主要的技术领域,包含了在苹果平台上检查、播放、拍摄和处理音视频媒体的广泛任务。
能做什么
- 音频、视频的播放
- 简单编辑功能,拼接视频、音量及透明度渐变、简单的水印动画等
- 视频格式转换
- 视频缩略图提取
- 其他功能,如二维码识别及人脸检测等功能
不能做什么
- 曲线变速等复杂功能无法单纯依靠该框架实现
概述
AVFoundation主要由两个方面组成,处理音视频部分的API和单纯处理音频的API构成。视频部分下述详细介绍,关于遗留的音频老API,它给我们提供了简洁高效的处理音频的方式。
- 播放音频,使用AVAudioPlayer
- 录制音频,使用AVAudioRecorder
更多音频操作使用AVAudioSession
表示及使用媒体资源的方式
AVAsset
AVFoundation中表示媒体资源的最重要的类,理解了它的结构后会加深AVFoundation的工作机制,很多功能也是基于它