2012-01-30 21 views
28

iPhoneアプリからYouTubeの動画を再生したい。UIWebViewを使わずにiPhoneアプリでYouTube動画を再生できますか?

[self playVideo:@"http://www.youtube.com/watch?v=WL2l_Q1AR_Q" frame:CGRectMake(20, 70, 280, 250)]; 

- (void)playVideo:(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]; 
    NSLog(@"%@",html); 
} 

私のiPhoneアプリでYouTube動画を試してみる必要がありますが、このコードは私にとっては機能しません。また、これは私のために働いていない

NSURL *fileURL = [NSURL URLWithString:@"http://www.youtube.com/watch?v=WL2l_Q1AR_Q"]; 
MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL]; 
[moviePlayerController.view setFrame:CGRectMake(0, 70, 320, 270)]; 
[self.view addSubview:moviePlayerController.view]; 
moviePlayerController.fullscreen = YES; 
[moviePlayerController play]; 

そしてまた、私は、MPMoviePlayerControllerコードがあるとしようとしています。誰かが私が間違っていたことを教えてください、私に何かアイデアを提案できますか? UIWebViewではなく、MPMoviewPlayerControllerでYouTubeの動画を再生したいです。前もって感謝します。

+0

関連:http://stackoverflow.com/questions/1779511/play-youtube-videos-with-mpmovieplayercontroller-instead-of-uiwebview –

答えて

6

Mr.Yuvaraj.Mあなたの上記のコードは正しいです。あなたのiPhone/iPod touchデバイスでプロジェクトを実行してください。 YouTubeのビデオは、Simulatorでサポートされていない可能性があります。これを確認してください。ありがとう。

+0

Mr.Gopinathがあなたの答えに感謝します。私はあなたの答えをチェックします。ありがとう。 –

1

使用しているHTML埋め込みコードの代わりに、YouTubeのウェブサイトにアクセスし、動画を見つけて共有ボタンをクリックし、埋め込みボタンを使用してHTMLの埋め込み例を取得します。このパターンは、現在使用しているFlashバージョンではなく、ビデオを埋め込むために使用してください。

8

XCDYouTubeVideoPlayerViewControllerを使用してください。それはUIWebViewを必要とせずに、あなたのアプリにあなたのビデオをシームレスに追加します。

プログレッシブダウンロード+ MoviePlayerおよびAVFoundationフレームワークを使用します。 YouTubeのビデオIDを入力するだけでいいです。

フルスクリーンでないフルスクリーン&とフルスクリーンでないスクリーンの両方をサポートしています。iOS SIMULATORで作業中です!

例:

XCDYouTubeVideoPlayerViewController *videoPlayerViewController = [[XCDYouTubeVideoPlayerViewController alloc] initWithVideoIdentifier:@"9bZkp7q19f0"]; 
[self presentMoviePlayerViewControllerAnimated:videoPlayerViewController]; 
+0

私はこのライブラリをpodを使って追加します。これにはどのヘッダを使用しますか? –

+0

@ R.Mohanは '#import ' – Hlung