2016-04-19 17 views
1

Ich versuche alle Videos zu holen, deren Dauer höher als 1,5 Sekunden ist.PHFetchOptions Dauer funktioniert nicht richtig

Was ich

 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) 

docs versucht haben, sagt:

enter image description here

Irgendwelche Vorschläge? Vielen Dank!

+0

Was ist das Problem eigentlich? Erhalten Sie keine Ergebnisse oder erhalten Sie falsche Ergebnisse? –

+0

@KaterynaGridina falsche Ergebnisse. Wie es die Dauer ignoriert (nur) –

+0

kann auf das Format bezogen werden - Dauer ist eigentlich Double-Format, und% d ist für Integer. Versuchen Sie% f, wie zu verwenden: (Format: "mediaType =% d AND Dauer>% f", PHAssetMediaType.Video.rawValue, dur) –

Antwort

2

Es bezieht sich auf das Format - Dauer ist eigentlich Double-Format, und% d ist für Integer. Versuchen Sie,% f, wie zu verwenden:

(format: "mediaType = %d AND duration > %f", PHAssetMediaType.Video.rawValue,dur) 
1

Kateryna Antwort ist in Ordnung, aber es ist nicht Code abgeschlossen. Anstatt also die Zeit zu analysieren, um die Antwort zusammen zu analysieren, gibt es hier folgenden Code: