2

我在我的 iOS 应用程序中使用 YouTube API,问题是它在我的 iPhone 上加载速度非常慢,但在 iOS 模拟器上它运行良好。

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

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

所以,问题是我可以做些什么来更快地加载它,或者我可以在加载后开始播放歌曲吗?

4

2 回答 2

2

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

将自动播放键添加到您的 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;
    }
}
于 2015-11-05T20:34:20.503 回答
1

切换到 usingWKWebView而不是 old UIWebView。因为WKWebView支持原生 Safari Turbo JavaScript 渲染引擎,我认为这会让你的 iframe 运行得更快。

于 2015-10-10T10:14:59.010 回答