2016-06-25 11 views
0

Ich versuche eine Tippgeste zu erkennen, während ein Video abgespielt wird, so dass ich es ähnlich wie snapchat ablehnen kann, aber MPMoviePlayerControllers hat keine Mitglieder hinzuzufügen Berührungsgesten, ist das wahr oder verwende ich die falsche Methode?Wie erkenne ich eine Tippgeste bei der Verwendung eines 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) 

} 

Antwort

1

Ich würde empfehlen AVPlayerViewController verwenden, aber stellen Sie sicher, dass es nicht zu Unterklasse, wie Apple heißt es nicht.

1) MPMoviePlayer ist veraltet (Sie diesen Code nicht mehr verwenden)

2) AVPlayerViewController hat eine viel kompliziertere Reihe von Code mehr Anpassung zu ermöglichen.

Wenn Sie wirklich etwas anpassen möchten, können Sie AVPlayer Unterklasse und um Ihre eigene Ansicht machen, wo das Video wird abgespielt, aber Sie müssen Ihre eigenen Pause/Start hinzufügen, etc ...

0

MPMoviePlayerController ist eine Ansicht Controller. Gestenerkenner werden zu Ansichten hinzugefügt. Sie müssen diese Geste zur Ansicht des MPMoviePlayerControllers hinzufügen.

(Noch besser ist, stoppen MPMoviePlayerController verwendet;. Es ist veraltet)

+0

es das Hinzufügen in der MPMoviePlayerControllers Ansicht funktioniert nicht, wie es hinter dem MPMoviePlayer ist – maz

+0

Ich habe nicht gesagt, es würde funktionieren. :) Ich sage dir, warum dein Code nicht kompiliert wird. Das hast du gefragt (soweit ich das beurteilen kann) ... – matt

Verwandte Themen