我有一个问题与谷歌/YouTube提供的youtube-ios-player-helper
pod自动播放视频。以下是我的应用程序(iOS 10, Swift 3)的相关部分:
- 一个ChannelVideosViewController,它将视频缩略图显示为带有UITapGestureRecognizer的uiview,然后跳转到我的PlayerViewController并传递来自API调用的videoId
-
一个PlayerViewController如下:
var youtubePlayerView = YTPlayerView() // player for videos var youtubeVideoID = String() // videoId from API passed by ChannelVideosViewController override func viewDidLoad() { // ... skipping UI stuff view.addSubview(youtubePlayerView) youtubePlayerView.load(withVideoId: youtubeVideoID, playerVars: ["autoplay":1,"modestbranding":1,"showinfo":0,"rel":0]) }
使用上面的代码,当我按下"大红色按钮"时,helper库成功加载视频并全屏播放,但我想在segue进入视图后直接自动播放视频。有办法做到这一点吗?
- YouTube文档中的
"autoplay":1
似乎不适合iOS。 -
youtubePlayerView.playVideo()
不做任何事
符合YTPlayerViewDelegate
协议如下:
self.youtubePlayer.delegate = self
现在使用这个委托方法来自动播放视频,当播放器准备好了:
extension ViewController: YTPlayerViewDelegate {
func playerViewDidBecomeReady(_ playerView: YTPlayerView) {
self.youtubePlayer.playVideo()
}
}
基于这个github的自动驾驶仪不工作与iOS播放器,作为一个解决方案试试这个:
(void)playerViewDidBecomeReady:(YTPlayerView *)playerView{ [[NSNotificationCenter defaultCenter] postNotificationName:@"Playback started" object:self]; [self.playerView playVideo]; }
更多信息,查看这些线程:
自动播放不正常
使用YTPlayerView在iOS中播放嵌入的YouTube视频