2013-03-19 55 views
9

我想探索我還能在iOS應用開發中做些什麼,以及現在我試圖在我的應用中包含視頻。Objective-C:在應用上播放Youtube視頻

我有下面的代碼,旨在播放視圖加載時的YouTube視頻,但我得到的只是一個黑色的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

你在模擬器或設備上試試這個嗎? – 2013-03-19 03:31:31

+0

@MikeD我正在設備上測試它。 – 2013-03-19 03:33:40

回答

11

,你必須使用嵌入鏈接

下面的代碼使用

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

,而不是

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

試試這個你的問題將解決

+0

謝謝!現在正在工作。但是,我已經在我的iPad第四代上嘗試過它,它沒有聲音,在Mini上聲音很好。這是爲什麼?我已經檢查了所有的聲音設置,這一切都很好。 – 2013-03-20 01:26:15

+0

什麼是iOS版本?因爲我們使用的是webview,所以它適用於所有iOS版本的 – Raptor 2013-06-18 07:14:09

+0

。 – Pratik 2013-06-19 08:35:31

1

你可以試試下面它的代碼工作正常,我

- (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

仍然無法正常工作。我是否需要包含用於實現這個的任何框架? – 2013-03-19 03:50:04

+0

我編輯了代碼調用這個方法與url和幀 – Vinodh 2013-03-19 03:59:11

+0

你可以看看這個鏈接你的YouTube網址是它似乎的問題。 http://developer.apple.com/library/ios/#featuredarticles/iPhoneURLScheme_Reference/Articles/YouTubeLinks.html – Vinodh 2013-03-19 04:36:52