1 Reply Latest reply on Jul 11, 2016 12:56 PM by kerrishotts

    Can't play local videos in IOS 9 with Phonegap app

    quantion

      I made an IOS 9 app using Phonegap 6.2.0. I need to play videos with no connection, so I download it using cordova FileTransfer plugin:

         var uri = encodeURI(file.url);
         var fileTransfer = new FileTransfer();
         // var fileLocation = cordova.file.applicationStorageDirectory +
         // '/Documents/' + file.folder + '/' + file.fileName;
      
         var fileLocation = cordova.file.dataDirectory + file.fileName;
      
         var deferred = $q.defer();
        fileTransfer.headers = {
         Connection: "close"
         };
      
        fileTransfer.download(uri, fileLocation, function(result) {
        console.log("Fichero descargado: " + JSON.stringify(result));
        deferred.resolve(result);
         }, function(error) {
        deferred.reject(error);
         });
         return deferred.promise;

       

       

      I've tried different file locations to download it (https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/)

      Then, I return the file path using resolveLocalFileSystemURL:

      var deferred = $q.defer();
      
         var nativePath = cordova.file.dataDirectory + nombreFichero + "." + extension;
      
        resolveLocalFileSystemURL(nativePath, function(entry) {
         //deferred.resolve(entry.nativeURL);
        console.log("Fichero native: " + entry.toNativeURL());
        console.log("Fichero fullPath: " + entry.fullPath);
        console.log("Fichero toUrl: " + entry.toURL());
        console.log("Fichero toInternalURL: " + entry.toInternalURL());
      
        deferred.resolve(entry.toURL());
         }, function(error) {
        console.log("Error al leer el fichero: " + JSON.stringify(error));
        deferred.reject(error);
         });
         return deferred.promise;
      

       

       

      I've tried all file formats but none of them worked:

      cdvfile://localhost/library-nosync/97a7d50f-05d1-4642-96e9-b0b26ea41897.mp4

      file:///var/mobile/Containers/Data/Application/6CD24D7A-7A39-4AFE-A43B-788FCDFCEB5A/Librar y/NoCloud/a88d38b8-85e8-4b9b-b57e-a8eb2731eb0d.mp4

      http://localhost/library-nosync/97a7d50f-05d1-4642-96e9-b0b26ea41897.mp4 and using port 12344

      Some formats do nothing, some show the button play strikethrough...

      In all answers I had read they recommend to use .toNativeUrl() but it doesn't work for me...

      I also tried cordova-plugin-streaming-media (I can't post more links), but it does not work (no play video, no errors...)

      Any idea?