2016-01-20 40 views
2

我有一個AVPlayer在scrollView中,並且由於某些原因,當AVPlayer播放scrollview時跳轉到頂部導致視頻在屏幕上不可見,因爲視頻正在轉向scrollView的底部。因此,爲了停止scrollView跳躍我想禁用和啓用滾動時,用戶啓動/停止視頻。不知道這是否能解決我的問題,但我希望有人知道爲播放器添加觀察者或通知的正確方式,以便我可以對其進行測試。如何檢測AVPlayer何時開始/停止播放

這是我的ViewController中包含一些靜態文本和AVPlayer的代碼。 下面的代碼:

let path = NSBundle.mainBundle().pathForResource("carbon_video", ofType:"mp4") 

    let url = NSURL.fileURLWithPath(path!) 

    var player = AVPlayerViewController() 
    var avPlayer = AVPlayer(URL: url) 
    player.player = avPlayer 
    self.addChildViewController(player) 
    player.view.translatesAutoresizingMaskIntoConstraints = false 

    player.addObserver(self, forKeyPath: "status", options: NSKeyValueObservingOptions.New, context: nil) 
    player.addObserver(self, forKeyPath: "rate", options: NSKeyValueObservingOptions.New, context: nil) 

回答

0

,我認爲這可以幫助你

func playerItemDidReachEnd(notification: NSNotification) { 
    let p: AVPlayerItem = notification.object as! AVPlayerItem 
    p.seekToTime(kCMTimeZero) 
} 

override func viewDidAppear(animated: Bool) { 
    avPlayer.play() 
    paused = false 
    // Disable scrolling 
} 

override func viewDidDisappear(animated: Bool) { 
    avPlayer.pause() 
    paused = true 
// Enable scrolling 
} 
相關問題