marinofaggiana 3 жил өмнө
parent
commit
66715020f8

+ 14 - 3
iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayer.swift

@@ -87,7 +87,7 @@ class NCPlayer: NSObject {
                         self.saveDurationSeconds(self.durationSeconds)
                         // NO Live Photo, seek to datamebase time
                         if !metadata.livePhoto, let time = NCManageDatabase.shared.getVideoTime(metadata: metadata) {
-                            self.player?.seek(to: time)
+                            self.videoSeek(time: time)
                         }
                         DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
                             playerToolBar?.setBarPlayer(ncplayer: self)
@@ -185,17 +185,28 @@ class NCPlayer: NSObject {
         return self.durationSeconds
     }
     
-    func generatorImage() -> UIImage? {
+    func generatorImagePreview() -> UIImage? {
         guard let time = self.player?.currentTime() else { return nil }
-        
+        guard let metadata = self.metadata else { return nil }
+
         var image: UIImage?
 
         if let asset = self.player?.currentItem?.asset {
 
             do {
+                let fileNamePreviewLocalPath = CCUtility.getDirectoryProviderStoragePreviewOcId(metadata.ocId, etag: metadata.etag)!
+                let fileNameIconLocalPath = CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag)!
                 let imageGenerator = AVAssetImageGenerator(asset: asset)
                 let cgImage = try imageGenerator.copyCGImage(at: time, actualTime: nil)
                 image = UIImage(cgImage: cgImage)
+                // Preview
+                if let data = image?.jpegData(compressionQuality: 0.5) {
+                    try data.write(to: URL.init(fileURLWithPath: fileNamePreviewLocalPath), options: .atomic)
+                }
+                // Icon
+                if let data = image?.jpegData(compressionQuality: 0.5) {
+                    try data.write(to: URL.init(fileURLWithPath: fileNameIconLocalPath), options: .atomic)
+                }
             }
             catch let error as NSError {
                 print(error.localizedDescription)