Ios Can';t在iPad上播放YouTubePlayer视图
我使用SplitViewController和Swift YouTube播放器在应用程序中播放YouTube视频。它在iPhone上运行得很好,但在iPad上不起作用 在iPhone上,当我触发播放器时,它会打开MPMoviewPLayer全屏播放视频,但在iPad上,它会在后台播放,我想,我可以控制视频的声音,但视频不会出现 我找不到解决办法。你有什么建议为什么玩家在splitviewcontroller下玩 这是触发代码Ios Can';t在iPad上播放YouTubePlayer视图,ios,swift,youtube,splitview,Ios,Swift,Youtube,Splitview,我使用SplitViewController和Swift YouTube播放器在应用程序中播放YouTube视频。它在iPhone上运行得很好,但在iPad上不起作用 在iPhone上,当我触发播放器时,它会打开MPMoviewPLayer全屏播放视频,但在iPad上,它会在后台播放,我想,我可以控制视频的声音,但视频不会出现 我找不到解决办法。你有什么建议为什么玩家在splitviewcontroller下玩 这是触发代码 timer = NSTimer.scheduledTi
timer = NSTimer.scheduledTimerWithTimeInterval(4, target: self, selector: "alertVideo", userInfo: nil, repeats: false)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "doneButton", name: UIWindowDidBecomeHiddenNotification, object:nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "startVideo", name: UIWindowDidBecomeVisibleNotification , object:nil)
let a = MBProgressHUD.showHUDAddedTo(self.view, animated: true)
a.dimBackground = true
collectionView.deselectItemAtIndexPath(indexPath, animated: true)
let cell = collectionView.cellForItemAtIndexPath(indexPath)
let circleView : YouTubePlayerView? = (cell!.contentView.viewWithTag(10)) as? YouTubePlayerView
circleView?.play()
这是我使用的YouTubePLayer:
解决了这个问题
我用电脑换了图书馆。我持有玩家的实例并展示:
let youtube : YKYouTubeVideo = YKYouTubeVideo()
var videoArray : [String] = []
self.youtube.contentURL = (NSURL(string: "http://www.youtube.com/watch?v=" + videoArray[indexPath.row]))
youtube.parseWithCompletion({ (error) -> Void in
if self.youtube.videos["hd720"] != nil {
let url = NSURL(string: (self.youtube.videos["hd720"] as! String))
self.timer.invalidate()
MBProgressHUD.hideHUDForView(self.view, animated: true)
let player = MPMoviePlayerViewController()
player.moviePlayer.contentURL = url
self.presentMoviePlayerViewControllerAnimated(player)
player.moviePlayer.play()
} else if self.youtube.videos["medium"] != nil {
let url = NSURL(string: (self.youtube.videos["medium"] as! String))
self.timer.invalidate()
MBProgressHUD.hideHUDForView(self.view, animated: true)
let player = MPMoviePlayerViewController()
player.moviePlayer.contentURL = url
self.presentMoviePlayerViewControllerAnimated(player)
player.moviePlayer.play()
} else if self.youtube.videos["small"] != nil {
let url = NSURL(string: (self.youtube.videos["small"] as! String))
self.timer.invalidate()
MBProgressHUD.hideHUDForView(self.view, animated: true)
let player = MPMoviePlayerViewController()
player.moviePlayer.contentURL = url
self.presentMoviePlayerViewControllerAnimated(player)
player.moviePlayer.play()
} else {
let refreshAlert = UIAlertController(title: "Error", message: "Video Not Found!", preferredStyle: UIAlertControllerStyle.Alert)
presentViewController(refreshAlert, animated: true, completion: nil)
}
我的视频在iPhone上仍然全屏播放,但在iPad上没有全屏播放。我必须在YouTubePlayer.swift上做个改变。如果在本节中将allowsInlineMediaPlayback更改为false:
fileprivate func buildWebView(_ parameters: [String: AnyObject]) {
webView = UIWebView()
webView.allowsInlineMediaPlayback = false
webView.mediaPlaybackRequiresUserAction = false
webView.delegate = self
webView.scrollView.isScrollEnabled = false
}
它现在将在iPad上全屏播放。或者至少在写这篇文章的时候它正在工作。我希望这有帮助