|
@@ -38,6 +38,7 @@ class NCPlayer: NSObject {
|
|
|
private var playerToolBar: NCPlayerToolBar?
|
|
|
private var detailView: NCViewerMediaDetailView?
|
|
|
private var observerAVPlayerItemDidPlayToEndTime: Any?
|
|
|
+ private var observerAVPlayerItemPlaybackTimeObserver: Any?
|
|
|
|
|
|
public var metadata: tableMetadata?
|
|
|
public var videoLayer: AVPlayerLayer?
|
|
@@ -88,6 +89,11 @@ class NCPlayer: NSObject {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ let interval = CMTime(seconds:1.0, preferredTimescale: CMTimeScale(NSEC_PER_SEC))
|
|
|
+ observerAVPlayerItemPlaybackTimeObserver = appDelegate.player?.addPeriodicTimeObserver(forInterval: interval, queue: DispatchQueue.main) { time in
|
|
|
+ print(time.seconds)
|
|
|
+ }
|
|
|
+
|
|
|
appDelegate.player?.currentItem?.asset.loadValuesAsynchronously(forKeys: ["playable"], completionHandler: {
|
|
|
var error: NSError? = nil
|
|
|
let status = self.appDelegate.player?.currentItem?.asset.statusOfValue(forKey: "playable", error: &error)
|
|
@@ -171,6 +177,10 @@ class NCPlayer: NSObject {
|
|
|
if let observerAVPlayerItemDidPlayToEndTime = self.observerAVPlayerItemDidPlayToEndTime {
|
|
|
NotificationCenter.default.removeObserver(observerAVPlayerItemDidPlayToEndTime)
|
|
|
}
|
|
|
+ if let observerAVPlayerItemPlaybackTimeObserver = self.observerAVPlayerItemPlaybackTimeObserver {
|
|
|
+ appDelegate.player?.removeTimeObserver(observerAVPlayerItemPlaybackTimeObserver)
|
|
|
+ self.observerAVPlayerItemPlaybackTimeObserver = nil
|
|
|
+ }
|
|
|
NotificationCenter.default.removeObserver(self, name: NSNotification.Name(rawValue: NCGlobal.shared.notificationCenterApplicationDidEnterBackground), object: nil)
|
|
|
|
|
|
self.videoLayer?.removeFromSuperlayer()
|
|
@@ -186,6 +196,9 @@ class NCPlayer: NSObject {
|
|
|
} catch {
|
|
|
print(error)
|
|
|
}
|
|
|
+
|
|
|
+ UIApplication.shared.endReceivingRemoteControlEvents()
|
|
|
+ MPNowPlayingInfoCenter.default().nowPlayingInfo = [:]
|
|
|
}
|
|
|
|
|
|
//MARK: - NotificationCenter
|