gpt4 book ai didi

ios - 如何在 iOS Swift 中隐藏视频窗口并在结束后再次显示?

转载 作者:行者123 更新时间:2023-11-30 13:50:31 27 4
gpt4 key购买 nike

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

我需要点播视频,屏幕上有一个按钮,上面写着“播放”,一旦你点击那个按钮,你就播放视频,问题是视频在完成后停留在那里,位于所有内容之上,所以我使用此代码来隐藏它:

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

这隐藏了视频,这很棒,但是在尝试再次播放视频后,我得到的只是声音,并且视频窗口永远不会出现。

所以我的问题是,在 View Controller 被关闭后如何取消它?

以下是第一次和后续播放视频的代码:

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()
}
}
}

感谢您的帮助

最佳答案

好吧,我明白了。

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

关于ios - 如何在 iOS Swift 中隐藏视频窗口并在结束后再次显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34345444/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com