2012-04-30 34 views
5

Encontré muchas preguntas en este foro con respecto a la incrustación de videos de youtube y reproducción automática, pero ninguno de ellos despejó todas mis dudas.Reproducción automática de video de Youtube dentro de UIWebview

encontré dos métodos para incrustar vídeo de YouTube en UIWebView

1)

NSString *youTubeHTMLTemplate = @"<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>"; 
finalHtml = [NSString stringWithFormat:youTubeHTMLTemplate, fullYopuTubeUrl, htmlFrameWidth, htmlFrameHeight]; 

2)

NSString *youTubeHTMLTemplate = @"<html><body style=\"margin:0;padding:0;\"><iframe class=\"youtube-player\" type=\"text/html\" width=\"%f\" height=\"%f\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\" allowfullscreen></iframe></body></html>"; 
finalHtml = [NSString stringWithFormat:youTubeHTMLTemplate, htmlFrameWidth, htmlFrameHeight, videoID]; 

Si uso (1) método y seguir el enfoque dado here mi video autoplays. Idea es encontrar el botón en UIWebView y enviar el evento de retoque a él.

Si utilizo (2) y sigo el mismo método, el video no se reproduce automáticamente.

Creo que se recomienda el enfoque (2) ya que (1) es solo para videos Flash (¿no?).

¿Es de alguna manera (2) posible? Esto link dice NO.

Alguien puede confirmar

  • Si estoy en lo cierto que (2) se recomienda
  • reproducción automática con (2) no es posible.
+0

"si utilizo (1) el método y sigo el enfoque dado aquí" ... está vinculando a la pregunta y no a una respuesta específica en esa página ... hay como 10 respuestas. ¿Puede por favor vincularse con el específico respuesta que tenías en mente? – abbood

+0

lo siento @abbood, pero no importa el enfoque que he vinculado ya no funcionará en iOS> 5 (o 6). Use las API JS de YouTube. – msk

+0

hum ... esperaba una solución más genérica ...por ejemplo, estoy vinculando al video en tiempo real y me gustaría que se reproduzca inmediatamente tan pronto como el usuario cargue el viewController que contiene la vista web con el código del video en vivo ... creo que lo que estoy buscando es automatizar el clic del usuario en el botón de reproducción ... pero claro, no sé si Apple aceptaría ese código – abbood

Respuesta

3

P. Si estoy en lo cierto que (2) se recomienda

R. Sí (2) el método es para i-devices donde no hay soporte flash.

P. La reproducción automática con (2) no es posible.

A. No es posible la reproducción automática a partir de ahora.

Actualización: Soy capaz de reproducir automáticamente vídeo de YouTube mediante el uso de las API de Youtube JS ver https://developers.google.com/youtube/js_api_reference

Sólo tiene que llamar playVideo de onPlayerReady

function onPlayerReady(event) { 
       event.target.playVideo();      
      } 
+0

¿Cómo se llama eso desde un UIWebView? – shim

+0

@MSK No funcionó para mí no poder reproducir automáticamente. –

-1

También puede utilizar este truco de la Saurabh WadhwaAnswer que disparar el endActionsForControlEvents:UIControlEventTouchUpInside después UIWebView terminó descarga

+1

Por favor, lea mi pregunta con cuidado, ya lo he intentado. – msk

0

reproducción automática es posible mediante la emisión:

webView.mediaPlaybackRequiresUserAction=FALSE; 
+0

Este es un hilo viejo, pero recuerdo configurar mediaPlaybackRequiresUserAction = NO solo no me ayudó. Actualicé mi respuesta más arriba y puedo reproducir automáticamente el video de youtube. – msk

+0

Esto solo funcionó en iOS6 + para mí. –

+0

oh puede ser que sí porque la última vez que lo probé en iOS5 no funcionó. Aunque el enfoque en mi respuesta funciona para iOS> = 5. – msk

3

I Resolvió el problema agregando el siguiente código:

webview.mediaPlaybackRequiresUserAction=NO; 
webview.allowsInlineMediaPlayback=YES; 
Cuestiones relacionadas