AVFoundation框架的业务层主要是AVKit和UIKit,内核层包括CoreVideo、CoreAudio、CoreMedia、VideoToolBox等。AVFoundation作为iOS的音视频框架,提供音视频播放、录制、编辑、编解码、音效设置等。接下来,让我们看一下整体的框架图。
一、AVKit
AVKit提供AVPlayerViewController(播放控制器)、AVPictureInPictureController(画中画)、AVRoutePickerView(链路选择).
二、AVAsset
AVAsset由一个或多个AVAssetTrack组成,包括:Video、Audio、Subtitle。如下图所示:
三、AVPlayer
1、AVPlayer创建流程
首先由AVAsset构造AVPlayerItem,然后AVPlayerItem构造AVPlayer,最终是AVPlayer构造AVPlayerLayer或者AVPlayerViewController。其中,AVPlayerLayer用于自定义ViewController。创建流程如下图所示:
2、AV