您的位置:首页 > 产品设计 > UI/UE

学习笔记- 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 的一个实例来为用户显示相机当前正在录制的信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: