3

iOS5 では、Youtube の動画を読み込みたいのですが、次のようにしました。

- (void)embedYouTube:(NSString *)urlString frame:(CGRect)frame {

NSString *embedHTML = @"\
<html><head>\
<style type=\"text/css\">\
body {\
background-color: transparent;\
color: white;\
}\
</style>\
</head><body style=\"margin:0\">\
<embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \
width=\"%0.0f\" height=\"%0.0f\"></embed>\
</body></html>";
NSString *html = [NSString stringWithFormat:embedHTML, urlString, frame.size.width, frame.size.height];
videoView = [[UIWebView alloc] initWithFrame:frame];
[videoView loadHTMLString:html baseURL:nil];
[self.view addSubview:videoView];

}

呼び出し元:

        [self embedYouTube:@"http://www.youtube.com/v/PqtUSSdf8b4" frame:CGRectMake(0, 0, self.view.frame.size.width, 100)];

そして、「完了」ボタンが付いた標準のYoutubeフレームがあります。完了ボタンを押すと、ルート VC にリダイレクトされます。なぜ?どうすれば VC にアクセスできますか (私が呼び出しているときの VC) ?

さらに重要なのは、「完了ボタン」イベントをキャッチする方法です。

編集: MainVC と DetailVC があります。MainVC は DetailVC を として呼び出しますModalViewController。そこから、このembedYouTubeメソッドを呼び出します。この画面で完了を押しているとき: ここに画像の説明を入力

DetailVC ではなく MainVC に戻ります。なんで?このイベントをキャッチするには?

編集: iOS 6 は黒い背景のみを表示します - 何も表示しません。なんで?

4

2 に答える 2

5

完了ボタンをタップすると、フルスクリーン ビデオ プレーヤーが消えます。これは、システムがこの YouTube/Flash Safari 埋め込みトリックの一部として自動的に表示するフルスクリーン プレーヤーにカプセル化されます。これが使用されているときは、何もしようとしないでください。

iOS 6 について - iOS 6 では、YouTube 動画をアプリケーションに埋め込むこの方法はサポートされなくなりました ( source )

iOS 6 以降、http://www.youtube.com/watch?v=oHg5SJYRHA0 の形式で埋め込まれた YouTube URL は 機能しなくなります。これらの URL は、YouTube サイトでビデオを表示するためのものであり、Web ページに埋め込むためのものではありません。代わりに、使用する必要がある形式については、https ://developers.google.com/youtube/player_parameters で説明されています。

于 2012-10-12T13:53:51.410 に答える