ios - 如何在使用 MPMoviePlayerController 时识别点击手势

标签 ios swift mp4 mpmovieplayer

我正在尝试在播放视频时识别点击手势,以便我可以像 snapchat 那样将其关闭,但是,它说 MPMoviePlayerControllers 没有成员可以添加触摸手势,这是真的还是我在使用方法不对?

var MP4 : NSData?
var MarkerLong : CLLocationDegrees?
var MarkerLat : CLLocationDegrees?
var Url : String?
var videoPlayer : MPMoviePlayerController!

private var firstAppear = true

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)
    if firstAppear {
        do {
            try playVideo()
            firstAppear = false
        } catch AppError.InvalidResource(let name, let type) {
            debugPrint("Could not find resource \(name).\(type)")
        } catch {
            debugPrint("Generic error")
        }

    }
}

private func playVideo() throws {

    self.videoPlayer = MPMoviePlayerController()
    self.videoPlayer.repeatMode = MPMovieRepeatMode.None
    self.videoPlayer.contentURL = NSURL(string: Url!)
    self.videoPlayer.controlStyle = MPMovieControlStyle.None
    self.view.addSubview(self.videoPlayer.view)
    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(PlayVideoViewController.videoPlayBackDidFinish(_:)), name: MPMoviePlayerPlaybackDidFinishNotification, object: self.videoPlayer)
    self.videoPlayer.view.frame.size = CGSizeMake(640, 1136)
    self.videoPlayer.view.center = self.view.center
    self.videoPlayer.play()
    let gesture = UITapGestureRecognizer(target: self, action: "someAction:")
    self.videoPlayer.addGestureRecognizer(gesture)

}

最佳答案

我建议使用 AVPlayerViewController,但请确保不要将其子类化,因为 Apple 声明不这样做。

1) MPMoviePlayer 已弃用(不要再使用此代码)

2) AVPlayerViewController 有一组更复杂的代码来允许更多的定制。

如果你真的想定制一些东西,你可以子类化 AVPlayer 并在视频播放的地方制作你自己的定制 View ,但是你必须添加你自己的暂停/开始等......

关于ios - 如何在使用 MPMoviePlayerController 时识别点击手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38031868/

相关文章:

java - 如何在 Android/Java 中为视频添加水印

ios - iOS 中私有(private)地理坐标系与 WGS84 之间的转换位置

ios - 使用 facebook sdk 4.0 + iOS 分享内容

ios - 如何从 Date() 中提取今天、昨天并使其像工作日和月份一样本地化?

ios - Xcode 8 自定义字体未显示在界面生成器中

data-structures - 有人熟悉mp4数据结构吗?

google-chrome - 使用WebRTC MediaRecorder录制跨平台(H.264?)视频

ios - 用于 Force Touch/Digital Crown 的 WatchKit API?

iphone - 有没有办法在不离开 App 的情况下将评分发送到 App Store?

ios - PageViewController - 将变量传递给 subview