ios - type - UIWebview dos no está reproduciendo video mp4
wkwebview load url (6)
Traté de reproducir un video .mp4 desde un sitio web (con la etiqueta de video HTML5) con UIWebView. El dispositivo y simulador de iPhone / iPad solo muestra un marco negro con un botón de reproducción tachado. Si acabo de llamar a este sitio web en la versión de Safari Mac, es posible reproducirlo. ¿Qué pasa?
No es un archivo local. El html se ve así:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" href="../css/shared-culture.css" />
</head>
<body>
<section class="base">
<hgroup>
<h1>creative commons</h1>
<h2>a shared culture</h2>
</hgroup>
<p>To celebrate our 2008 fundraising campaign, Creative Commons has
released “A Shared Culture,” a short video by renowned filmmaker <a
href="http://en.wikipedia.org/wiki/Jesse_Dylan">Jesse Dylan</a>. Known for
helming a variety of films, music videos, and the Emmy Award-winning <a
href="http://my.barackobama.com/page/invite/yeswecanvideo">“Yes We Can”</a>
Barack Obama campaign video collaboration with rapper will.i.am, Dylan created
“A Shared Culture” to help spread the word about the Creative Commons mission. </p>
<!-- height="240" width="360" -->
<video id="video1" controls="controls">
<source src="../video/shared-culture.mp4" type="video/mp4"/>
<source src="../video/shared-culture.webm" type="video/webm"/>
<div class="errmsg">
<p>Your Reading System does not support (this) video.</p>
<pre><code>
<video id="video1" controls="controls">
<source src="../video/shared-culture.mp4" type="video/mp4"/>
<source src="../video/shared-culture.webm" type="video/webm"/>
</video>
</code></pre>
</div>
</video>
<p>In the video, some of the leading thinkers behind Creative Commons
describe how the organization is helping “save the world from failed sharing”
through free tools that enable creators to easily make their work available to
the public for legal sharing and remix. Dylan puts the Creative Commons system
into action by punctuating the interview footage with dozens of photos that have
been offered to the public for use under CC licenses. Similarly, he used two
CC-licensed instrumental pieces by Nine Inch Nails as the video’s soundtrack
music. These tracks, “17 Ghosts II” and “21 Ghosts III,” come from the Nine Inch
Nails album Ghosts I-IV, which was released earlier this year under a Creative
Commons BY-NC-SA license. (See <a
href="http://creativecommons.org/videos/a-shared-culture">attribution</a>.)
</p>
</section>
</body>
</html>
Puede que no esté en un formato compatible con el iPhone.
Arrastra el archivo mp4 a iMovie y luego haz clic en Compartir -> Exportar película y selecciona uno de los formatos compatibles con iPhone.
Puede ser un problema con la ruta relativa ../
que estás usando. Intente utilizar una ruta absoluta completa, comenzando por http://
.
Una de las formas en que el video no puede reproducirse en un UIWebView es si el servidor web que aloja el archivo de video no admite rangos de bytes. UIWebView no descarga todo el archivo .mp4 a la vez; en cambio, transmite el video solicitando partes del archivo. La mayoría de los servidores actuales admiten intervalos de bytes, pero si los tuyos no, o si lo has desactivado por algún motivo, no podrás enviar videos a un dispositivo con iOS.
También tengo este problema, tengo 2 .mp4
pero uno puede usar y otro no, intento formatear el archivo .mp4
a .mp4
para IPad y funciona, creo que deberías intentarlo.
Reproducir video mp4 en la programación del iPhone no es muy difícil. Solo tenemos que hacer UNA arrastrar y soltar extra.
por favor, tome un nuevo proyecto de vista única. luego, en el archivo ViewController.m solo copie y pegue este código
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize webView;
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;
webView=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0,screenWidth,screenHeight)];
NSURL *url = [[NSBundle mainBundle] URLForResource:@"testingHTML" withExtension:@"html"];
NSLog(@"%@",url);
[self.webView loadRequest:[NSURLRequest requestWithURL:url]];
// NSURL *nsurl=[NSURL URLWithString:url];
//NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl];
// [webView loadRequest:nsrequest];
[self.view addSubview:webView];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
Luego crea un archivo HTML llamado como testingHTML.html
y copie y pegue el siguiente código en el archivo HTML
<!DOCTYPE html>
<html>
<head></head>
<body>
<center> <video width="250" height="304" controls preload>
<source src="video1.mp4" type="video/mp4">
</video> </center>
<p>Thanks to Md Kamrul Hasan [email protected]</p>
</body>
</html>
Arrastra y suelta un video de tipo MP4 en dos lugares:
Primero: Arrastra el video de la HDD a la pestaña de proyecto [Pestaña izquierda de Xcode] Segundo: desde la pestaña izquierda de Xcode, arrastra de nuevo el mismo archivo de video a Proyecto ---> Fases de compilación ---> Copia recursos de paquete
Normalmente, los recursos de Copiar paquete tienen los archivos de proyecto pero algunas veces no contienen los archivos de video.
¡¡¡EJECUTE AHORA el proyecto y DISFRUTA del video ...... !!
Buena suerte
Suena como un problema de códec. Puede ver qué códecs usa el archivo si lo abre en VLC en su computadora, vaya a Ventana-> Información de medios-> Detalles de códec. La respuesta aquí se vincula a los documentos de Apple donde encontrará códecs de audio y video compatibles: