2012-09-14 41 views
12

Merhaba web görünümleri ile app var ve youtube video gömmek. Artık iOS6 yüklü, ancak artık çalışmıyor.iOS 6 embed youtube

Birisi zaten bir çözüm bulmuş mu?

BBKod: Eğer straigh ileri otomatik oynatma gerekmez, o zaman belki play butonuna

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

, sen play butonuna basın, tam ekran ile iframe kullanabilirsiniz

- (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]; 
} 
+2

iOS 6. sürüm açıklamasını içinde bir not bu konuda var okuyun. –

+1

Apple, önceki iOS'ta Youtube videolarını oynatmaya dahil olan yerel Youtube uygulamasını kaldırdı. Bir yedek bulmaya çalışıyorum, henüz şans yok. –

+0

Bunu hallettin mi? – Daniel

cevap

11

Harika bir soru ve bir sorun farkettim ve çözümü buldum. iOS 6 itibariyle

, http://www.youtube.com/watch?v=oHg5SJYRHA0 artık çalışmaz şeklinde gömülü YouTube URL'ler:

Ben Safari/WebKit bölümünde iOS 6 sürüm notlarını bu teklifi buldunuz. Bu URL'leri, web sayfalarında 'u gömmek için değil, YouTube sitesinde video izlemek içindir. Bunun yerine, kullanılması gereken format burada açıklanmaktadır: https://developers.google.com/youtube/player_parameters.

Google geliştirici sitesine geri dönün, video oynatıcının bir iframe kullanarak gömülü olması gerektiği, çok fazla çalışma olmaması gerekir.

Bu yardımcı olur umarım.

3

oyuncu (en azından iOS 6'daki uygulamalarım için) üstlenecek

Daha eski Base SDK 5.1 (5.0) ile uygulamayı derlerseniz, herhangi bir eski YouTube gömümü de iOS 6'da bile çalışmaya devam etmelidir. Like:

<embed src="http://www.youtube.com/watch?v=VIDEOID" type="application/x-shockwave-flash"  widht="64" height="64"></embed> 
+0

5.1 (5.0) dev kiti nedir? –

+3

Eski Base SDK, bu karışıklığı gidermek için bunu düzenledim. – PetrV

+0

Çok teşekkürler, ben temel sdk olarak 5.0 kullanarak inşa ettim ve –

5

// takip eder ve bu benim için

// bu youtube benim url'dir çalışıyor gibi ben iOS6 içinde youtube video oynamış Qiqi yardımı gelen 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]; 
İlgili konular