如何在结束后隐藏视频 window 并稍后在 iOS Swift 中再次显示?

How to hide video window after it ends and show it again later in iOS Swift?

也许是个愚蠢的问题,但我对 Swift 和 iOS 的开发还很陌生。

我需要点播视频,屏幕上有一个按钮,上面写着 "PLAY",一旦你点击它,你就会播放视频,问题是视频停留在那里,在一切都完成后,所以我用这个代码来隐藏它:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "hideVideo:", name:AVPlayerItemDidPlayToEndTimeNotification, object: nil)
...
func hideVideo(notification: NSNotification) {
    playerController.dismissViewControllerAnimated(false, completion: nil)
}

隐藏了视频,这很好,但是在尝试再次播放视频后,我得到的只是声音,视频 window 再也没有出现。

所以我的问题是,如何在关闭视图控制器后取消关闭它?

这是第一次和随后播放视频的代码:

private func playVideo() {
    if playerController.isViewLoaded() { // ALL TIMES AFTER THAT IT SHOULD GO HERE
        //create a CMTime for zero seconds so we can go back to the beginning
        let seconds : Int64 = 0
        let preferredTimeScale : Int32 = 1
        let seekTime : CMTime = CMTimeMake(seconds, preferredTimeScale)

        self.player.seekToTime(seekTime)

        self.player.play()
    }
    else { // FIRST TIME VIDEO PLAYS
        self.presentViewController(playerController, animated: false) {
            self.player.play()
        }
    }
}

感谢您的帮助

好的,我明白了。

问题的帮助下,我能够通过不使用 AVPlayerViewController 而是使用可以隐藏和显示的 AVPlayerLayer 来弄清楚。