Swift 3.退出全屏时AVPlayerViewController出现问题

14

当应用退出全屏并且屏幕 UI 滑到顶部时,我在控制台中收到一个错误。

错误:

-[AVPlayerViewController exitFullScreenAnimated:completionHandler:] 失败,并显示错误信息“View needs to be loaded before you can call -[AVPlayerViewController (0x1028b5000) exitFullScreenAnimated:completionHandler:]!”

应用程序在 UIWebView 中嵌入 HTML 播放 YouTube 视频。

代码:

var webView = UIWebView(frame: self.view.frame)
webView.allowsInlineMediaPlayback = true
webView.mediaPlaybackRequiresUserAction = false
embededHTML = "<html><body style='margin:0px;padding:0px;'><script type='text/javascript' src='http://www.youtube.com/iframe_api'></script><script type='text/javascript'>function onYouTubeIframeAPIReady(){ytplayer=new YT.Player('playerId',{events:{onReady:onPlayerReady}})}function onPlayerReady(a){a.target.playVideo();}</script><iframe id='playerId' type='text/html' width='\(self.view.frame.size.width)' height=\(frameHeight) src='http://www.youtube.com/embed/\(youtube_code)?enablejsapi=1&rel=0&playsinline=1&autoplay=1&showinfo=0&modestbranding=0' frameborder='0'></body></html>"

@IBAction func playVideo(_ sender: Any) {
        if let webView = webView {
            self.view.bringSubview(toFront: webView)
            webView.scrollView.isScrollEnabled = false;
            webView.scrollView.bounces = false;
            // Load your webView with the HTML we just set up
            webView.loadHTMLString(embededHTML, baseURL: Bundle.main.bundleURL)
        }
    }

非常感谢您的帮助。

谢谢。


你能否发布放置 AVPlayerViewController 的代码部分? - Tien Nguyen
Tien Nguyen - 代码已发布。 - Jasur Rajabov
@JasurRajabov,你解决了这个问题吗?我也遇到了同样的问题。 - Jogendra Kumar
@JogendraSingh 没有,目前还没有解决方案。 - Jasur Rajabov
1个回答

1

尝试将UIWebView替换为WebKit的WKWebView


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接