2016-07-08 56 views
2

我使用Phonegap 6.2.0制作了IOS 9应用程序。我需要播放视频,无连接的,所以我用科尔多瓦文件传输的插件下载:使用Phonegap应用程序无法在IOS 9中播放本地视频

 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; 

我已经尝试了不同的文件位置下载它(https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/

然后,我回到使用的文件路径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; 

我已经尝试了所有的文件格式,但没有一次成功:

cdvfile://本地主机/库NOSYNC/97 a7d50f-05d1-4642-96e9-b0b26ea41897.mp4

文件:///无功/移动/集装箱/数据/应用/ 6CD24D7A-7A39-4AFE-A43B-788FCDFCEB5A /库/ NoCloud/a88d38b8-85e8-4b9b- b57e-a8eb2731eb0d.mp4

http://localhost/library-nosync/97a7d50f-05d1-4642-96e9-b0b26ea41897.mp4和使用端口12344

有些格式束手无策,一些显示按钮播放删除线...

在我看过他们建议使用.toNativeUrl所有的答案()但它不适合我...

我也尝试了cordova-plugin-streaming-media(我不能发布更多链接),但它不起作用(不播放视频,没有错误...)

任何想法?

+0

尝试使用cordova.file.externalDataDirectory或cordova.file.externalRootDirectory而不是cordova.file.dataDirectory – Gandhi

+0

我认为externalDataDirectory仅适用于Android – Daniel

+0

我的不好。我忽略了这个问题。看看这个链接,看看是否可以得到一些帮助 - https://github.com/gandhirajan/Cordova_File_Operations https://github.com/gandhirajan/Cordova_Media – Gandhi

回答

1

已解决。

我的代码效果很好,并播放视频。问题出在URL下载视频,它得到一个字符串与网址,而不是视频(因此下载和打开文件的方法没有错误)

总结,toUrl()的作品。

感谢@Gandhi的回复。

+0

很高兴你在丹尼快乐编码中破解 – Gandhi

相关问题