2012-04-30 24 views
5

Ho trovato molte domande in questo forum riguardanti l'incorporamento di video di youtube e autoplay, ma nessuno di loro ha chiarito tutti i miei dubbi.Riproduzione automatica di video di YouTube all'interno di UIWebview

ho trovato due metodi per incorporare il video youtube in 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]; 

Se uso (1) metodo e seguire l'approccio dato here mia video autoplay. L'idea è trovare il pulsante in UIWebView e inviare un evento di ritocco ad esso.

Se utilizzo (2) e seguo lo stesso approccio, il video non si avvia automaticamente.

Penso che l'approccio (2) sia raccomandato poiché (1) è solo per i video Flash (giusto?).

È possibile con qualsiasi mezzo (2)? Questo link dice NO.

qualcuno può confermare

  • Se ho ragione che (2) si consiglia
  • Autoplay con (2) non è possibile.
+0

"se uso il metodo (1) e seguo l'approccio qui indicato" .. si sta collegando alla domanda e non una risposta specifica su quella pagina .. ci sono come 10 risposte .. puoi per favore collegarti allo specifico risposta che avevi in ​​mente? – abbood

+0

scusa @abbood ma non importa l'approccio che ho collegato non funzionerà più su iOS> 5 (o 6). Utilizza le API JS di YouTube. – msk

+0

hum .. speravo in una soluzione più generica ..ad esempio sto collegando video live in livestream e mi piacerebbe che suonasse immediatamente non appena l'utente carica il viewController contenente la webview con il codice video in livestream .. penso che quello che sto cercando sia l'automazione del click dell'utente su il pulsante play .. ma poi di nuovo io donno se Apple accetterebbe tale codice – abbood

risposta

3

D. Se ho ragione che è raccomandato (2)

R. Si (2) metodo è per i-dispositivi in ​​cui nessun supporto flash.

Q. La riproduzione automatica con (2) non è possibile.

A. Al momento non è possibile avviare la riproduzione automatica.

Aggiornamento: sono in grado di riprodurre automaticamente il video su YouTube utilizzando le API di YouTube JS vedere https://developers.google.com/youtube/js_api_reference

Basta chiamare playVideo da onPlayerReady

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

Come si chiama da UIWebView? – shim

+0

@MSK Non ha funzionato per me non è in grado di riprodurre automaticamente. –

-1

È inoltre possibile utilizzare questo trucco dal Saurabh WadhwaAnswer che il fuoco endActionsForControlEvents:UIControlEventTouchUpInside dopo UIWebView finito scaricare

+1

Per favore leggi attentamente la mia domanda, l'ho già provato. – msk

0

Autoplay è possibile mediante l'emissione di:

webView.mediaPlaybackRequiresUserAction=FALSE; 
+0

Questo è il thread precedente, ma ricordo che l'impostazione mediaPlaybackRequiresUserAction = NO da sola non mi ha aiutato. Ho aggiornato la mia risposta sopra e sono in grado di riprodurre automaticamente i video di YouTube. – msk

+0

Questo ha funzionato solo su iOS6 + per me. –

+0

oh potrebbe essere si perché l'ultima volta l'ho provato su iOS5 dove non ha funzionato. Sebbene l'approccio nella mia risposta funzioni per iOS> = 5. – msk

3

I risolto il problema aggiungendo il seguente codice:

webview.mediaPlaybackRequiresUserAction=NO; 
webview.allowsInlineMediaPlayback=YES; 
Problemi correlati