也许是一个愚蠢的问题,但我对Swift和iOS开发都很陌生。
我需要按需播放视频,屏幕上有一个按钮,显示"播放",一旦你点击它,你播放视频,问题是视频停留在那里,完成之后的所有内容,所以我使用此代码隐藏它:
NSNotificationCenter.defaultCenter().addObserver(self, selector: "hideVideo:", name:AVPlayerItemDidPlayToEndTimeNotification, object: nil)
...
func hideVideo(notification: NSNotification) {
playerController.dismissViewControllerAnimated(false, completion: nil)
}
隐藏视频,这很棒,但是在尝试再次播放视频后,我得到的只是声音,视频窗口永远不会出现。
所以我的问题是,如何在视频控制器被解散后取消它?
以下是第一次及以后播放视频的代码:
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()
}
}
}
感谢您的帮助
答案 0 :(得分:0)
好的,我明白了。
在this问题的帮助下,我能够通过不使用AVPlayerViewController来解决问题,而是使用我可以隐藏和显示的AVPlayerLayer。