2013-04-23 4 views
5

Sto cercando di riprodurre i video di YouTube sul mio tag UIWebView usando con il codice qui sotto -Riproduzione di video di YouTube in UIWebView solo utilizzando iFrame

NSString *html = @"\ 
<html><head>\ 
<style type=\"text/css\">\ 
body { background-color: transparent;\ 
color: white; \ 
}\ 
</style>\ 
</head><body style=\"margin:0\">\ 
<iframe class=\"youtube-player\" width=\"300\" height=\"300\" src=\"http://www.youtube.com/embed/efRNKkmWdc0\" frameborder=\"0\" allowfullscreen=\"true\"></iframe>\ 
</body></html>"; 

UIWebView *videoView = [[UIWebView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 460.0)]; 
[videoView loadHTMLString:html baseURL:nil]; 

relativo funzionamento benissimo.

enter image description here

Ma, ho bisogno di giocare questo su WebView sé non utilizza lettore predefinito iPhone. Come faccio a limitare questo a giocare solo su UIWebView. Sono stato definito anche come classe iframe come class=\"youtube-player\". Ma, sta prendendo il giocatore predefinito di iPhone.

Qualsiasi idea apprezzata!

+0

Hi ... Praveen ... Hai avuto soluzione per questo .. per favore mi aiuti – iSwaroop

+0

@ Jack1231 No. Ancora non. Ma sono sicuro. Ogni video in iOS non può essere riprodotto senza l'utilizzo del suo riproduttore rapido. Quindi, potrebbe non essere possibile in iOS – Praveenkumar

+0

@Praveen Hai trovato una risposta? di fronte allo stesso problema. Ricerca della soluzione dagli ultimi 2 mesi – Jasmeet

risposta

0

Non possibile. I video Web sono sempre a schermo intero su iPhone. L'unica possibilità di riprodurre video nella tua app è utilizzare MPMoviePlayer e aggiungere la visualizzazione al tuo schermo. Ma allora avete bisogno di avere un link al file video

3

Prova ad usare questo codice per inizializzare il giocatore iframe:

 player = new YT.Player('player', { 
           height: '100%', 
           width: '100%', 
           videoId: 'M7lc1UVf-VE', 
           playerVars: { 
           'controls' : '0', 
           'playsinline' : 1 
           } 
           }); 

Nota il parametro "playsinline" essere impostato a 1. Nella visualizzazione contenente, inizializzare l'UIWebView con questo parametro:

webView.allowsInlineMediaPlayback = YES; 

una cosa che ho notato è che non è possibile impostare il parametro baseURL NULL; deve essere una NSString. Ecco un esempio che carica un file HTML denominato iframe-player.html contenente il codice HTML richiesto e il codice JavaScript:?

NSString *path = [[NSBundle mainBundle] pathForResource: @"iframe-player" ofType: @"html"]; 
NSString *embedHTML = [NSString stringWithContentsOfFile: path 
               encoding:NSUTF8StringEncoding 
                error: &error]; 

[webView loadHTMLString:embedHTML baseURL:[NSURL URLWithString:@"about:blank"]]; 
+0

Hai un progetto di esempio. Non sto giocando in linea per me –

+0

@AvnerBarr Hai trovato la soluzione? – Jasmeet

+0

Sì____________ –