Almacenamiento de vídeo para uso sin conexión en aplicaciones PhoneGap / Chrome

Tengo simples aplicaciones de reproducción de video, ambas configuradas por PhoneGap y Chrome Apps CLI (Both use Cordova), contienen un montón de videos educativos cortos y se necesitan como sitio web y aplicación en Android / iOS para uso sin conexión.

Hasta ahora, he encontrado que el tamaño total del archivo incluido de Chrome Apps no puede superar los 10mb y que PhoneGap Build no puede superar los 40mb. Por lo tanto, ambos necesitarán descargar y almacenar archivos localmente para su uso posterior. Los videos tendrán que abrirse y reproducirse desde el navegador WebView: los hotspots activan JS que cambian el src de video HTML5. (AppCache y el otro almacenaje del HTML5 están hacia fuera la pregunta para los dispositivos móviles, nunca parecen poder alcanzar el espacio de almacenaje triple del dígito)

¿Alguien ha tenido suerte con un determinado Cordova / PhoneGap / Chrome API de la aplicación que puede almacenar archivos localmente para lograr esta especificación?

Cualquier consejo / ayuda / señalando en la dirección correcta apreciado!

2 Solutions collect form web for “Almacenamiento de vídeo para uso sin conexión en aplicaciones PhoneGap / Chrome”

Usted puede hacer esto en Cordova aplicaciones (y muy pronto en aplicaciones Chrome Cordova). Necesitará las versiones más recientes de los complementos File (1.0.1) y FileTransfer (0.4.2).

Con éstos, puede usar FileTransfer.download() para descargar el video, y puede usar File para acceder al archivo y crear una etiqueta <video> para reproducir el video.

Deberá utilizar el método .toNativeURL() en las entradas del archivo antes de reproducirlas. Las versiones recientes del complemento de archivo utilizan un esquema de URL personalizado para los archivos, que desafortunadamente no es compatible con la etiqueta HTML <video> .

Este es el código de prueba que uso para probar la interacción de estos métodos:

 var filename = "small.mp4"; var videoURL = "http://techslides.com/demos/sample-videos/small.mp4"; requestFileSystem(PERSISTENT, 0, function(fileSystem) { var ft = new FileTransfer(); ft.download(videoURL, fileSystem.root.toURL() + "/" + filename, function(entry) { var videoElement = document.createElement('video'); videoElement.controls = 'controls'; videoElement.src = entry.toNativeURL(); document.videoElementById("output").appendChild(imgElement); }); }); 

Actualizar

Con la última versión del complemento de archivo (1.1.0), ya no necesitas usar .toNativeURL() para obtener una URL que puedes usar como un atributo src para un video. El .toURL() estándar .toURL() devolverá tal URL.

Aquí está el código para descargar el archivo usando phonegap filetransfer

  function downloadFile(){ window.requestFileSystem( LocalFileSystem.PERSISTENT, 0, function onFileSystemSuccess(fileSystem) { fileSystem.root.getFile( "test.html", {create: true, exclusive: false}, function gotFileEntry(fileEntry){ var Path = fileEntry.fullPath.replace("test.html",""); var fileTransfer = new FileTransfer(); fileEntry.remove(); fileTransfer.download( yourserverurl, Path + "yourfilename+extension", function(theFile) { window.localStorage.setItem("FilePath", theFile.toURL()); console.log(theFile.toURL()); }, function(error) { console.log("upload error code: " + error.code); } ); }, fail); }, fail); } function fail(error) { console.log(error.target.error.code); } 

Puede almacenar el fileURL en localstorage para más usuage

  • NodeJS + SocketIO empuja a la aplicación para móviles
  • Texto de TextView de Android Trunca el comportamiento
  • Cordova / Phonegap bloquea el código de la aplicación de origen para no ser editado / hackeado
  • Desventajas del desarrollo de aplicaciones móviles multiplataforma con Visual Studio
  • Alternativas de comunicación en tiempo real nativas a WebRTC
  • ¿Mi aplicación de Facebook también funciona en aplicaciones de iOS / Android?
  • ¿Puede una aplicación IOS / Android Phonegap hacer nada pero enlazar a un sitio web?
  • Aplicación nativa más rápida que HTML5
  • La Guía Completa de Cocos2d-x Tutorial & Guía
  • Instalación de las aplicaciones de iOS y Android de preparación y producción en el dispositivo
  • ¿Cómo detectar Golpe izquierdo y Golpe derecho para Stacklayout en Xamarin.Forms?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.