swift两种获取相册资源PHAsset的路径的方法(绝对路径)

方法中使用到的phasset就是我们取到的PHAsset对象

方法一:

 1 let options = PHVideoRequestOptions()
 2
 3 options.version = PHVideoRequestOptionsVersion.current
 4
 5 options.deliveryMode = PHVideoRequestOptionsDeliveryMode.automatic
 6
 7 let manager =PHImageManager.default()
 8
 9 manager.requestAVAsset(forVideo: phasset, options: options, resultHandler: { (asset, audioMix, info) in
10
11        let strArr =     ((info!asNSDictionary).object(forKey:"PHImageFileSandboxExtensionTokenKey")as!NSString).components(separatedBy:";")
12
13        let url = strArr.last!
14
15        print(url)
16
17 })

方法二(比较简洁):

1 PHCachingImageManager().requestAVAsset(forVideo: phasset as PHAsset, options:nil, resultHandler: { (asset, audioMix, info) in
2
3          let strArr =     ((info!asNSDictionary).object(forKey:"PHImageFileSandboxExtensionTokenKey")as!NSString).components(separatedBy:";")
4
5         let url = strArr.last!
6
7         print(url)
8
9 })

原文地址:https://www.cnblogs.com/-yun/p/9365546.html

时间: 2024-08-01 23:38:04

swift两种获取相册资源PHAsset的路径的方法(绝对路径)的相关文章

第31课:Spark资源调度分配内幕天机彻底解密:Driver在Cluster模式下的启动、两种不同的资源调度方式源码彻底解析、资源调度内幕总结

本課主題 Master 资源调度的源码鉴赏 Spark 的 Worker 是基于什么逻辑去启动 Executor 资源调度管理 任務調度與資源是通過 DAGScheduler.TaskScheduler.SchedulerBackend 等進行的作業調度 資源調度是指應用程序如何獲得資源 任務調度是在資源調度的基礎上進行的,沒有資源調度那麼任務調度就成為了無源之水無本之木 Master 资源调度的源码鉴赏 因為 Master 負責資源管理和調度,所以資源調度方法 scheduer 位於 Mast

使用OC和Swift两种语言写一个发射烟花的小项目

OC与Swift两种实现方式基本上区别不大,主要是在一些对象或方法的调用方式不同 OC代码样式: self.view.backgroundColor = [UIColor blackColor]; //加载颗粒状的火花图片 CAEmitterLayer *emitterLa = [CAEmitterLayer layer]; emitterLa.emitterPosition = CGPointMake(self.view.bounds.size.width/2, self.view.bound

JAVA 中两种判断输入的是否是数字的方法__正则化_

JAVA 中两种判断输入的是否是数字的方法 package t0806; import java.io.*; import java.util.regex.*; public class zhengzehua_test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { System.out.println("请输入第一个数字:"

两种解决IE6不支持固定定位的方法

有两种让IE6支持position:fixed1.用CSS执行表达式 *{margin:0;padding:0;} * html,* html body{ background-image:url(about:blank); background-attachment:fixed; } * html .fixed{ position:absolute; bottom:auto; top:expression(eval(document.documentElement.scrollTop+ doc

Driver在Cluster模式下的启动、两种不同的资源调度方式源码彻底解析、资源调度内幕总结(DT大数据梦工厂)

内容: 1.分配 Driver(Cluster): 2.为Application分配资源: 3.两种不同的资源分配方式彻底解密: 4.Spark资源分配的思考: Spark最最重要的,这个内容每个IMF成员必须掌握,后面的性能优化全部跟这个有关. ==========任务调度与资源调度的区别============ 1.任务调度是通过DAGScheduler.TaskScheduler.SchedulerBackend等进行的作业调度: 2.资源调度是指应用程序如何获取资源: 3.任务调度是在资

Windows Phone 8.1中安装包文件及其两种获取方法

Windows Phone中除了应用文件存储的三种文件类型:本地文件,漫游文件,临时文件.还有一种文件叫做安装包 文件,它是指应用程序编译之后生成的部署文件的内部数据.在安装包下的文件数据其实就是应用程序项目中添加的 文件,就比如Assets文件夹里面的图片文件等等.我们可以通过代码获取安装包下的文件,但是获取不到编译的文件 (源代码或者资类的文件). 那么哪些数据应该放到安装包文件中,哪些数据应该放到应用文件中呢?两种文件的地址和获取方式是不一样的,但 是获取的思想是一样的.应用文件的获取方式

Hibernate(八)--session的两种获取方式

openSession getCurrentSession Hibernate有两种方式获得session,分别是: openSession和getCurrentSession他们的区别在于1. 获取的是否是同一个session对象 openSession每次都会得到一个新的Session对象 getCurrentSession在同一个线程中,每次都是获取相同的Session对象,但是在不同的线程中获取的是不同的Session对象 SessionFactory factory=new Confi

两种获取python版本的方法

方法1:查看python版本 import sys print("当前python版本",sys.version) 方法2:cmd框中查看的两种方式 原文地址:https://www.cnblogs.com/studybrother/p/10909750.html

两种从 TensorFlow 的 checkpoint生成 frozenpb 的方法

1. 从 ckpt-.data,ckpt-.index 和 .meta 生成 frozenpb import os import tensorflow as tf from tensorflow.python.framework import graph_util def freeze_graph(input_checkpoint,output_graph): ''' :param input_checkpoint: :param output_graph: PB模型保存路径 :return: