2010-11-05 17 views
0

en cours dans un problème où je suis en train de lire une vidéo YouTube à travers un UIViewController personnalisé qui contient une UIWebView. Toutes les pages Web se chargent bien dans le UIWebView mais si je vais jouer un rien vidéo YouTube est affiché. Je peux entendre la vidéo et la barre d'état s'affiche en haut de l'écran, mais je ne vois aucune vidéo.UIWebView pas la lecture de vidéos YouTube

J'ai étudié ce un peu pour trouver que ...

vidéos -Youtube ne peuvent pas jouer dans le simulateur alors je l'ai essayé sur mon appareil (iPhone 4 avec iOS 4.1) sans résultat

peut avoir des problèmes -Il y en essayant de lire une vidéo YouTube en tethered et le déploiement à travers XCode j'ai donc essayé de déployer sur mon iPhone, puis untethering. La vidéo ne joue toujours pas et j'obtiens les mêmes résultats que précédemment. Je suis suspect qu'un MPMoviePlayer peut être enfanté à l'UIWebView mais la partie vue de ce lecteur de film n'est pas définie pour une raison quelconque, c'est pourquoi je ne le vois pas. Pas complètement sûr à ce sujet.

Je vois beaucoup de discussions à ce sujet, mais rien ne m'a conduit à une solution encore. S'il y a des commentaires que vous pouvez faire, ce serait grandement apprécié.

Répondre

3

Je suppose que vous utilisez Intégrer la vidéo, j'ai créé le fichier HTML et inséré les balises vidéo Intégrer et moi web j'utiliser les éléments suivants:

[WebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"AboutiPad" ofType:@"html"] isDirectory:NO]]]; 

cela fonctionnera pour les deux Simulator et appareils cette extrait est testé et est utilisé maintenant, Bonne chance

0

vous essayez de lire une vidéo sur youtube avec une URL https? J'ai remarqué que si je tente d'intégrer des vidéos avec https, ils ne fonctionnent pas toujours sur certains appareils.

I essentiellement utilisé les informations de ce poste: Embedding YouTube videos on

Mais est assuré que je courais mon paramètre d'URL par le code suivant avant de le mettre dans le modèle HTML:

NSRange range = [urlString rangeOfString:@"https"]; 
    if (range.length == 5 && range.location == 0) { 
     urlString = [urlString stringByReplacingCharactersInRange:range withString:@"http"]; 
    }