2012-02-27 10 views
0
でYouTubeの動画を再生

更新iPhone - のUIWebView

私はリンクがhttps://github.com/ThinkChris/YouTubeDemo/blob/master/tabtest/FirstViewController.m

要件があるで、githubのにそれをアップロードした:

  1. (tabviewcontrollerに基づく)アプリ文句を言いません
  2. 埋め込まれたyoutubeビデオは、ポートレートモードでフルスクリーンになる必要があります
  3. フルスクリーンビデオを私はのUIWebViewでユーチューブのビデオを埋め込むためのコードの二つのブロックを有する(ポートレートとランドスケープ)

こんにちは人々回転させることができ、私は効果が異なることに気づきます。彼らはすべてMPMoviePlayerControllerではありませんか?どうして違いがありますか?

コード1:映像が縦長フルスクリーンで起動し、のViewControllerにより制限回転(viewcontrollがそうできない場合、ビデオはretatedすることができない)

- (void)addYouTubeVideoWebView:(NSString*)url frame:(CGRect)frame 
{ 
    // iframe 
    url = @"http://www.youtube.com/embed/IQGhq0IlVok"; 
    NSString* embedHTML = @"\ 
    <html>\ 
     <body style=\"margin:0\">\ 
      // HERERRRRRRRRRRRRRRRRRRRRRRRRRR 
      <iframe src=\"%@?showinfo=0\" width=\"%0.0f\" height=\"%0.0f\" frameborder=\"0\"></iframe>\ 
     </body>\ 
    </html>\ 
    "; 

    NSString* html = [NSString stringWithFormat:embedHTML, url, frame.size.width, frame.size.height]; 

    UIWebView * webView = [[UIWebView alloc] initWithFrame:frame]; 
    [webView loadHTMLString:html baseURL:nil]; 
    [self.view addSubview:webView]; 
} 

コード2:によって任意の方向に回転することができ、景観フルスクリーンで起動それ自体は

- (void)addYouTubeVideoWebView:(NSString*)url frame:(CGRect)frame 
{ 
    // embed 
    url = @"http://www.youtube.com/watch?v=IQGhq0IlVok"; 
    NSString* embedHTML = @"\ 
    <html>\ 
     <body style=\"margin:0\">\ 
      // HERERRRRRRRRRRRRRRRRRRRRRRRRRR 
      <embed type=\"application/x-shockwave-flash\" src=\"%@\" width=\"%0.0f\" height=\"%0.0f\"></embed>\ 
     </body>\ 
    </html>\ 
    "; 

    NSString* html = [NSString stringWithFormat:embedHTML, url, frame.size.width, frame.size.height]; 

    UIWebView * webView = [[UIWebView alloc] initWithFrame:frame]; 
    [webView loadHTMLString:html baseURL:nil]; 
    [self.view addSubview:webView]; 
} 

答えて

1

HTMLドキュメントをHTMLドキュメントに埋め込むことです。しかし、あなたのiframeには有効なHTML文書(URLのみ)が含まれていないので、ブラウザはiframeに関する十分な情報を持っておらず、景観で再生できるかどうかを判断できませんこのように、私は知らない、それはちょうど推測です)。

  • 幅とあなたはiframe対応の高さや
  • を設定してみてください
  • iframeのバージョンで埋め込みバージョンの完全なHTMLコードを使用してみてください:@teriiehina

    <html>\ 
        <body style='margin:0'>\ 
        <iframe width'%0.0f' height='%0.0f' frameborder='0'> 
         <html>\ 
         <body style='margin:0'>\ 
          <embed type='application/x-shockwave-flash' src='%@' width='%0.0f' height='%0.0f'></embed>\ 
         </body>\ 
         </html>\ 
        </iframe>\ 
        </body>\ 
    </html>\"; 
    
+0

おかげで、用アドバイスやコードがありますが、上記のコードは機能しませんが、YouTubeのサムは表示されません。 – ThinkChris

+1

申し訳ありません、私の悪い、提出する前にテストする必要があります。 iframeに幅と高さを指定するとどうなりますか? (私は通勤で、私は私の事務所に到着するときこれをより深く見せる) – teriiehina

+1

大変ありがとう、私はgithubにアップロードし、また質問を更新しました。見てください – ThinkChris

関連する問題