我在使用Google / YouTube提供的youtube-ios-player-helper
广告连播自动播放视频时出现问题。这是我的应用程序的相关部分(iOS 10,Swift 3):
一个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])
}
使用上面的代码,当我按下"大红色按钮"帮助程序库成功加载视频并全屏播放它们。但我希望在我进入视图后直接自动播放视频。有没有办法做到这一点?
"autoplay":1
似乎没有为iOS剪掉它。youtubePlayerView.playVideo()
没有做任何事情答案 0 :(得分:8)
符合YTPlayerViewDelegate
协议,如下所示:
self.youtubePlayer.delegate = self
现在使用此委托方法在播放器准备就绪时自动播放视频:
extension ViewController: YTPlayerViewDelegate {
func playerViewDidBecomeReady(_ playerView: YTPlayerView) {
self.youtubePlayer.playVideo()
}
}
在我的情况下它完美无缺。
答案 1 :(得分:1)
根据此github,自动驾驶仪无法与iOS播放器配合使用,因为解决方法可以试试这个:
(void)playerViewDidBecomeReady:(YTPlayerView *)playerView{ [[NSNotificationCenter defaultCenter] postNotificationName:@"Playback started" object:self]; [self.playerView playVideo]; }
有关更多信息,请查看以下主题: