学习笔记- AVFoundation Programming Guide - 概括
2016-07-20 14:15
363 查看
关于 AVFoundation
1. AVAsset
表示一个或多个媒体数据(音频或视频),能提供媒体的信息(标题,时间,等待),AVAsset不依赖特定数据格式,通过媒体文件的URL即可创建。
AVAsset或track被初始化后,并不意味着马上就准备好,可能需要一些时间来计算文件的持续时间。所以需要定义一个块,通过异步回调返回状态。
2. Playback
AVFoundation 允许你管理播放asset,为了支持这一点,他将asset的的表现状态从asset本身分离出来。
例如:在不同的方案中,同一时间播放相同asset的两个不同段。
asset的表现状态有player item对象管理;asset的每个track的表现状态由player item track 对象管理。
用player对象播放player items,直接将player的输出到Core Animation layer上。
可以使用player queue 按顺序暴风多个items。
3. Reading,Writing,and Reencoding Assets
AVFoundation 允许你通过多种方法创建asset新的表现形式。可以简单的操作现有的asset,或者在一个asset上进行操作,将结果保存为一个新的asset。
你可以使用asset reader 和asset writer 对象把asset从一种表现形式转换成另一种。
例如:选择在输出文件中表现的轨道,指定您自己的输出格式,或者在转换过程中修改asset。
4. Thumbnails
创建视频的缩略图,需要通过asset来初始化一个AVAssetImageGenerator实例。
使用默认开启的视频轨道生成图像。
5. Editing
AVFoundation通过多种现有的媒体块,组合创建新的assets(通常是一个或多个视频和音频轨道)。
你用可变的添加和删除轨道,调整时间排序。也可以设置相对音量,增加音频轨道;并设置不透明度,视频轨道。
你可以通过媒体文件创建一个asset,例如用asset writer 生成的数据或静态图片。
6. Still and Video Media Capture
capture session 管理从相机和麦克风中捕获数据输入。capture session 协调从输入设备到输出,如电影文件的数据流。
你可以为一个session配置多个输入和输出,即使session正在运行。你可以发送消息到session来启动和停止数据流。
另外,你可以用preview layer 的一个实例来为用户显示相机当前正在录制的信息。
1. AVAsset
表示一个或多个媒体数据(音频或视频),能提供媒体的信息(标题,时间,等待),AVAsset不依赖特定数据格式,通过媒体文件的URL即可创建。
AVAsset或track被初始化后,并不意味着马上就准备好,可能需要一些时间来计算文件的持续时间。所以需要定义一个块,通过异步回调返回状态。
2. Playback
AVFoundation 允许你管理播放asset,为了支持这一点,他将asset的的表现状态从asset本身分离出来。
例如:在不同的方案中,同一时间播放相同asset的两个不同段。
asset的表现状态有player item对象管理;asset的每个track的表现状态由player item track 对象管理。
用player对象播放player items,直接将player的输出到Core Animation layer上。
可以使用player queue 按顺序暴风多个items。
3. Reading,Writing,and Reencoding Assets
AVFoundation 允许你通过多种方法创建asset新的表现形式。可以简单的操作现有的asset,或者在一个asset上进行操作,将结果保存为一个新的asset。
你可以使用asset reader 和asset writer 对象把asset从一种表现形式转换成另一种。
例如:选择在输出文件中表现的轨道,指定您自己的输出格式,或者在转换过程中修改asset。
4. Thumbnails
创建视频的缩略图,需要通过asset来初始化一个AVAssetImageGenerator实例。
使用默认开启的视频轨道生成图像。
5. Editing
AVFoundation通过多种现有的媒体块,组合创建新的assets(通常是一个或多个视频和音频轨道)。
你用可变的添加和删除轨道,调整时间排序。也可以设置相对音量,增加音频轨道;并设置不透明度,视频轨道。
你可以通过媒体文件创建一个asset,例如用asset writer 生成的数据或静态图片。
6. Still and Video Media Capture
capture session 管理从相机和麦克风中捕获数据输入。capture session 协调从输入设备到输出,如电影文件的数据流。
你可以为一个session配置多个输入和输出,即使session正在运行。你可以发送消息到session来启动和停止数据流。
另外,你可以用preview layer 的一个实例来为用户显示相机当前正在录制的信息。
相关文章推荐
- Compile、Make和Build的区别
- iO 4000 S--集合视图CollectionView
- UITextField
- The requested resource was not found on this server
- Ajax请求中的async:false/true的作用
- 374. Guess Number Higher or Lower猜数大小
- 仿米UI的ViewPagerIndicator ViewPager指示器
- 300. Longest Increasing Subsequence最长递增子序列
- 357. Count Numbers with Unique Digits统计各位不同的数字个数
- You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE)
- TOJ 3990.I guess the gift is a bag! II(质因数、欧拉函数好题)
- 第五部分:UI基本布局 & 引入布局(LinearLayout、RelativeLayout、FrameLayout、TableLayout)
- hdu1242 Rescue--BFS
- iOS核心动画-UIView封装动画
- Hibernate JdbcTemplate的queryForInt的些许问题
- HUE配置HIVE
- 安卓学习笔记---好看的UI界面
- 基于MVC4+EasyUI的Web开发框架经验总结(17)--布局和对话框自动适应大小的处理
- leetcode 375. Guess Number Higher or Lower II
- UINavigationController介绍:6-自定义导航栏(锤子便签)