プロジェクトに という名前MainViewController
のコントローラがありますか。そのコントローラには の問題があるはずYTPlayerView
です。ビュー コントローラでこのビューを確認してください。
ほとんどの場合、コードで直接使用するクラスでは定義されません
コードで問題を検索すると、ビデオをインラインで再生するのに役立つ UIWebview のプロパティが見つかりましたsetAllowsInlineMediaPlayback
これにより、webview で YouTube ビデオを直接再生できます。YouTube ビデオの再生に使用できるコード サンプルを次に示します。
NSString *strVideoId = @"M7lc1UVf-VE";
NSString *videoURL = [NSString stringWithFormat:@"https://www.youtube.com/embed/%@?feature=player_detailpage&playsinline=1",strVideoId];
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\"></iframe>\
</body></html>",videoURL];
[self.mainwebview setAllowsInlineMediaPlayback:true];
[self.view addSubview:self.mainwebview];
[self.mainwebview loadHTMLString:embedHTML baseURL:nil];
loadWithVideoId
このコードでは、YTPlayerView で渡していた任意のビデオ ID を渡すことができます
。幅/高さを変更するにwidth=\"100%%\" height=\"240px\"
は、iframe の部分を変更できます。
それはiPhoneでも私のために働いていますが、これは次のようになっています:
iframe youtube play
in setAllowsInlineMediaPlayback
iPhone
スクリーンショットに表示されている画像は、特定のビデオの問題のように見えます
注:このコードは必要ないため、このコードが機能する場合は、他の場所で使用されていない場合はプロジェクトからYTPlayerView
削除できますYTPlayerView
更新一部のビデオが再生されない: この問題は特定の実装とは何の関係もないと思います。私にとっては、ブラウザー (iFrame に設定している埋め込み URL を使用) または YTPlayerview でも
機能しないためです。実装におけるいくつかの問題と、あなたが言及したように:
はい、すべての動画は YTPlayerView で動作しました。これらのビデオは通常の全画面モードで動作しますが、埋め込みプレーヤーでは動作しません
YTPlayerview に実装する場合は、次のコードを確認できます。
NSString *strVideoId = @"3bMYgo_S0Kc";
self.playerView = [[YTPlayerView alloc]init];
self.playerView.frame = CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height/2);
[self.playerView loadWithVideoId:strVideoId playerVars:@{@"playsinline":@1}];
[_mainwebview addSubview:self.playerView];
[self.mainwebview setAllowsInlineMediaPlayback:true];
[self.view addSubview:self.mainwebview];
では、loadWithVideoId
全画面表示の問題を解決できるインライン パラメータを提供できます。これは iPhone でも機能する可能性があります。
このビデオは YTPlayer またはブラウザ (埋め込み URL) では動作しないことに注意してください。ただし、コメントに基づいて、これを試すことができます。