Marino Faggiana 2 жил өмнө
parent
commit
57f5baafc6

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

@@ -41,15 +41,17 @@ class NCPlayer: NSObject {
 
     private weak var imageVideoContainer: imageVideoContainerView?
     private weak var detailView: NCViewerMediaDetailView?
+    private weak var viewerMediaPage: NCViewerMediaPage?
     private var observerAVPlayerItemDidPlayToEndTime: Any?
     private var observerAVPlayertTime: Any?
 
     var player: VLCMediaPlayer?
     var metadata: tableMetadata
+    var singleTapGestureRecognizer: UITapGestureRecognizer!
 
     // MARK: - View Life Cycle
 
-    init(imageVideoContainer: imageVideoContainerView, playerToolBar: NCPlayerToolBar?, metadata: tableMetadata, detailView: NCViewerMediaDetailView?, viewController: UIViewController) {
+    init(imageVideoContainer: imageVideoContainerView, playerToolBar: NCPlayerToolBar?, metadata: tableMetadata, detailView: NCViewerMediaDetailView?, viewController: UIViewController, viewerMediaPage: NCViewerMediaPage?) {
 
         self.isStartPlayer = false
         self.isStartObserver = false
@@ -58,6 +60,7 @@ class NCPlayer: NSObject {
         self.metadata = metadata
         self.detailView = detailView
         self.viewController = viewController
+        self.viewerMediaPage = viewerMediaPage
 
         super.init()
 
@@ -76,7 +79,9 @@ class NCPlayer: NSObject {
     }
 
     func openAVPlayer(url: URL, autoplay: Bool) {
+
         self.url = url
+        self.singleTapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(didSingleTapWith(gestureRecognizer:)))
 
 #if MFFFLIB
         MFFF.shared.setDelegate = self
@@ -111,6 +116,10 @@ class NCPlayer: NSObject {
         }
 
         player?.drawable = self.imageVideoContainer
+        if let view = player?.drawable as? UIView {
+            view.isUserInteractionEnabled = true
+            view.addGestureRecognizer(singleTapGestureRecognizer)
+        }
 
         playerToolBar?.setBarPlayer(ncplayer: self)
         playerToolBar?.setMetadata(self.metadata)
@@ -123,6 +132,10 @@ class NCPlayer: NSObject {
         }
     }
 
+    @objc func didSingleTapWith(gestureRecognizer: UITapGestureRecognizer) {
+        viewerMediaPage?.didSingleTapWith(gestureRecognizer: gestureRecognizer)
+    }
+
     // MARK: - NotificationCenter
 
     @objc func applicationDidEnterBackground(_ notification: NSNotification) {

+ 1 - 1
iOSClient/Viewer/NCViewerMedia/NCViewerMedia.swift

@@ -110,7 +110,7 @@ class NCViewerMedia: UIViewController {
                 playerToolBar.viewerMediaPage = viewerMediaPage
             }
 
-            self.ncplayer = NCPlayer.init(imageVideoContainer: self.imageVideoContainer, playerToolBar: self.playerToolBar, metadata: self.metadata, detailView: self.detailView, viewController: self)
+            self.ncplayer = NCPlayer.init(imageVideoContainer: self.imageVideoContainer, playerToolBar: self.playerToolBar, metadata: self.metadata, detailView: self.detailView, viewController: self, viewerMediaPage: self.viewerMediaPage)
         }
 
         // TIP

+ 1 - 1
iOSClient/Viewer/NCViewerMedia/NCViewerMediaPage.swift

@@ -620,7 +620,7 @@ extension NCViewerMediaPage: UIGestureRecognizerDelegate {
 
                 NCNetworking.shared.getVideoUrl(metadata: metadata) { url in
                     if let url = url {
-                        self.ncplayerLivePhoto = NCPlayer.init(imageVideoContainer: self.currentViewController.imageVideoContainer, playerToolBar: nil, metadata: metadata, detailView: nil, viewController: self)
+                        self.ncplayerLivePhoto = NCPlayer.init(imageVideoContainer: self.currentViewController.imageVideoContainer, playerToolBar: nil, metadata: metadata, detailView: nil, viewController: self, viewerMediaPage: self)
                         self.ncplayerLivePhoto?.openAVPlayer(url: url, autoplay: true)
                     }
                 }