首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AVFoundation框架解析看这里(1)- 概论

AVFoundation框架解析目录 AVFoundation框架解析目录 AVFoundation框架解析目录 本系列创作时间为2019年11月; Xcode版本Version 11.2 (11B52...) 当前最高系统iOS13.2 语言:Swift 在整个系列的讲解中,我尽量以最小的需求单元为出发点,详细介绍对应的知识点,这样让读者能更清楚AVFoundation的功能。...框架结构速览.png 重要的头文件 import AVFoundation.AVAnimation import AVFoundation.AVAsset import AVFoundation.AVAssetCache...import AVFoundation.AVVideoSettings 简单说明: AVAnimation动画类 AVAsset资产类可通过这个类获得图片、文件、媒体库 AVAssetExportSession...框架功能和应用方向会在后面的章节中穿插讲解及实现,在此大概分为以下功能: 采集 AVCapture 媒体捕捉 视频拍摄 图片拍摄 录制AVRecorder 音频录制 视频录制 播放 音频播放 视频播放 媒体文件处理AVAsset

1.5K21

AVFoundation 框架介绍

本期内容: AVFoundation 概述 AVFoundation 中的常用类 AVFoundation 采集设备 结束语 02 AVFoundation 概述 AVFoundation 是 iOS...中多媒体框架之一,基于 Object-C/Swift 接口,可以用来播放,编辑,重新编码音视频文件。...03 AVFoundation 常用类 AVAsset 是一个抽象类,定义了一个资产文件的抽象接口 AVURLAsset 通过 URL 创建,URL 可以是本地资源,也可以是网络资源 AVComposition...可以将多个基于本地文件的媒体数据以自定义的时间安排组合在一起, 用以呈现或处理多个源的媒体数据 AVAssetReader 用以读取 AVAsset 的媒体数据,可以直接将未解码的媒体数据解码为可用数据...如果你需要获取多张缩略图建议 使用 generateCGImageesAsynchronouslyForTimes:completionHandler: AVAssetExportSession 可以将 AVAsset

3.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

【iOS 开发】同步快速判断视频是否可以播放

常用的异步方法 import UIKit import AVFoundation class ViewController: UIViewController { var avplayer...10508878] [aqme] 254: AQDefaultDevice (173): skipping input stream 0 0 0x0 同步判断方法 import UIKit import AVFoundation...let avasset = AVAsset(url: url) print(avasset.isPlayable) } } 经过一番折腾,发现直接通过 url 新建出 AVAsset...如果仅仅是想要判断视频可播放性,而不需要使用 AVPlayer,建议使用这种方法,可以将 AVAsset 的创建逻辑加入到你的自定义播放器的 init 方法中。...我尝试在 iPhone 6s 上使用本地的一个约 800k 的 mp4 视频进行粗略测试,发现新建 AVAsset 耗时约 0.02s,新建 AVPlayer 异步返回耗时约 0.05s,这种同步方法大概快了一倍

2.1K20

GPUImage详细解析(八)视频合并混音

知识储备 1、AVFoundation AVAssetReader 从原始数据里获取音视频数据 AVAssetReaderTrackOutput 读取每帧的CMSampleBufferRef AVAssetTrack...视频轨迹,视频来源 AVAsset 主要用于获取多媒体信息,抽象类不能直接使用 AVURLAsset AVAsset的子类,根据URL路径创建包含媒体信息的AVURLAsset对象 AVPlayerItem...具体细节 1、音频流解析 1、根据movieFile的url创建AVAsset对象; 2、根据asset加载轨道信息; 3、分别添加AVMutableCompositionTrack到AVMutableComposition...苹果的官方有纯AVFoundation实现的视频合并和音频合并,但是学习的成本非常高,研究了几天还是没有吃透。而且和GPUImage没有关系,就不写入本次教程,留待以后单开一篇。...AVFoundation的内容还不够熟悉,这次很多时间是花在理解和消化音轨相关的知识。

1.9K50

AVKit框架详细解析(四) —— 基于AVKit 和 AVFoundation框架的视频流App的构建

开始 首先看下主要内容: 了解如何使用 AVKit 和 AVFoundation 框架构建视频流应用。内容来自翻译。...---- Understanding AVFoundation 虽然 AVFoundation 感觉有点吓人,但您处理的大多数对象仍然是相当高级的。...2) AVAsset:这些是媒体资产的静态表示。资产对象包含持续时间和创建日期等信息。 3) AVPlayerItem:AVAsset 的动态对应物。此对象表示可播放视频的当前状态。...您需要做的第一件事是添加正确的import语句,这次是为 AVFoundation: import AVFoundation 好的开始! 现在您可以将 AVPlayerLayer 融入其中。...前往 AppMain.swift并将以下import添加到文件顶部: import AVFoundation 接下来,使用以下行实现默认初始化程序: init() { setMixWithOthersPlaybackCategory

6.9K10

AVFoundation 框架初探究(三)

说白了就是总结 AVAsset 这个类! AVAsset ----       AVAsset是一个抽象类(抽象类中不一定包含抽象方法,但是包含抽象方法的类一定要被声明为抽象类。...一:AVAsset的异步载入  AVAsynchronousKeyValueLoading 协议       这个AVAsynchronousKeyValueLoading我们的AVAsset类是遵守了的...MP3格式收到专利限制,所以 AVFoundation 无法支持对MP3后者ID3数据进行编码。...使用AVAssetExportSession实例大致需要做下面这些:       1、需要一个AVAsset会话       2、根据前面的AVAsset会话实例以及设置的压缩质量初始化得到AVAssetExportSession...AVAsset * asset = [AVAsset assetWithURL:fileUrl]; /* 根据urlAsset创建AVAssetExportSession

1.1K30

Swift:静态工厂方法

只需将您需要设置的对象子类化,覆盖其初始化程序并在那里进行设置——完成!...虽然我们可能无法完全摆脱视图控制器(或与此相关的视图)的子类化,但是某些类型的视图控制器可以从工厂方法中受益。...特别是如果与"Swift:将视图控制器用作插件" 中的便捷API的稍加修改版本结合使用,我们现在可以在执行异步操作时轻松添加预先配置的加载视图控制器: class ProductListViewController...handle(result) } } } 对添加便捷API的唯一修改是使其返回添加的视图控制器,从而可以在使用点语法的同时获取对其的引用。...如果您想了解有关此类对象以及我通常使用工厂模式的其他方式的更多信息,请查看"Swift:使用工厂模式以避免共享状态","Swift:使用工厂进行依赖注入"和"Swift: 使用懒加载属性"。

2.4K10

Swift3 获取String字符串Substring简单扩展

Swift3更新后不兼容Swift2了,刚开始看Swift,发现好多方法都不能用了啊,那就只能自己摸索了,同时也在这与大家分享分享,正好让大家帮我指正。...在这里更新到Swift4了欢迎大家查阅、、、 1.新建一个字符串,是不是很机智(懒) let str = "Do any additional setup after loading the view,...<index4) print("string from 4 - 6 : \(str3)") //string from 4 - 6 : any 6.获取一个字符串居然要那么长的三行代码?...获取字符串 func substingInRange(r: Range) -> String { let startIndex = self.index(self.startIndex...在每天的下班后的有限的学习时间中发现了好玩的有时间就分享给大家,希望大家一起学习~ 8.修改了下扩展,加在这里 import Foundation extension String { //获取字符串

62920

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券