带有 YouTube v3 API 和 youtube-ios-player-helper 的 iOS 应用无法自动播放视频



我有一个问题与谷歌/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视频

相关内容

  • 没有找到相关文章

最新更新