2016-06-25 14 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 코드의 훨씬 더 복잡한 세트가 사용하지 마십시오 (지원되지 않습니다. 당신이 정말로 뭔가를 사용자 정의하려면

, 당신은 그것을 추가

0

MPMoviePlayerController은 도면 컨트롤러이다. 제스처 인식기는 보기에에 추가됩니다. 이 동작을 MPMoviePlayerController의 보기보기에 추가해야합니다.

(더 좋은 MPMoviePlayerController 사용을 중지;.이되지 않습니다)

+0

... AVPlayer를 서브 클래스와 비디오가 재생됩니다 자신의 사용자 정의보기를 만들지 만, 당신은 등/자신의 일시 정지를 추가 시작해야합니다 수 있습니다 MPMoviePlayerControllers보기는 MPMoviePlayer 뒤에 있기 때문에 작동하지 않습니다. – maz

+0

작동하지 않는다고 말하지 않았습니다. :) 나는 왜 당신의 코드가 컴파일되지 않는지를 말하고있다. 그게 네가 물었던 (내가 말할 수있는 한) ... – matt