2017-11-03 15 views
0

だから、タイトルはかなりの合計ビデオを開きます。それはそれは完璧しかし、第二の作品documentationで述べたようにYTPlayerViewは一度ロードされたユーチューブのアプリで、私はこのように私のYTPlayerViewをロードしています状況まで

[self.videoView loadWithVideoId:@"youtube id"]; 

とを私は時々YouTubeのアプリケーションで、フルスクリーンではなく、ビデオが開くビューをタップします。

ここにヘルプがありますか?

答えて

0

多くの研究の後、私はこの質問に対する答えを見つけられなかったので、YTPlayerView.mファイルを掘り下げてtouchイベントがどのように処理されるかを見て、これを行う2つの方法があることがわかりました:

1-はYTPlayerViewは、WebViewのとのオーバーライド含まれています。これはURLスキームをチェックし、完全なコードは、適切なアクションをトリガするようにされている

- (BOOL)webView:(UIWebView *)webView 
    shouldStartLoadWithRequest:(NSURLRequest *)request 
       navigationType:(UIWebViewNavigationType)navigationType 

- (BOOL)webView:(UIWebView *)webView 
    shouldStartLoadWithRequest:(NSURLRequest *)request 
       navigationType:(UIWebViewNavigationType)navigationType { 
    if ([request.URL.host isEqual: self.originURL.host]) { 
    return YES; 
    } else if ([request.URL.scheme isEqual:@"ytplayer"]) { 
    [self notifyDelegateOfYouTubeCallbackUrl:request.URL]; 
    return NO; 
    } else if ([request.URL.scheme isEqual: @"http"] || [request.URL.scheme isEqual:@"https"]) { 
    return [self handleHttpNavigationToUrl:request.URL]; 
    } 
    return YES; 
} 

私の場合この関数handleHttpNavigationToUrlは、ビデオがアプリケーションまたはYouTubeアプリケーションで開く必要があるかどうかを示すboolを返します。 私はこれらの行をコメントアウトして、アプリケーション上でビデオを開き、すべてが正常です。

[[UIApplication sharedApplication] openURL:url]; 
    return NO; 

これは、クイックフィックスではなく、私が知っている良いものですが、私の場合は、2番目のソリューションは、しかしはるかに優れている選択の余地がなかったです。

2 -問題はそれほど代わりに埋め込みURLを使用してビデオをロードするための他の方法を使用しようとしますが、埋め込みURLを使用しているかのように、この問題は発生しません、最初の場所でユーチューブのURLにある

HTTP(S):フォーマットである?//www.youtube.com/embed/ [動画ID] [パラメータ]

これだけloadVideoByURLおよび使用を使用しようとの代わりに埋め込みURL loadWithVideoId。 私はこれが役立つことを願っています。

関連する問題