web-dev-qa-db-ja.com

UIWebViewを使用せずにiPhoneアプリでYouTubeビデオを再生しますか?

IPhoneアプリからYouTube動画を再生したい。次のコードを使用して、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);
}

しかし、このコードは機能していません。また、私はMPMoviePlayerControllerで試してみましたコードは、

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];

これは私にとっても機能していません。誰が私が間違っていた場所を教えて、私にアイ​​デアを提案してもらえますか? MPMoviewPlayerControllerを使用するのではなく、UIWebViewでYouTubeビデオを再生したい。前もって感謝します。

30
Yuvaraj.M

Mr.Yuvaraj.M上記のコードは正しいです。 iPhone/iPod touchデバイスでプロジェクトを実行してください。 youtubeビデオは、シミュレータでサポートされない/動作しない場合があります。これを確認してください。ありがとう。

7
Gopinath

XCDYouTubeVideoPlayerViewController を使用するだけです。 UIWebViewを必要とせずに、YouTubeビデオをアプリにシームレスに追加します。

プログレッシブダウンロード+ MoviePlayerおよびAVFoundationフレームワークを使用します。 youtubeの動画IDを入力するだけで準備完了です。

フルスクリーンと非フルスクリーンの両方とWORKS ON iOS SIMULATOR !!!をサポートしています

例:

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

YouTube Data API(v3) で利用可能なYTPlayerViewクラスがあります。

YouTubeヘルパーライブラリーを使用してiOSアプリケーションにYouTubeビデオを埋め込む をご覧ください

ヘルパーライブラリをインストールする方法と、ストーリーボードにYTPlayerViewを組み込む方法に関する包括的な手順を提供します。

8
Max MacLeod

YouTubeビデオをSwift 4.1で再生します

ポッドポッド「XCDYouTubeKit」を追加

viewControllerにXCDYouTubeKitをインポートする

func playYoutubeVideo(){

let strUrl = "https://www.youtube.com/watch?v=9m_K2Yg7wGQ"
if let range = strUrl.range(of: "=") {
        let strIdentifier = strUrl.substring(from: range.upperBound)
        print("Identifier:\(strIdentifier)")
        let videoPlayerViewController = 
        XCDYouTubeVideoPlayerViewController(videoIdentifier: strIdentifier)
        videoPlayerViewController.present(in: viewYTVideo)
        videoPlayerViewController.moviePlayer.play()
    }
}
1

使用しているHTML埋め込みコードの代わりに、YouTube Webサイトにアクセスしてビデオを検索し、共有ボタンを使用してから[埋め込み]ボタンを使用して、埋め込みHTMLの例を取得します。現在使用しているFlashバージョンではなく、ビデオの埋め込みにそのパターンを使用します。

1
Rob Reuss