iOS 应用中的 YouTube iframe 太慢

YouTube iframe is too slow in iOS app

我在我的 iOS 应用程序中使用 YouTube API,问题是它在我的 iPhone 上加载非常慢,但在 iOS 模拟器上它运行完美.

我在不同的网络和不同的 iPhone 上试过了,结果总是一样。在每个网络模拟器上工作得更好。

我正在使用 YTPlayerView-iframe-player.htmlYTPlayerView

所以,问题是我可以做些什么来加快加载速度,还是可以在加载后开始播放歌曲?

改用 WKWebView 而不是旧的 UIWebView。因为 WKWebView 支持原生 Safari Turbo JavaScript 渲染引擎,我认为这将使您的 iframe 运行 更快。

无法加速您的网络。您可以做两件事来改善用户体验:在视频加载之前隐藏播放器,并尽快开始播放视频(自动播放)。

将自动播放键添加到您的 playervars 字典中:

NSDictionary *playerVars = @{
                             @"playsinline" : @1,
                             @"autoplay" : @1, // <- here
                             @"showinfo" : @0,
                             @"rel" : @0,
                             @"modestbranding" : @1,
                             };

[self.playerView loadWithVideoId:videoId playerVars:playerVars];

// hide the player view until it is ready
self.playerView.hidden = YES;

准备好后取消隐藏播放器:

// unhide and play
- (void)playerViewDidBecomeReady:(YTPlayerView *)playerView { 
    self.playerView.hidden = NO;
}

- (void)playerView:(YTPlayerView *)playerView didChangeToState:(YTPlayerState)state {
    if (state == kYTPlayerStatePlaying) {
        self.playerView.hidden = NO;
    }
}