2013-10-12 23 views
5

本当に助けが必要です。 iOSアプリで作業する私はyoutubeをプレイしたい。私は多くのブログや記事を読んで、youtubeビデオを再生するためにiframeを使う必要があることを理解しました。YouTube iOS6でIframeの埋め込みプレーヤーが動作しない

しかし、いくつかのビデオに私が手に:へのリンクを提供しますYoutube in iOS5 - done button Tapped:「。このビデオでは、XYZからのコンテンツが含まれているそれは、特定のサイトでの再生が制限されたYouTubeのに見る」

私はこの質問を読んでyoutube api: https://developers.google.com/youtube/player_parameters 彼らはiframeの使用をお勧めします。ユーチューブサイトの
例は次のとおりです。

<iframe id="ytplayer" type="text/html" width="640" height="390" 
    src="http://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1&origin=http://example.com" 
    frameborder="0"/> 

私が使用したコード:

<!DOCTYPE html> 
<html> 
<head> 
<style> 
* { 
    border:0; 
    margin:0; 
    } 
</style> 
</head> 
<body> 
    <iframe webkit-playsinline id="player" type="text/html" width="320" height="180" src="http://www.youtube.com/embed/rEevIL1Wpcg?enablejsapi=1&playsinline=1&autoplay=1" frameborder="0"> 
    </iframe> 
</body> 
</html> 

誰かが私がそれを理解するのに役立つことはできますか?埋め込みフラグがtrueであることを確認します。これは、モバイルデバイスで再生できるすべてのクリップです。デバイス上で動作する動画の

例:はデバイス上を仕事とエラーMSGを起動していない動画の

例:

+0

高く評価するには、[this link](http://stackoverflow.com/questions/6666423/overcoming-display-forbidden-by-x-frame-options)で答えを投票し、シミュレータで実行している場合は、 Safariでデバッグすることができます。 –

答えて

6

あなたは

が、それは.hファイル

@property (strong, nonatomic) UIWebView *webView; 

と中で私

のために働いているコード下にしてみユーチューブプレーヤーとしてのWebViewを使用することができます.mファイル

NSString *videoURL = @"http://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1&origin=http://example.com"; 

// if your url is not in embed format or it is dynamic then you have to convert it in embed format. 

    videoURL = [videoURL stringByReplacingOccurrencesOfString:@"watch?v=" withString:@"embed/"]; 

    NSRange range = [videoURLString rangeOfString:@"&"]; 
    @try { 
     videoURLString = [videoURLString substringToIndex:range.location]; 
    } 
    @catch (NSException *exception) { 

    } 

    // here your link is converted in embed format. 

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

    self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)]; 
    [self.view addSubview:self.webView]; 
    [self.webView loadHTMLString:embedHTML baseURL:nil]; 

したいともvideoUrlを変更することができますようここでは、WebViewのフレームを変更することができます。

+0

それは私の問題を解決しませんでしたが。あなたは賞金を得ている人です。 – Mike

4

埋め込み可能とシンジケートの2つの概念があります。 iOS端末はiframeを使用しているため、基本的に埋め込みます。 プレーヤーAPIを使用するAndroidデバイスでシンジケートを確認できます。

search->listを実行すると、videoEmbeddablevideoSyndicatedをtrueに設定できます。

動画を繰り返し再生している場合は、動画ごとにvideo->listの動画ID付きの呼び出しを行い、応答でstatus.embeddableを確認できます。

ここにはblog postがあります。例はv2であっても、情報は依然として関連しています。

関連する問題