Swift 斯威夫特3。从全屏退出时AVPlayerViewController问题

Swift 斯威夫特3。从全屏退出时AVPlayerViewController问题,swift,fullscreen,avplayerviewcontroller,Swift,Fullscreen,Avplayerviewcontroller,当应用程序从全屏退出并且屏幕UI滑到顶部时,我在控制台中遇到一个错误 错误: -[AvPlayServiceWController exitFullScreenAnimated:completionHandler:]失败,出现错误需要先加载视图,然后才能调用-[AvPlayServiceWController(0x1028b5000)exitFullScreenAnimated:completionHandler:] 该应用程序在UIWebView中播放嵌入HTML的youtube视频 代码:

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

错误:

-[AvPlayServiceWController exitFullScreenAnimated:completionHandler:]失败,出现错误需要先加载视图,然后才能调用-[AvPlayServiceWController(0x1028b5000)exitFullScreenAnimated:completionHandler:]

该应用程序在UIWebView中播放嵌入HTML的youtube视频

代码:

var-webView=UIWebView(frame:self.view.frame)
webView.allowsInlineMediaPlayback=true
webView.mediaplaybackrequiresseraction=false
embeddedHTML=“function onyoutubeiframeapiredy(){ytplayer=new YT.Player('playerId',{events:{onReady:onPlayerReady}}}})function onPlayerReady(a){a.target.playVideo();}”
@iAction func播放视频(\发送方:任何){
如果让webView=webView{
self.view.bringSubview(toFront:webView)
webView.scrollView.IsScrolleEnabled=false;
webView.scrollView.bounces=false;
//用我们刚刚设置的HTML加载您的webView
loadHTMLString(EmbeddedHTML,baseURL:Bundle.main.bundleURL)
}
}
非常感谢您的帮助。
谢谢。

尝试用WebKit的
WKWebView
替换
UIWebView
avplayervcontroller
?Tien Nguyen-代码已发布。@JasurRajabov你有什么解决方案吗?我也吃同样的issue@JogendraSingh不,还没有解决办法。
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)
        }
    }