Les réponses de RobW ici et ailleurs ont été très utiles, mais j'ai trouvé que mes besoins étaient beaucoup plus simples. J'ai répondu à ça ailleurs , mais peut-être que ce sera utile ici aussi.
J'ai une méthode où je forme une chaîne HTML à charger dans un UIWebView:
NSString *urlString = [NSString stringWithFormat:@"https://www.youtube.com/embed/%@",videoID];
preparedHTML = [NSString stringWithFormat:@"<html><body style='background:none; text-align:center;'><script type='text/javascript' src='http://www.youtube.com/iframe_api'></script><script type='text/javascript'>var player; function onYouTubeIframeAPIReady(){player=new YT.Player('player')}</script><iframe id='player' class='youtube-player' type='text/html' width='%f' height='%f' src='%@?rel=0&showinfo=0&enablejsapi=1' style='text-align:center; border: 6px solid; border-radius:5px; background-color:transparent;' rel=nofollow allowfullscreen></iframe></body></html>", 628.0f, 352.0f, urlString];
Vous pouvez ignorer les éléments de style dans la chaîne prepareHTML. Les aspects importants sont:
- Utilisation de l'API pour créer l'objet "YT.player". À un moment donné, je n'avais que la vidéo dans la balise iFrame et cela m'a empêché de référencer l'objet "player" plus tard avec JS.
- J'ai vu quelques exemples sur le Web où la première balise de script (celle avec la balise iframe_api src) est omise, mais j'en avais vraiment besoin pour que cela fonctionne.
- Création de la variable "player" au début du script API. J'ai également vu quelques exemples qui ont omis cette ligne.
- Ajout d'une balise d'identification à l'iFrame à référencer dans le script API. J'ai presque oublié cette partie.
- Ajout de "enablejsapi = 1" à la fin de la balise iFrame src. Cela m'a suspendu pendant un certain temps, car je l'avais initialement comme attribut de la balise iFrame, qui ne fonctionne pas / n'a pas fonctionné pour moi.
Lorsque j'ai besoin de mettre la vidéo en pause, je lance simplement ceci:
[webView stringByEvaluatingJavaScriptFromString:@"player.pauseVideo();"];
J'espère que ça t'as aidé!