2012-05-30 9 views
5

È possibile riprodurre file video in WebView, ma i video vengono riprodotti automaticamente senza l'interazione dell'utente. Quindi ora sto seguendo un approccio diverso per raggiungerlo.Come incorporare un file video locale in Html per giocare in UIWebView?

NSString* embedHTML = @"\ 
     <html><head>\ 
     <style type=\"text/css\">\ 
     body {\ 
     background-color: transparent;\ 
     color: white;\ 
     }\ 
     </style>\ 
     </head><body style=\"margin:0\">\ 
     <embed id=\"yt\" src=\"http://www.businessfactors.de/bfcms/images/stories/videos/defaultscreenvideos.mp4\" type=\"application/x-shockwave-mp4\" \ 
     width=\"%0.0f\" height=\"%0.0f\"></embed>\ 
     </body></html>"; 


_webView = [[UIWebView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 412.0)]; 

    [_webView setOpaque:NO]; 
    NSString *html = [NSString stringWithFormat:embedHTML, _webView.frame.size.width, _webView.frame.size.height]; 
    [_webView loadHTMLString:html baseURL:nil]; 

In questo modo, posso riprodurre file video da Internet. Ma voglio riprodurre i file dalla memoria locale.

Anche se si prova a passare la variabile del percorso file locale, il video non è in grado di riprodurre. Qualcuno può dirmi come incorporare il mio file locale in html in modo che io possa giocare in webview come il video su Internet?

CASO 1: riproduzione automatica di video in WebView ma il pulsante di riproduzione è ancora in alto. CASO 2: l'URL del video online è incorporato come mostrato sopra e il video può essere riprodotto. Ma voglio passare il percorso del file video locale invece dell'URL video online

+0

Per favore dai un'occhiata alla mia [risposta] [1] qui. Spero che sia d'aiuto. [1]: http: //stackoverflow.com/questions/6759818/embed-video-in-html-file-loaded-in-uiwebview-from-documents-folder-of-applicatio/6964742#6964742 –

risposta

2

se non si utilizza UIWebView non è possibile eseguire file dalla memoria locale. Se vuoi che il tuo video non venga riprodotto automaticamente, devi inserire il codice nel tuo file HTML (presumo che i file HTML che stai visualizzando siano tuoi) per disabilitare la riproduzione automatica per il video.

Se si utilizza oggetto, ecco un codice di esempio per voi da seguire

<object width="160" height="144"> 
<param name="autoplay" value="false"> 

<embed src="sample.mov" width="160" height="144" 
autoplay="false" controller="false" 
</embed> 

</object> 
+0

No. Mi hai scambiato. Per prima cosa ho provato solo con la WebView che sta riproducendo il video automaticamente. Quindi ho pianificato di utilizzare l'Html – Perseus

+0

Voglio riprodurre i video in WebView e anche i video dovrebbero iniziare a giocare dopo che l'utente ha fatto clic sul pulsante di riproduzione. – Perseus

+0

se il file URL/html in esecuzione su UIWebView non è il tuo, allora hai aggiunto codice nella sezione viewDidLoad per disabilitare la riproduzione automatica. Se si desidera riprodurre file locali, è necessario creare il proprio file HTML e configurare l'impostazione internamente. Non troppo sicuro di cosa intendessi con "pianificato l'uso di HTML" dal momento che UIWebView dovrebbe utilizzare un file html (consigliato) se hai intenzione di visualizzare vid su una pagina web. –

1

se si aggiunge .mp4 o compatibile a episodi in pacchetto dell'applicazione, si può raggiungere il suo percorso come questo;

[[NSBundle mainBundle] pathForResource:@"blalba" ofType:@"mp4"];

ti dà la stringa URL.

Se i tuoi video non sono nel tuo pacchetto, o copiato dal pacchetto o scaricato da Internet, puoi ottenere la directory come questa;

NSString *documentdir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; 
NSString *tileDirectory = [documentdir stringByAppendingPathComponent:@"xxxx/Tiles"]; 
NSLog(@"Tile Directory: %@", tileDirectory); 

Dopo aver ricevuto l'URL del video, è possibile inserirlo nella WebView. Ma giocherà nel predefinito Video Player di iPhone credo .. buona fortuna ..

+0

Posso già riprodurre i video in UIWebView. Per favore controlla la mia domanda di aggiornamento ora – Perseus

Problemi correlati