Вставка 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.

Другие вопросы по тегам