2016-06-25 43 views
0

我试图识别视频播放过程中的轻击手势,以便我可以将它解雇成类似于snapchat如何执行此操作,但是,它表示MPMoviePlayerControllers没有成员可以添加触摸手势,这是真的还是我使用不正确的方法?如何在使用MPMoviePlayerController时识别轻击手势

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) 

} 

回答

1

我会建议使用AVPlayerViewController,但一定不是它的子类,苹果国不要。

1)MPMoviePlayer被弃用(请勿使用此代码了)

2)AVPlayerViewController有一组代码更复杂,让更多的定制。

如果你真的想定制的东西,你也可以继承AVPlayer,让你自己定制的视图,其中视频会播放,但是你必须添加自己的暂停/开始等...

0

的MPMoviePlayerController是一个视图控制器。手势识别器被添加到的视图。您需要将此手势添加到MPMoviePlayerController的视图

(更妙的是,停止使用的MPMoviePlayerController;它是不建议使用)

+0

将它添加到MPMoviePlayerControllers视图不起作用,因为它背后的MPMoviePlayer – maz

+0

我没有说它会工作。 :)我告诉你为什么你的代码不能编译。这就是你问的(据我所知)... – matt