ios - 检测 AVPlayerViewController 的关闭按钮的点击

标签 ios swift media-player avplayerviewcontroller

视频播放有一个功能,就像linkedIn视频播放一样。 我正在使用 AVPlayerViewController 播放视频。我面临的问题是,当 AVPlayerviewController 关闭时,我无法检测到关闭按钮事件。 当 AVPlayerController 关闭时,是否有任何观察者或方法会调用?

最佳答案

Swift 3.2

import UIKit
import AVKit
import AVFoundation

class PlayResourcesVC: UIViewController {

    //MARK:- Variable Declarations
    var video_Url:String = String()
    let playerController = AVPlayerViewController()


    //MARK:- ViewDidload
    override func viewDidLoad() {
        super.viewDidLoad()

        let player = AVPlayer(url: URL(string: video_Url)!)
        playerController.player = player
        self.present(playerController, animated: false) {
            player.play()
            self.playerController.addObserver(self, forKeyPath: #keyPath(UIViewController.view.frame), options: [.old, .new], context: nil)
        }
    }

    override func viewDidDisappear(_ animated: Bool) {
        NotificationCenter.default.removeObserver(NSNotification.Name.AVPlayerItemDidPlayToEndTime)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }


    //MARK:- All Method
    func playerDidFinishPlaying(note: NSNotification) {
        self.navigationController?.popViewController(animated: false)
    }

    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
        self.playerController.removeObserver(self, forKeyPath: #keyPath(UIViewController.view.frame))
        self.navigationController?.popViewController(animated: false)
    }

}

关于ios - 检测 AVPlayerViewController 的关闭按钮的点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51760842/

相关文章:

iphone - View Controller 的全局实例是否应该由应用程序委托(delegate)拥有

ios - subview 中的自动布局、动画和图层

ios - UICollectionView 不呈现所有行

swift - `?` 在 Xcode 8.3.2 的 Swift 编译器中导致段错误

ios - 医疗领域应用的自定义意图

ios - sthttprequest 和 jsonkit 与 arm64,不再工作?

ios - 深层链接 URL 方案不会调用 iOS App Delegate 中的任何函数

Android MediaPlayer - 如何在 STREAM_ALARM 中播放?

java - 我如何修复我的进度并寻找适用于所有媒体的 slider ?