首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏KyXu

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

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

    2.6K20发布于 2019-04-11
  • 来自专栏APP自动化测试

    iOS-使用ALAssetsLibrary获取相册图片视频

    : NSURL *assetURL = [[NSBundle mainBundle] URLForResource:@"guitar" withExtension:@"caf"]; AVAsset *asset = [AVAsset assetWithURL:assetURL]; NSArray *keys = @[@"tracks"]; [asset loadValuesAsynchronouslyForKeys 获得元数据 NSURL *assetURL = [[NSBundle mainBundle] URLForResource:@"123" withExtension:@"m4a"]; AVAsset *asset = [AVAsset assetWithURL:assetURL]; NSArray *keys = @[@"availableMetadataFormats"]; AVMetadataItem NSURL *assetURL = [[NSBundle mainBundle] URLForResource:@"123" withExtension:@"m4a"]; AVAsset

    1.4K50发布于 2019-10-15
  • 来自专栏移动端开发

    AVFoundation 框架初探究(三)

    说白了就是总结 AVAsset 这个类! AVAsset ----       AVAsset是一个抽象类(抽象类中不一定包含抽象方法,但是包含抽象方法的类一定要被声明为抽象类。 然而,我们可以尝试复制该方案在Objective-C中采用一些技巧,要确保不能实例化你的父类),我们前面简单的说明了一下什么是抽象类,我们的AVAsset就是一个抽象类,你通过  assetWithURL 一:AVAsset的异步载入  AVAsynchronousKeyValueLoading 协议       这个AVAsynchronousKeyValueLoading我们的AVAsset类是遵守了的 使用AVAssetExportSession实例大致需要做下面这些:       1、需要一个AVAsset会话       2、根据前面的AVAsset会话实例以及设置的压缩质量初始化得到AVAssetExportSession AVAsset * asset = [AVAsset assetWithURL:fileUrl]; /* 根据urlAsset创建AVAssetExportSession

    1.5K30发布于 2018-03-19
  • 来自专栏移动端开发

    AVFoundation 框架初探究(三)

    说白了就是总结 AVAsset 这个类! AVAsset ----       AVAsset是一个抽象类(抽象类中不一定包含抽象方法,但是包含抽象方法的类一定要被声明为抽象类。 然而,我们可以尝试复制该方案在Objective-C中采用一些技巧,要确保不能实例化你的父类),我们前面简单的说明了一下什么是抽象类,我们的AVAsset就是一个抽象类,你通过  assetWithURL 一:AVAsset的异步载入  AVAsynchronousKeyValueLoading 协议       这个AVAsynchronousKeyValueLoading我们的AVAsset类是遵守了的 使用AVAssetExportSession实例大致需要做下面这些:       1、需要一个AVAsset会话       2、根据前面的AVAsset会话实例以及设置的压缩质量初始化得到AVAssetExportSession AVAsset * asset = [AVAsset assetWithURL:fileUrl]; /* 根据urlAsset创建AVAssetExportSession

    96170发布于 2018-07-31
  • 来自专栏落影的专栏

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

    AVAssetReader 从原始数据里获取音视频数据 AVAssetReaderTrackOutput 读取每帧的CMSampleBufferRef AVAssetTrack 视频轨迹,视频来源 AVAsset 主要用于获取多媒体信息,抽象类不能直接使用 AVURLAsset AVAsset的子类,根据URL路径创建包含媒体信息的AVURLAsset对象 AVPlayerItem媒体资源管理对象,管理视频的基本信息和状态 具体细节 1、音频流解析 1、根据movieFile的url创建AVAsset对象; 2、根据asset加载轨道信息; 3、分别添加AVMutableCompositionTrack到AVMutableComposition NSMutableArray *audioTracks = [NSMutableArray array]; for(THImageMovie *movie in self.movies){ AVAsset

    2.3K50发布于 2018-04-27
  • 来自专栏sweet_iOS

    AVFoundation框架解析看这里(7)- AVAssetImageGenerator

    属性 /* 初始化 AVAssetImageGenerator的AVAsset实例。 */ open var asset: AVAsset { get } /* 指定在从asset中提取图像时是否应用track的preferredTransform(AVAssetTrack preferredTransform */ public init(asset: AVAsset) /* * 生成一张指定时间点的图片 * 不一定能精确的生成一张你所指定时间的图片,所以有两个参数 * requestedTime:

    1.6K30发布于 2020-12-23
  • 来自专栏源码分享

    ios虚拟摄像头插件,iPhone苹果替换相机软件,通过xposed框架实现

    slider.minimumValue = 0 slider.maximumValue = 60 return slider }() private var selectedAsset: AVAsset guard let result = results.first else { return } result.itemProvider.loadObject(ofClass: AVAsset.self AVAsset else { return } DispatchQueue.main.async { self.selectedAsset

    1.1K10编辑于 2025-06-17
  • 来自专栏sweet_iOS

    AVFoundation框架解析看这里(6)- AVAssetExportSession

    AVFoundation框架解析目录 本章导读 AVFoundation框架下的视频功能基本都跟AVAssetExportSession相关,AVAssetExportSession可以以指定导出预设所描述的形式从现有AVAsset AVAssetExportSession 方法 初始化方法 /* asset: 用于导出的AVAsset对象。 presetName: NSString,指定导出的预设模板的名称。 (asset: AVAsset, presetName: String) 其中presetName为以下类型: //下面这些export选项可用于生成视频大小适合设备的视频文件。

    1.7K20发布于 2020-12-23
  • 来自专栏sweet_iOS

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

    框架结构速览.png 重要的头文件 import AVFoundation.AVAnimation import AVFoundation.AVAsset import AVFoundation.AVAssetCache AVFoundation.AVTextStyleRule import AVFoundation.AVTime import AVFoundation.AVVideoSettings 简单说明: AVAnimation动画类 AVAsset 框架功能和应用方向会在后面的章节中穿插讲解及实现,在此大概分为以下功能: 采集 AVCapture 媒体捕捉 视频拍摄 图片拍摄 录制AVRecorder 音频录制 视频录制 播放 音频播放 视频播放 媒体文件处理AVAsset

    2K21发布于 2020-12-23
  • 来自专栏freesan44

    压缩视频

    NSError *error = nil; [manager copyItemAtURL:url toURL:destUrl error:&error]; //加载视频资源 AVAsset *asset = [AVAsset assetWithURL:destUrl]; //创建视频资源导出会话 AVAssetExportSession *session = [[AVAssetExportSession

    2K40发布于 2020-09-21
  • 来自专栏落影的专栏

    iOS开发-OpenGL ES实践教程(一)

    具体细节 1、AVPlayer AVAsset:用于获取多媒体信息。 AVPlayerItem:管理视频的基本信息和状态。 AVPlayer:用来读取本地或者远程的多媒体文件。 AVPlayer的使用实例 AVAsset *movieAsset = [AVURLAsset URLAssetWithURL:sourceMovieURL options:nil];

    2.1K110发布于 2018-04-27
  • 来自专栏浅探ARKit

    ARKit 在模型上播放视频(附进度控制)

    pathForResource:@"movie.MP4" ofType:nil]; NSURL \* url = [NSURL fileURLWithPath:urlStr]; AVAsset \* asset = [AVAsset assetWithURL:url]; float totalTime = CMTimeGetSeconds(asset.duration)

    1.8K120发布于 2018-05-07
  • 来自专栏DevTips

    AVFoundation 框架介绍

    03 AVFoundation 常用类 AVAsset 是一个抽象类,定义了一个资产文件的抽象接口 AVURLAsset 通过 URL 创建,URL 可以是本地资源,也可以是网络资源 AVComposition 可以将多个基于本地文件的媒体数据以自定义的时间安排组合在一起, 用以呈现或处理多个源的媒体数据 AVAssetReader 用以读取 AVAsset 的媒体数据,可以直接将未解码的媒体数据解码为可用数据 如果你需要获取多张缩略图建议 使用 generateCGImageesAsynchronouslyForTimes:completionHandler: AVAssetExportSession 可以将 AVAsset

    4K11发布于 2019-11-05
  • 来自专栏陈满iOS

    iOS网络视频下载与播放:两种视频URL格式(m3u8 & mp4)(AVFoundation框架篇·以网易视频为例)

    AVURLAssetPreferPreciseDurationAndTimingKey : @YES }]; 的AVURLAsset属于AVFoudation框架: AVFoudation>Headers>AVAsset.h flv.bn.netease.com/videolib3/1707/03/UdTtq1944/SD/movie_index.m3u8 2.3 AVFoundation框架头文件 AVFoundation>Headers>AVAsset.h

    9.9K30发布于 2018-09-10
  • 来自专栏進无尽的文章

    多媒体-图片、音频、视频压缩

    outputURL completeHandler:(void (^)(AVAssetExportSession*))handler { AVURLAsset *avAsset inputURL options:nil]; AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:avAsset

    2.1K10发布于 2018-09-12
  • 来自专栏日常技术分享

    iOS 获取网络视频第一帧

    #import "VideoHelper.h" #import <AVFoundation/AVAsset.h> #import <AVFoundation/AVAssetImageGenerator.h

    2.5K10发布于 2020-12-28
  • 来自专栏移动端开发

    AVFoundation 框架初探究(四)

    .mov",NSTemporaryDirectory(),[formatter stringFromDate:[NSDate date]]]; // 先根据你传入的文件的路径穿件一个AVAsset AVAsset * asset = [AVAsset assetWithURL:fileUrl]; /* 根据urlAsset创建AVAssetExportSession

    1.7K60发布于 2018-03-19
  • 来自专栏音视频技术

    高性能且灵活的 iOS 视频剪辑与特效开源框架 – VideoLab

    首先来看下AVFoundation视频剪辑的整体工作流程: 第一步,创建一个或多个AVAssetAVAsset是有时间的,模拟音视频实体的对象。 其中AVCompositionTrack 又可以包含来自多个 AVAsset 的AVAssetTrack。 右图的例子,将两个AVAsset中的音视频 AVAssetTrack 组合到AVComposition的音视频AVCompositionTrack中。

    2.1K20编辑于 2021-12-13
  • 来自专栏iOSer成长记录

    iOS-Core系列框架介绍(二)

    提供了一个简单的音频界面,并且是跨应用的 5.AVFoundation import AVFoundation.AVAnimation // 媒体资源和元数据 import AVFoundation.AVAsset

    1.4K50发布于 2018-06-29
  • 来自专栏一“技”之长

    iOS MachineLearning 系列(6)—— 视频中的物体轨迹分析

    // 读取视频资源 let asset = AVAsset(url: videoURL) guard let videoTrack = asset.tracks(withMediaType

    80940编辑于 2023-05-02
领券