12

こんにちは、webviews を備えたアプリがあり、YouTube ビデオを埋め込みます。今、私は iOS6 をインストールしましたが、もう動作しません。

誰かがすでに解決策を見つけていますか?

マイコード:

- (void)viewDidLoad
{
    [scrollvideoView setScrollEnabled:YES];
    [scrollvideoView setContentSize:CGSizeMake(320,2300)];
    [scrollvideoView setPagingEnabled:NO];

    [super viewDidLoad];
    // Do any additional setup after loading the view.

    //Variabelen
    NSInteger x1 = 25;
    NSInteger x2 = 123;
    NSInteger x3 = 220;
    NSInteger sz = 75;

    //Label height rij1
    NSInteger yt1 = 45;

    /* de Videos */
    //Eerste rij
    NSInteger y1 = 0;
    [self embedYouTube:@"http://www.youtube.com/watch?v=MFARZYEGqK8" frame:CGRectMake(x1, y1, sz, sz)];
    [self embedYouTube:@"http://www.youtube.com/watch?v=cD7WHGvXqEA" frame:CGRectMake(x2, y1, sz, sz)];
    [self embedYouTube:@"http://www.youtube.com/watch?v=8onqmHPBJOo" frame:CGRectMake(x3, y1, sz, sz)];

    //Setting de labels
    UILabel *videoLabel1 = [[UILabel alloc] initWithFrame:CGRectMake(x1, yt1, sz, sz)];
    videoLabel1.text = @"Videoclip daor heb ik schijt an";
    [self.scrollvideoView addSubview:videoLabel1];
    videoLabel1.backgroundColor = [UIColor clearColor];
    videoLabel1.font = [UIFont fontWithName:@"Arial" size: 9.0];
    videoLabel1.textColor = [UIColor whiteColor];

    UILabel *videoLabel2 = [[UILabel alloc] initWithFrame:CGRectMake(x2, yt1, sz, sz)];
    videoLabel2.text = @"Videoclip goeie been verkeerde bed";
    [self.scrollvideoView addSubview:videoLabel2];
    videoLabel2.backgroundColor = [UIColor clearColor];
    videoLabel2.font = [UIFont fontWithName:@"Arial" size: 9.0];
    videoLabel2.textColor = [UIColor whiteColor];

    UILabel *videoLabel3 = [[UILabel alloc] initWithFrame:CGRectMake(x3, yt1, sz, sz)];
    videoLabel3.text = @"Wavin flag (giel beelen)";
    [self.scrollvideoView addSubview:videoLabel3];
    videoLabel3.backgroundColor = [UIColor clearColor];
    videoLabel3.font = [UIFont fontWithName:@"Arial" size: 9.0];
    videoLabel3.textColor = [UIColor whiteColor];

    //Tweede rij
    NSInteger y2 = 100;
    [self embedYouTube:@"http://www.youtube.com/watch?v=-cJz3YGRlMI" frame:CGRectMake(x1, y2, sz, sz)];
    [self embedYouTube:@"http://www.youtube.com/watch?v=ZdQRcAnPCvk" frame:CGRectMake(x2, y2, sz, sz)];
    [self embedYouTube:@"http://www.youtube.com/watch?v=KNcT5O1qk40" frame:CGRectMake(x3, y2, sz, sz)];

}

- (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];
    UIWebView *videoView = [[UIWebView alloc] initWithFrame:frame];
    [videoView loadHTMLString:html baseURL:nil];
    [self.scrollvideoView addSubview:videoView];
    //[videoView release];
}
4

3 に答える 3

11

素晴らしい質問であり、私が気付いたばかりの問題であり、解決策を見つけようとしていました.

iOS 6 のリリース ノートの Safari/WebKit セクションで次の引用を見つけました。

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

Google 開発者サイトに戻ると、iframe を使用してビデオ プレーヤーを埋め込む必要があるようです。これ以上の作業は必要ありません。

それが役立つことを願っています。

于 2012-09-26T02:38:30.983 に答える
5

// Qiqiヘルプから私は次のようにiOS6でYouTubeビデオを再生しました、そしてそれは私のために働いています

//これは私のyoutubeのURLです:http://www.youtube.com/watch?v = s9KU-oOa6pA

// VIDEOID:s9KU-oOa6pA

     CGRect frame = CGRectMake(5,55, 310,200);
     NSString *embedHTML =[NSString stringWithFormat:@"\
                          <html><head>\
                          <style type=\"text/css\">\
                          body {\
                          background-color: transparent;\
                          color: blue;\
                          }\
                          </style>\
                          </head><body style=\"margin:0\">\
                          <iframe height=\"200\" width=\"310\"      src=\"http://www.youtube.com/embed/s9KU-oOa6pA\"></iframe>\
                          </body></html>"];
    UIWebView *videoView = [[UIWebView alloc] initWithFrame:frame];

   videoView.backgroundColor = [UIColor clearColor];
   [videoView loadHTMLString:embedHTML baseURL:nil];
    [self.view addSubview:videoView];
于 2012-11-02T07:19:10.977 に答える
3

簡単な自動再生が必要ない場合は、再生ボタンで iframe を使用できます

      <iframe height="90" width="75" src="http://www.youtube.com/embed/VIDEOID"></iframe>  

、再生ボタンを押すと、フルスクリーンプレーヤーが引き継ぎます(少なくともiOS 6の私のアプリの場合)

古い Base SDK 5.1 (5.0) を使用してアプリをコンパイルすると、iOS 6 でも古い YouTube 埋め込みが機能するはずです。

 <embed src="http://www.youtube.com/watch?v=VIDEOID" type="application/x-shockwave-flash"     widht="64" height="64"></embed>
于 2012-09-19T16:29:24.700 に答える