YouTubeビデオのURLを使用してYouTubeビデオを再生したい。
iOS バージョン 5.1.1 ではビデオの再生に成功しましたが、iOS バージョン 5.0.1 および 4.0 以下ではビデオが再生されません。私はビデオを再生するためにwebviewを使用しています。
IOS 5 未満の場合は、 iframe を使用する必要があります。
NSString *youTubeVideoHTML = @"<iframe id=\"yt\" class=\"youtube-player\" type=\"text/html\" width=\"280\" height=\"186\" src=\"http://www.youtube.com/embed/xxxxxx\" frameborder=\"0\">";
and for ios 5 above we can use embed :
NSString *youTubeVideoHTML = @"<html><head>\
<body style=\"margin:0\">\
<embed id=\"yt\" src=\"http://www.youtube.com/watch?v=xxxxxx?autoplay=1\" type=\"application/x-shockwave-flash\" \
width=\"%0.0f\" height=\"%0.0f\"></embed>\
</body></html>";
注: IOS 6 では、YouTube の URL をhttp://www.youtube.com/v/xxxxxx?autoplay=1として渡す場合にのみ URL が機能することがわかりました。
これがうまくいくことを願っています。
あなたのコメントから、間違った埋め込みコードを使用しているように見えます.YouTubeの埋め込みは次のようになります
<iframe width="560" height="315" src="http://www.youtube.com/embed/Cw2RzvK13F4" frameborder="0" allowfullscreen></iframe>
前に述べたように、Flash は iPhone では再生されないため、HTML5 バージョンを使用する必要があります。残念ながら、YouTube ビデオの 100% が変換されているとは思いませんが、ほとんどは動作するはずです。
埋め込み動画に適切な URL 形式を使用していることを確認する必要があります。彼らは最近それをいくらか変更しました。
Youtube 埋め込みプレーヤーとプレーヤー パラメータ - YouTube - Google Developers
次のようになります。
http://www.youtube.com/embed/VIDEO_ID
iOS 5 のすべての以前のバージョンで問題なく動作する私のコードを次に示します。このコードを試してみてください。これで問題が解決すると確信しています。
// Over here Just replace this url with your one's.
NSString *pdfString = @"http://www.youtube.com/watch?v=qe39vPFabuA";
NSString *htmlString = @"<html><head>\n"
"<meta name = \"viewport\" content = \"initial-scale = 1.0, user-scalable = no, width = 320\"/></head>\n"
"<body style=\"background:FFF;margin-top:0px;margin-left:0px\">\n"
"<div><object width=\"320\" height=\"416\">\n"
"<param name=\"movie\" value=\"%@\"></param>\n"
"<param name=\"wmode\" value=\"transparent\"></param>\n"
"<embed src=\"%@\"\n"
"type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"320\" height=\"416\"></embed>\n"
"</object></div></body></html>\n";
[webView loadHTMLString:[NSString stringWithFormat:htmlString,[pdfString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]],[pdfString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]] baseURL:nil];
また、必ず Device only でコードをテストしてください。シミュレーターでのテストでは、ビデオが再生されません。