我正在尝试获取所有的视频,它们的持续时间超过1.5秒。
我已经尝试过的
let videoOptions = PHFetchOptions()
let dur : Double = 1.5
videoOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
videoOptions.predicate = NSPredicate(format: "mediaType = %d AND duration > %d", PHAssetMediaType.Video.rawValue,dur)
VideoCollectionFetchResult = PHAsset.fetchAssetsWithOptions(videoOptions) 医生说:

有什么建议吗?谢谢!
发布于 2016-04-19 16:03:41
它与格式相关-持续时间实际上是双重格式,%d表示整数。尝试使用%f,例如:
(format: "mediaType = %d AND duration > %f", PHAssetMediaType.Video.rawValue,dur)发布于 2016-12-06 18:32:01
Kateryna的回答很好,但它还没有完成代码。因此,与其花时间一起解析答案,下面是工作代码:
let videoOptions = PHFetchOptions()
videoOptions.sortDescriptors = [ NSSortDescriptor(key: "creationDate", ascending: true) ]
videoOptions.predicate = NSPredicate(format: "mediaType = %d AND duration > %f", PHAssetMediaType.video.rawValue, 1.5) // only video and 1.5 seconds or more
return videoOptionshttps://stackoverflow.com/questions/36718262
复制相似问题