2012-05-30 37 views
5

Puedo reproducir archivos de video en WebView, pero los videos se reproducen automáticamente sin la interacción del usuario. Así que ahora estoy siguiendo un enfoque diferente para lograr eso.¿Cómo incrustar un archivo de video local en Html para jugar en 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]; 

De esta manera, puedo reproducir archivos de video de Internet. Pero quiero reproducir los archivos desde la memoria local.

Aunque trató de pasar la variable de ruta de archivo local, el vídeo no está en condiciones de jugar. ¿Alguien puede decirme cómo insertar mi archivo local en el html para que pueda jugar en la vista web como si fuera el video de Internet?

CASO 1: Reproducción de vídeo de forma automática en vista Web, pero el botón de reproducción se encuentra todavía en la parte superior. CASO 2: La URL de video en línea está incrustada como se muestra arriba y se puede reproducir el video. Pero quiero pasar la ruta del archivo de video local en lugar de la url de video en línea

+0

Por favor, echar un vistazo a mi [respuesta] [1] aquí. espero que ayude. [1]: http: //stackoverflow.com/questions/6759818/embed-video-in-html-file-loaded-in-uiwebview-from-documents-folder-of-applicatio/6964742#6964742 –

Respuesta

2

No puede ejecutar archivos desde la memoria local si está usando UIWebView. Si desea que su video no se reproduzca automáticamente, debe ingresar el código en su archivo HTML (supongo que los archivos HTML que está visualizando son suyos) para desactivar la reproducción automática del video.

Si está utilizando objetos, aquí es un código de ejemplo para que usted siga

<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. Me has confundido. Primero probé con solo WebView, que reproduce el video automáticamente. Luego planeé usar el Html – Perseus

+0

. Quiero reproducir los videos en WebView y también los videos deberían comenzar a reproducirse después de que el usuario haga clic en el botón Reproducir. – Perseus

+0

si el archivo URL/html que está ejecutando en UIWebView no es suyo, entonces tiene que agregar el código en la sección viewDidLoad para deshabilitar la reproducción automática. Si desea reproducir archivos locales, debe crear su propio archivo HTML y configurarlo internamente. No estoy muy seguro de lo que quiere decir con "planeado usar HTML" ya que su UIWebView debería estar usando un archivo html (recomendado) si planea mostrar vid en una página web. –

1

si se ha añadido .mp4 o compatibles episodios en paquete de la aplicación, se puede llegar a su paso como éste;

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

que siempre tenga la cadena URL.

Si los vídeos no están en su paquete, ya sea una copia del paquete o descargado de Internet se puede obtener el directorio como éste;

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

Después de obtener la url de video, puede ponerla en su WebView. Pero va a jugar en defecto del iPhone Reproductor de vídeo creo .. buena suerte ..

+0

Ya puedo reproducir los videos en UIWebView. Por favor revisa mi pregunta de actualización ahora – Perseus

Cuestiones relacionadas