Jak automatycznie odtwarzać wideo YouTube w UIWebView
Widziałem tu wiele postów na ten temat, ale wciąż nie mogłem znaleźć idealnej odpowiedzi na ten problem.
Mam więc widok tabeli i każda komórka ma w sobie przycisk odtwarzania. Gdy użytkownik dotknie przycisku odtwarzania, dodamUIWebView
do tej komórki i odtwórz wideo YouTube.
static NSString *youTubeVideoHTML = @"<html>\
<body style=\"margin:0;\">\
<iframe class=\"youtube-player\" type=\"text/html\" width=\"%0.0f\" height=\"%0.0f\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\">\
</iframe>\
</body>\
</html>";
- (void)playVideoWithId:(NSString *)videoId {
NSString *html = [NSString stringWithFormat:youTubeVideoHTML, self.frame.size.width, self.frame.size.height, videoId];
[self loadHTMLString:html baseURL:nil];
}
Problem:
Ten kod nie odtwarza filmu tak, jak chcę, po prostu uruchamia odtwarzacz YouTube i wyświetla go za pomocą czerwonego przycisku odtwarzania YouTube. Dopiero po naciśnięciu przez użytkownika czerwonego przycisku rozpocznie się odtwarzanie filmu.
Tak więc użytkownik musi naciskać dwa przyciski, aż rozpocznie się wideo - nie najlepsze wrażenia użytkownika ...
Tak jak powiedziałem, widziałem wiele postów na ten temat, niektóre z nich w ogóle nie działają, a niektóre działają, ale niektóre problemy mnie niepokoją.
Jedno z pracujących rozwiązań znalazłemten post autor: @ilias, pokazuje, jak to zrobić, ładując HTML z pliku (zamiast łańcucha, jak ja), problem z tym polega, że dla każdego odtwarzanego filmu muszę:
załaduj plik htm -> umieść w nim Id wideo -> zapisz plik na dysku -> tylko teraz mogę odtworzyć wideo.
Dziwne jest to, że to rozwiązanie działa tylko wtedy, gdy ładujesz żądanie widoku z pliku, jeśli próbuję załadować żądanie z ciągu równego zawartości pliku, co nie działa.