2015-10-10 3 views
2

Я использую API YouTube в своем приложении iOS, и проблема в том, что он загружается очень медленно на моем iPhone, но на симуляторе iOS он отлично работает.YouTube iframe слишком медленный в приложении iOS

Я пробовал его в разных сетях и на разных iPhone и всегда оставался неизменным. На каждом сетевом симуляторе работает намного лучше.

Я использую 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 игрок, когда готов:

// 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; 
    } 
} 
0

Переключиться на использование WKWebView вместо старых UIWebView. Потому что WKWebView поддерживает собственный механизм рендеринга Safari Turbo JavaScript, который, как я полагаю, заставит ваш iframe работать быстрее.

+0

YTPlayerView использует UIView в раскадровке, так есть любой простой способ изменить все, или мне нужно изменить весь код? –

Смежные вопросы