Saya perlu mendeteksi ketika AVPlayer ditutup. Ketika saya membuka situs web dengan konten video di dalam webkit dan menekan pemutar AVPlayer akan terbuka dan saya dapat mendeteksi ini menggunakan kode di bawah ini:

override func viewDidLoad() {
        super.viewDidLoad()
        webkit.load(request)

 NotificationCenter.default.addObserver(self, selector: #selector(windowDidBecomeVisibleNotification(notif:)), name: NSNotification.Name("UIWindowDidBecomeVisibleNotification"), object: nil)

}

@objc func windowDidBecomeVisibleNotification(notif: Notification) {
        
        
            if let isWindow = notif.object as? UIWindow {
                if (isWindow !== self.view.window) {
                    print("New window did open, check what is the currect URL")
                }
            }
         }

Tapi saya tidak mengerti bagaimana menulis ulang kode ini jika saya tidak ingin melakukan tindakan sebaliknya ketika pengguna menutup pemutar ini.

Saya mencoba menulis ulang kode ini tetapi upaya saya gagal.

0
Ice 19 November 2020, 14:06

1 menjawab

Jawaban Terbaik

Perlu membuat dua pengamat yang berpusat pada pemberitahuan untuk mendeteksi, memaksimalkan dan meminimalkan avplayer

 override func viewDidLoad() {
        super.viewDidLoad()

// listen for videos playing in fullscreen
        NotificationCenter.default.addObserver(self, selector: #selector(onDidEnterFullscreen(_:)), name: UIWindow.didBecomeVisibleNotification, object: view.window)

        // listen for videos stopping to play in fullscreen
    NotificationCenter.default.addObserver(self, selector: #selector(onDidLeaveFullscreen(_:)), name: UIWindow.didBecomeHiddenNotification, object: view.window)
}

@objc func onDidEnterFullscreen(_ notification: Notification) {
    print("Enter Fullscreen")
}

@objc func onDidLeaveFullscreen(_ notification: Notification) {
    print("Leave Fullscreen")
}
0
Ice 20 November 2020, 09:19