Browse Source

fix command center

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 1 year ago
parent
commit
2e98623c8e

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

@@ -248,6 +248,7 @@ extension NCPlayer: VLCMediaPlayerDelegate {
                 player.pause()
                 pauseAfterPlay = false
                 print(player.position)
+                self.viewerMediaPage?.updateCommandCenter(ncplayer: self, title: self.metadata.fileNameView)
             } else {
                 playerToolBar.playButtonPause()
             }

+ 3 - 1
iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.swift

@@ -134,7 +134,6 @@ class NCPlayerToolBar: UIView {
         playerButtonView.isHidden = true
         
         playButton.setImage(NCUtility.shared.loadImage(named: "play.fill", color: .white, symbolConfiguration: UIImage.SymbolConfiguration(pointSize: pointSize)), for: .normal)
-        MPNowPlayingInfoCenter.default().nowPlayingInfo?[MPNowPlayingInfoPropertyPlaybackRate] = 0
 
         playbackSlider.value = position
 
@@ -146,6 +145,8 @@ class NCPlayerToolBar: UIView {
         } else {
             hide()
         }
+
+        MPNowPlayingInfoCenter.default().nowPlayingInfo?[MPNowPlayingInfoPropertyPlaybackRate] = position
     }
 
     public func update() {
@@ -163,6 +164,7 @@ class NCPlayerToolBar: UIView {
         }
         labelCurrentTime.text = ncplayer.player.time.stringValue
         labelLeftTime.text = ncplayer.player.remainingTime?.stringValue
+
         MPNowPlayingInfoCenter.default().nowPlayingInfo?[MPMediaItemPropertyPlaybackDuration] = length / 1000
         MPNowPlayingInfoCenter.default().nowPlayingInfo?[MPNowPlayingInfoPropertyElapsedPlaybackTime] = positionInSecond
     }

+ 2 - 8
iOSClient/Viewer/NCViewerMedia/NCViewerMedia.swift

@@ -144,6 +144,8 @@ class NCViewerMedia: UIViewController {
     override func viewDidAppear(_ animated: Bool) {
         super.viewDidAppear(animated)
 
+        viewerMediaPage?.clearCommandCenter()
+        
         if metadata.isMovie {
             if let ncplayer = self.ncplayer {
                 if ncplayer.url == nil {
@@ -164,14 +166,6 @@ class NCViewerMedia: UIViewController {
             showTip()
         }
 
-        // COMMAND CENTER
-        
-        if metadata.isAudio, let ncplayer = self.ncplayer {
-            self.viewerMediaPage?.updateCommandCenter(ncplayer: ncplayer, metadata: self.metadata)
-        } else {
-            viewerMediaPage?.clearCommandCenter()
-        }
-
         NotificationCenter.default.addObserver(self, selector: #selector(openDetail(_:)), name: NSNotification.Name(rawValue: NCGlobal.shared.notificationCenterOpenMediaDetail), object: nil)
     }
 

+ 16 - 19
iOSClient/Viewer/NCViewerMedia/NCViewerMediaPage.swift

@@ -171,6 +171,7 @@ class NCViewerMediaPage: UIViewController {
 
         currentViewController.ncplayer?.playerStop()
         timerAutoHide?.invalidate()
+        clearCommandCenter()
     }
 
     override var preferredStatusBarStyle: UIStatusBarStyle {
@@ -426,12 +427,10 @@ class NCViewerMediaPage: UIViewController {
 
     // MARK: - Command Center
 
-    func updateCommandCenter(ncplayer: NCPlayer, metadata: tableMetadata) {
+    func updateCommandCenter(ncplayer: NCPlayer, title: String) {
 
         var nowPlayingInfo = [String: Any]()
 
-        // Clear
-        clearCommandCenter()
         UIApplication.shared.beginReceivingRemoteControlEvents()
 
         // Add handler for Play Command
@@ -456,27 +455,25 @@ class NCViewerMediaPage: UIViewController {
             return .commandFailed
         }
 
-        // VIDEO AUDIO () ()
-        if metadata.isMovie {
-
-            MPRemoteCommandCenter.shared().skipForwardCommand.isEnabled = true
-            skipForwardCommand = MPRemoteCommandCenter.shared().skipForwardCommand.addTarget { event in
+        // >>
+        MPRemoteCommandCenter.shared().skipForwardCommand.isEnabled = true
+        skipForwardCommand = MPRemoteCommandCenter.shared().skipForwardCommand.addTarget { event in
 
-                let seconds = Int32((event as! MPSkipIntervalCommandEvent).interval)
-                ncplayer.player.jumpForward(seconds)
-                return.success
-            }
+            let seconds = Int32((event as! MPSkipIntervalCommandEvent).interval)
+            ncplayer.player.jumpForward(seconds)
+            return.success
+        }
 
-            MPRemoteCommandCenter.shared().skipBackwardCommand.isEnabled = true
-            skipBackwardCommand = MPRemoteCommandCenter.shared().skipBackwardCommand.addTarget { event in
+        // <<
+        MPRemoteCommandCenter.shared().skipBackwardCommand.isEnabled = true
+        skipBackwardCommand = MPRemoteCommandCenter.shared().skipBackwardCommand.addTarget { event in
 
-                let seconds = Int32((event as! MPSkipIntervalCommandEvent).interval)
-                ncplayer.player.jumpBackward(seconds)
-                return.success
-            }
+            let seconds = Int32((event as! MPSkipIntervalCommandEvent).interval)
+            ncplayer.player.jumpBackward(seconds)
+            return.success
         }
 
-        nowPlayingInfo[MPMediaItemPropertyTitle] = metadata.fileNameView
+        nowPlayingInfo[MPMediaItemPropertyTitle] = title
         if let image = currentViewController.image {
             nowPlayingInfo[MPMediaItemPropertyArtwork] = MPMediaItemArtwork(boundsSize: image.size) { _ in
                 return image