2012-09-22 18 views
5

Intento incrustar videos de YouTube y reproducirlos automáticamente en mi aplicación. El código no funciona en iOS6, sin embargo funciona perfectamente en iOS 5 anterior.Incrustar video de YouTube y reproducción automática en iOS 6 no funciona

lo hago de esta manera:

-(IBAction)playVideo:(id)sender { 

myWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 400)]; 
myWebView.delegate = self; 
[myWebView setAllowsInlineMediaPlayback:YES]; 
myWebView.mediaPlaybackRequiresUserAction=NO; 

[myWebView loadHTMLString:[NSString stringWithFormat:@"<embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" width=\"300\" height=\"300\"></embed>", @"http://www.youtube.com/watch?v=TbsXUJITa40"] baseURL:nil]; 

} 

- (UIButton *)findButtonInView:(UIView *)view { 
UIButton *button = nil; 

if ([view isMemberOfClass:[UIButton class]]) { 
    return (UIButton *)view; 
} 

if (view.subviews && [view.subviews count] > 0) { 
    for (UIView *subview in view.subviews) { 
     button = [self findButtonInView:subview]; 
     if (button) return button; 
    } 
} 
return button; 
} 

-(void)webViewDidFinishLoad:(UIWebView *)webView { 

UIButton *b = [self findButtonInView:webView]; 
[b sendActionsForControlEvents:UIControlEventTouchUpInside]; 
} 

So- cuando se carga la vista web, que busca automáticamente la UIButton y el vídeo comienza. No puedo entender por qué en iOS 6 este método ya no funciona. Carga el video, pero no aparece nada ...

¿Alguien me puede ayudar? Me estoy volviendo loco para tratar de resolverlo ...

Respuesta

4

Debe usar el comando JS. This link debería ayudar.

+0

Según Apple, esto no es posible en este momento - ver mi respuesta arriba. –

4

Espero que no sea demasiado tarde para obtener una respuesta, pero simplemente no es posible en iOS. Al igual que los estados manzana en la que de la documentación: https://developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/AudioandVideoTagBasics/AudioandVideoTagBasics.html

Para evitar descargas no solicitados a través de redes celulares a cargo del usuario, medios incrustados no se pueden reproducir automáticamente en Safari en iOS el usuario siempre inicia la reproducción. Un controlador se suministra automáticamente en iPhone o iPod touch una vez que se inicia la reproducción, pero para iPad debe establecer el atributo de controles o proporcionar un controlador usando JavaScript.

Tenga en cuenta que la documentación vinculada anteriormente es para Safari en general, no para iOS específico. Para mí, esto fue confuso en la primera lectura hasta que noté eso.

Desafortunadamente no, por el momento esto no funcionará en iOS.

Cuestiones relacionadas