Вставка YouTube слишком медленная в приложении iOS
Я использую YouTube API в своем приложении для iOS, и проблема в том, что он очень медленно загружается на моем iPhone, но на симуляторе iOS он работает отлично.
Я пробовал в разных сетях и на разных айфонах и всегда одинаково. На каждой сети симулятор работает намного лучше.
я использую YTPlayerView-iframe-player.html
а также YTPlayerView
,
Итак, вопрос в том, могу ли я сделать что-нибудь, чтобы загрузить его быстрее, или я могу начать играть песню после ее загрузки?
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;
}
}
Переключиться на использование WKWebView
вместо старого UIWebView
, Так как WKWebView
имеет встроенный движок рендеринга Safari Turbo JavaScript, который, как я полагаю, ускорит работу вашего iframe.