2016-04-07 11 views

Antwort

1

Jede PHAsset hat eine Eigenschaft mediaType die PHAssetMediaType ist. Es zeigt an, um welchen Typ es sich handelt: Bild, Video, Audio oder schließlich Unbekannt. Es gibt auch eine mediaSubtypes Eigenschaft für einige genauere Informationen über das Asset (hohe Bildrate Video, Zeitraffer-Video und so weiter).

Also im Grunde, wenn Sie die Ergebnisse in Ihrer Sammlung Ansicht verteilen Sie ein Bild als Miniaturansicht angezeigt werden, aber wenn Sie die media überprüfen und sehen Sie es ein Video ist können Sie entscheiden, wie man damit umgehen - entweder bereiten einen Spieler oder präsentieren Sie einen anderen View/View-Controller, um das Video abzuspielen.

Ich hoffe, es hilft für den Anfang, da ich nicht weiß, wie Sie Ihren Abruf von der Fotos-Bibliothek strukturiert haben.

+0

ähnliche Frage mit einem großen BOUNTY http://stackoverflow.com/questions/43791151/100-bounty-actually-get-the-filename- von-image-gespeichert-zu-fotos-album-2017-ios10 – Fattie

2

Sie können PHFetchResult verwenden, um alle PHAsset zu erhalten, ändern PHAssetMediaType Sie können unterschiedliche Ergebnisse erhalten.

Hier sind alle Beispielcodes Videos erhalten:

PHFetchResult *results = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeVideo options:nil]; 
NSMutableArray *temp = [NSMutableArray arrayWithCapacity:results.count]; 

[results enumerateObjectsUsingBlock:^(PHAsset *obj, NSUInteger idx, BOOL * _Nonnull stop) { 
    [temp addObject:obj]; 
}];