AVFoundation (iOS) - 简介
AVFoundation 学习资源列表
LINK:http://www.jianshu.com/p/1c51f93d54be
^-^
文章内容:
一、它能干嘛。
二、它里面由什么组成。
三、AVFoundation。
一、它能干嘛
官方:
1、Record, edit, and play audio(A) and video(V).
【录制、编辑、播放音频和视频;注,也可以拍摄图片】
2、AVFoundation is one of several frameworks that you can use to play and create** time-based** audiovisual media.
【AVFoundation 是可以播放和创建基于时间的视听媒体框架集】
结论:
AVFoundation 是针对音频和视频的处理框架集;
1、音频:录制(创建)/编辑/播放;
2、视频:录制(创建)/编辑/播放;
3、图片:拍摄(创建);
【注:(个人见解,不讲格式等等)视频,本质是没有声音的有序图片集】
二、它里面由什么组成
官方:(AVFoundation Programming Guide)
组成结构解释:
1)、先看中间灰色圆点虚线上层是视图层(View)的封装,简言之就是可以直接当平时用 UIKit 一样使用 AVKit;下层是真正的 AV Fonudation 底层内容,主要的学习时间都在这里;
2)、AV Fonudation 右上角有个 Audio-only classes ,它里面有很多专门处理声音的 API 知道就好了;
3)、Core Audio (以下内容,现在了解一下就可以了)
link:https://developer.apple.com/reference/coreaudio?language=objc
4)、Core Media
核心是学习 CMTime/CMTimeRange ,AVFoundation 是基于时间的框架,那么学习时间的处理,当然非常重要。
【它们都是一些结构体,苹果专门为了时间的处理而做的处理,以后开发中关于时间的操作都是通过这两个结构体来完成】
【注:时间处理为什么重要,视频是以帧为单位的,一帧就是一张图片,25帧每秒(25/s),就是一秒内播放连续的25张图片,就是一秒的视频;那么那怕消失了一帧,对于视频而言是可怕的】
link:https://developer.apple.com/reference/coremedia?language=objc
5)、Core Animation 很重要,内容的渲染者(显示)
Core Audio / Core Media 并没有提供可以显示内容的类,Core Animation 里面有 CALayer (注:1.The CALayer class manages image-based content and allows you to perform animations on that content. ) 可以用于图片的内容显示。当然还有更多的功能,也集中在这里。
【OpenGL 是进于图片方面的开源库, ES 是移动设备版, 进阶的时候绝对要学的;
】
【进阶的时候才会深入学习 Core Animation 所以不用太紧张,现在不用太在意它】
三、AVFoundation
学习路径 ( ~> - ~ 贵在坚持 ~ - <~)
-
了解 (看上面两大点);
-
学习上层 AVKit 的使用;
-
学习下层 AVFoundation 内容;
-
深入学习 Core Animation / OpenGL ES / OpenCV ;