2013-03-19 12 views
9

Próbuję sprawdzić, co jeszcze mogę zrobić w rozwoju aplikacji na iOS, a teraz właśnie próbowałem dołączyć film do mojej aplikacji.Cel-C: Odtwórz wideo z YouTube na aplikacji

Mam poniższy kod, który ma na celu odtworzenie filmu z YouTube, gdy widok ładuje się, ale wszystko, co mam, to tylko czarny webView.

NSString *videoURL = @"http://youtu.be/Wq_CtkKrt1o"; 

videoView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)]; 
videoView.backgroundColor = [UIColor clearColor]; 
videoView.opaque = NO; 
videoView.delegate = self; 
[self.view addSubview:videoView]; 


NSString *videoHTML = [NSString stringWithFormat:@"\ 
      <html>\ 
      <head>\ 
      <style type=\"text/css\">\ 
      iframe {position:absolute; top:50%%; margin-top:-130px;}\ 
      body {background-color:#000; margin:0;}\ 
      </style>\ 
      </head>\ 
      <body>\ 
      <iframe width=\"100%%\" height=\"240px\" src=\"%@\" frameborder=\"0\" allowfullscreen></iframe>\ 
      </body>\ 
      </html>", videoURL]; 

[videoView loadHTMLString:videoHTML baseURL:nil]; 
+0

Próbujesz to na symulatorze lub urządzeniu? –

+0

@MikeD testuję to na urządzeniu. –

Odpowiedz

11

trzeba użyć link Umieść

skorzystać z poniższego kodu

NSString *videoURL = @"http://www.youtube.com/embed/Wq_CtkKrt1o"; 

zamiast

NSString *videoURL = @"http://youtu.be/Wq_CtkKrt1o"; 

wypróbuj ten problem rozwiąże

+0

Dzięki! Już działa. Ale próbowałem go na moim iPadzie 4. generacji i nie ma dźwięku, na Mini dźwięki są dobre. Dlaczego? Sprawdziłem wszystkie ustawienia dźwięków i wszystko jest w porządku. –

+0

czym właściwie jest wersja iOS? – Raptor

+0

dla wszystkich wersji systemu iOS działa, ponieważ korzystamy z widoku internetowego. – Pratik

1

można wypróbować poniższy kod działa dobrze dla mnie

- (void)embedYouTube:(NSString *)urlString frame:(CGRect)frame { 
    NSString *embedHTML = @"\ 
    <html><head>\ 
    <style type=\"text/css\">\ 
    body {\ 
    background-color: transparent;\ 
    color: white;\ 
    }\ 
    </style>\ 
    </head><body style=\"margin:0\">\ 
    <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \ 
    width=\"%0.0f\" height=\"%0.0f\"></embed>\ 
    </body></html>"; 
    NSString *html = [NSString stringWithFormat:embedHTML, urlString, frame.size.width, frame.size.height]; 
    UIWebView *videoView = [[UIWebView alloc] initWithFrame:frame]; 
    [videoView loadHTMLString:html baseURL:nil]; 
    [self.view addSubview:videoView]; 
    [videoView release]; 
} 
+0

Nadal nie działa. Czy muszę uwzględnić wszelkie ramy do wdrożenia tego? –

+0

Edytowałem kod wywołania tej metody za pomocą url i ramki – Vinodh

+0

możesz spojrzeć na ten link swój adres URL youtube jest problem wydaje. http://developer.apple.com/library/ios/#featuredarticles/iPhoneURLScheme_Reference/Articles/YouTubeLinks.html – Vinodh

Powiązane problemy