Ich speichere alle Fotos in uicollectionview. aber es spart in uiimageview. Ich muss eine Play-Taste zeigen, wenn die Datei Video-Typ ist. Gibt es eine Möglichkeit, den Typ des Mediums beim Abrufen zu finden?Ich benutze PH Foto-Bibliothek, um alle Fotos und Videos zu erhalten
Antwort
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.
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];
}];
ä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