学习笔记- AVFoundation Programming Guide - 概括

关于 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 的一个实例来为用户显示相机当前正在录制的信息。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值