2016-07-08 89 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

相關問題