tips for you tube
DESCRIPTION
UIWevViewでYouTubuの動画を表示する際のTipsTRANSCRIPT
Tips for YouTubeKyasuSoft
1. YouTubeの動画を表示したい
2. 動画の画面だけランドスケープを有効にしたい
1.YouTubeの動画を表示
UIWebViewなら簡単。ただ、
• 他の動画に遷移させたくない
• 再生後に関係ない動画を表示させたくない
これをなんとかしたい。
動画のURLを取得YouTubeで動画を表示させ、右クリックで
"埋め込みコードをコピー"
使うのはココ
<iframe width="640" height="360" src="//www.youtube.com/embed/
RCCvHZ81200?feature=player_detailpage"
frameborder="0" allowfullscreen></iframe>
WebViewで表示
NSString *urlStr = @"https://www.youtube.com/embed/emXEW-4kFqQ?feature=player_detailpage&rel=0&showsearch=0";
NSURL *url = [NSURL URLWithString:urlStr];
NSURLRequest* request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
• 他の動画に遷移させたくない • 再生後に関係ない動画を表示させたくない
NSString *urlStr = @"https://www.youtube.com/embed/emXEW-4kFqQ?feature=player_detailpage&rel=0&showsearch=0";
&rel=0&showsearch=0 検索ボックスを消す
関連動画をOFFにする
他にも...&autoplay=1&repeat=1
表示したらすぐ再生開始
繰り返し再生
他の動画に飛びたくない その2
ここをタップすると動画のトップページに飛んでしまうので、 透明なViewを被せてタップを受け付けないようにします。
参考)
• YouTubeで、再生後、他の関連動画を表示させない方法 (TIPS)
http://homepage-shindan.com/news/tips/youtube.html
2. 動画の画面だけ ランドスケープを有効にしたい
Target -> Generalの Device Orientationはランドスケープも有効にする
特定のViewControllerのみ ランドスケープを有効にする
• TopのViewControllerで、表示中のViewControllerをチェックして特定のViewContorollerのみランドスケープも許可する。他のViewControllerはポートレートのみとする。
- (NSUInteger)supportedInterfaceOrientations { if ([[self.viewControllers lastObject] isKindOfClass:[SomeVC class]]) { return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape; } else { return UIInterfaceOrientationMaskPortrait; } }
細かいことですが、
ランドスケープから直接「戻る」と、トップ画面がランドスケープになってしまうので、横画面の時は「戻る」ボタンを隠します。
KyasuSoft
おわり