Ich habe AVUrlAsset so etwas wie "file: ///var/mobile/Media/DCIM/101APPLE/IMG_1006.MOV". Wie kann ich auf Video von dieser URL in Swift zugreifen?Wie kann ich auf Video/Bild von AVURLAsset URL in Swift 3.3x zugreifen?
1
A
Antwort
1
diese Weise können Sie alle Videos
DispatchQueue.global(qos: .background).async {
PHPhotoLibrary.requestAuthorization { (status) -> Void in
let allVidOptions = PHFetchOptions()
allVidOptions.predicate = NSPredicate(format: "mediaType = %d", PHAssetMediaType.video.hashValue) //Any type you want to fetch
allVidOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: true)]
//Now the set the option to `fetchAssets`
let allVids = PHAsset.fetchAssets(with: allVidOptions)
print("All Videos Count \(allVids.count)")
for index in 0..<allVids.count {
let videoRequestOptions = PHVideoRequestOptions()
videoRequestOptions.deliveryMode = .fastFormat //quality-> 360p mp4
videoRequestOptions.version = .original
PHImageManager.default().requestPlayerItem(forVideo: allVids[index], options: videoRequestOptions , resultHandler: { (playerItem, result) in
// print(result as! [String: AnyObject])
// print(playerItem)
let currentVideoUrlAsset = playerItem?.asset as? AVURLAsset
let currentVideoFilePAth = currentVideoUrlAsset!.url
let lastObject = currentVideoFilePAth.pathExtension
print(lastObject)
if lastObject == "M4V" {
self.arrOfVideos.append(playerItem!)
}
//NSString *lastPath = [videoURL lastPathComponent];
//NSString *fileExtension = [lastPath pathExtension];
//NSLog(@"File extension %@",fileExtension);
var i = Int()
print("Appending.... \(i);)")
i += 1
print("My Videos Count \(self.arrOfVideos.count)")
DispatchQueue.main.async(execute: {
self.tblVideos.reloadData()
})
})
//fetch Asset here
//print(allVids[index].description)
// print(self.arrOfVideos) //will show empty first then after above completion the execution will come here again
}
}
}
2
Ich denke holen können, haben Sie den URL-Pfad kannte. dann könnte man wie folgt vorgehen:
let urlStr = URL.init(fileURLWithPath:"file:///var/mobile/Media/DCIM/101APPLE/IMG_1006.MOV")
let asset = AVURLAsset.init(url: urlStr)
Die apple reference hilft
Verwandte Themen
- 1. Wie kann ich `Any` in` Swift` auf 'AnyHashable`-Typen zugreifen?
- 2. Wie kann ich per URL auf den Controller zugreifen?
- 3. Wie kann ich auf ein Objekt von `Any` Type zugreifen?
- 4. Ich kann nicht auf PHImageManager zugreifen (swift 3 xcode)
- 5. Wie kann ich auf OpenSearchServer-Datenbankfelder zugreifen?
- 6. Wie kann ich von Genymotion 2.6.0 auf localhost zugreifen?
- 7. Kann nicht auf Daten außerhalb der Schließung in swift zugreifen
- 8. Ich kann nicht auf die URL meiner Anwendung zugreifen
- 9. Wie kann ich auf den Startmenüpfad zugreifen?
- 10. Wie kann ich auf Kommandozeilenparameter zugreifen?
- 11. Wie kann ich auf neo4j-Ergebniseigenschaften zugreifen?
- 12. Wie kann ich auf Gitlab zugreifen?
- 13. Wie kann ich auf Werte in diesem JSON zugreifen?
- 14. Videoformat Verwendung in Videobild
- 15. Wie kann ich auf diese JSON-Daten in Django zugreifen?
- 16. Wie kann ich auf Iframe-Elternelemente zugreifen?
- 17. Wie kann ich auf andere Fenstersteuerelemente zugreifen?
- 18. Wie kann ich auf den Pfad zugreifen?
- 19. Hinzufügen von ScrollView unter Videobild
- 20. Wie kann ich dynamisch auf angularjs zugreifen?
- 21. Wie kann ich auf reaktive Formulargruppenvalidierungen zugreifen?
- 22. Zugreifen auf Zeilen in Swift verschachtelten Wörterbüchern
- 23. Wie kann ich auf andere Benutzerprofile mit einem authentifizierten Konto von URL zugreifen?
- 24. Auf Temp-Verzeichnis in Swift zugreifen
- 25. Wie kann ich von Perl aus auf INI-Dateien zugreifen?
- 26. Wie kann ich von einer SKScene auf die Navigationsleiste zugreifen?
- 27. Wie kann ich auf ein Array von mehrstufigen Objekten zugreifen?
- 28. Wie kann ich von einer Ansicht auf ein Dialogfeld zugreifen?
- 29. Wie kann ich auf das Session-Objekt von Dancer2 zugreifen?
- 30. Wie kann ich auf appInsights.context von Javascript-Code zugreifen
Sie haben '' AVUrlAsset? –
lässt sagen, ich habe nur URL (file: ///var/mobile/Media/DCIM/101APPLE/IMG_1006.MOV) das ist es, so wie ich von diesem Medium zugreifen kann? iOS erlaubt keinen direkten Zugriff auf den Dateipfad richtig – Ganesh
Sie können über 'PHImageManager' zugreifen und Sie erhalten' playerItem' daraus. –