我正在尝试识别视频播放时的轻击手势,这样我就可以解雇它,类似于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)
}
答案 0 :(得分:1)
我建议使用AVPlayerViewController
,但请确保不要将其子类化,因为Apple声明不这样做。
1)不推荐使用MPMoviePlayer(不要再使用此代码)
2)AVPlayerViewController有一组更复杂的代码,可以进行更多自定义。
如果您真的想要自定义某些内容,您可以将AVPlayer子类化并制作您自己的视频播放视图,但您必须添加自己的暂停/开始等...
答案 1 :(得分:0)
MPMoviePlayerController是一个视图控制器。手势识别器已添加到视图。您需要将此手势添加到MPMoviePlayerController的视图。
(更好的是,停止使用MPMoviePlayerController;不推荐使用它。)