pwa - Múltiples elementos multimedia HTML5 en una página en iOS(iPad)
install pwa ios (5)
Mi research me ha llevado a aprender que el manejador de elementos de medios de Apple es un singleton, lo que significa que no puedo reproducir un video
mientras se reproduce un audio
en segundo plano. Tengo la tarea de crear un marco de presentación de diapositivas y el cliente desea una pista de audio de fondo, grabaciones de audio cronometradas que coincidan con viñetas y medios variables que pueden ser una imagen o video, o un ciclo cronometrado de múltiples elementos de medios.
Por supuesto, ninguno de los medios funciona en iOS. Cada elemento de medios cancela lo anterior.
Mi idea inicial es incorporar el audio de voz en el video cuando hay un video presente, pero hay una versión Flash existente de esta configuración que depende de los recursos existentes, así que prácticamente tengo que usar lo que se entrega.
¿Hay CUALQUIER solución para esto? Estoy probando en iOS 4.3.5 . Los desarrolladores más inteligentes del mundo están en este sitio, tenemos que ser capaces de encontrar algo.
EDITAR: Actualicé mi iPad a iOS 5.0.1 y el problema persiste.
¿Estás trabajando en una aplicación web o en una aplicación nativa?
Si está trabajando en una aplicación web, se encuentra en un mundo de dolor. Esto se debe a que simplemente no tiene mucho control sobre las cosas que Mobile Safari no proporciona de inmediato. Si este es el caso, me presentaría y sería honesto con los interesados.
Si está trabajando en una aplicación nativa, puede recurrir a un mecanismo que implica una comunicación de ida y vuelta entre UIWebView
y ObjC. En realidad es factible.
La idea es la siguiente:
Inserte elementos especiales de <object>
en sus documentos HTML5, que elabore de acuerdo con sus necesidades, teniendo especial cuidado en mantener la convención de nomenclatura atributiva para atributos no estándar. Aquí podría insertar identificadores, rutas y otras variables de control en los artefactos multimedia que desea reproducir.
Entonces podrías construir un javascript (además de jQuery, pe) que se comunique con ObjC a través del mecanismo de delegación en UIWebView
o a través de HTTP. Revisaré esta opción a continuación.
Digamos que en $(document).ready()
todos los objetos que tienen una clase especial. Una clase que eliges cuidadosamente para identificar todos los <object>
. Usted crea una lista de dichos objetos y los pasa a la parte ObjC de su aplicación. Podrías serializar fácilmente tal lista usando JSON. Luego, en ObjC puedes hacer lo que quieras con ellos. Reprodúzcalos a través de AVPlayer u otro marco siempre que quiera que se reproduzcan (una vez más recurriría a un puente JS - ObjC para señalar realmente la parte nativa para tocar un elemento en particular).
Puede "comunicarse" con ObjC a través del patrón de delegación en UIWebView o a través de HTTP. Entonces tendrías un puente JS - ObjC en su lugar.
El enfoque HTTP tiene sentido en algunos casos, pero implica una gran cantidad de código adicional y consume muchos recursos.
Si está construyendo una aplicación ObjC y desea más detalles sobre cómo construir realmente un puente ObjC - JS que se ajuste a estas necesidades, contáctenos :)
Detendré esta publicación a partir de ahora porque sería bueno saber si se trata de una aplicación nativa.
Aclamaciones.
¿Podría usar un servicio web para fusionar las transmisiones en tiempo real con FFMpeg y luego transmitir una salida a quicktime?
Para elaborar tal vez una biblioteca como http://directshownet.sourceforge.net/about.html también podría funcionar. Parece que tienen un método
DESCombine: una biblioteca de clases que usa DirectShow Editing Services para combinar archivos de audio y video (o fragmentos de archivos) en un solo archivo de salida. Se proporciona un archivo de ayuda (DESCombine.chm) para usar la clase.
Esto podría usarse para devolver los datos resultantes como la respuesta a la llamada y cargados a través del reproductor HTML5.
Esto no es posible en la actualidad. Como observa cuando se reproduce un video, ocupa la pantalla completa con quicktime y mueve el navegador al fondo. La única solución en este momento es fusionar el audio y el video en un formato mp4 y reproducir ese único elemento.
Si te entiendo correctamente, no puedes fusionar el audio y el video porque depende del flash. Como iOS no puede reproducir el flash, debe combinar el audio y el video y usar el flash como respaldo. Hay numerosos reproductores de html5 que usan javascript para probar y reproducir el video html5 primero y luego retroceder para actualizar.
Menciona que hay una configuración Flash existente del video: ¿se trata de un archivo swf? ¿Podría importarlo en un software de edición de video / audio y agregar una pista de audio en la parte superior?
Algo como esto: http://www.youtube.com/watch?v=J2vvH7oi8m8&feature=youtube_gdata_player
Además, si se trata de un archivo Flash, ¿lo convertirás en un avi o similar para iOS? Si tuviera que hacerlo de todos modos, existe la posibilidad de agregar una pista de audio.
¿Qué tal si lo haces con CSS para hacer el truco?
Tal vez conoces una empresa llamada vdopia que distribuye anuncios de video en dispositivos móviles. http://mobile.vdopia.com/index.php?page=mobilewebsolutions
Afirman que desarrollaron lo que se conoce como formato de video vdo, que en realidad solo hace un sprite css ejecutando en eso: D
Quiero decir que podría tener su "video" como una imagen enmarcada, luego adjuntar la etiqueta de audio html5 ahí.
Me gustaría saber tu respuesta