我在我的 iOS 应用程序中使用 YouTube API,问题是它在我的 iPhone 上加载速度非常慢,但在 iOS 模拟器上它运行良好。
我在不同的网络和不同的 iPhone 上尝试过它,它总是一样的。在每个网络模拟器上工作得更好。
我正在使用YTPlayerView-iframe-player.html
和YTPlayerView
。
所以,问题是我可以做些什么来更快地加载它,或者我可以在加载后开始播放歌曲吗?
我在我的 iOS 应用程序中使用 YouTube API,问题是它在我的 iPhone 上加载速度非常慢,但在 iOS 模拟器上它运行良好。
我在不同的网络和不同的 iPhone 上尝试过它,它总是一样的。在每个网络模拟器上工作得更好。
我正在使用YTPlayerView-iframe-player.html
和YTPlayerView
。
所以,问题是我可以做些什么来更快地加载它,或者我可以在加载后开始播放歌曲吗?
没有办法加快您的网络。您可以做两件事来改善用户体验:在视频加载之前隐藏播放器,并尽快开始播放视频(自动播放)。
将自动播放键添加到您的 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;
}
}
切换到 usingWKWebView
而不是 old UIWebView
。因为WKWebView
支持原生 Safari Turbo JavaScript 渲染引擎,我认为这会让你的 iframe 运行得更快。