2016-05-19 3 views
3

私は本当に自分のアプリケーションキャッシュからビデオのソースをロードしたいと思います。私のアプリケーションのネイティブ部分では、キャッシュ内のフォルダ内のフォルダにビデオを保存しています。iosキャッシュからビデオソースをロードするためのCordovaファイルプラグイン

/var/mobile/Containers/Data/Application/639797B4-1726-4350-91D7-2E212ACB974D/Library/Caches/.../.../clip.mov

だから私は、コルドバファイルプラグインを使用してに探していた。

https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/index.html#display-an-image-file-

と正直に、私は私がそれを実装することになってるかように混乱しています。私はアプリケーションのWeb側でほとんど何もしていない。ちょっとした基本的な機能ですが、私はこれをどうやって行うのか、そしてどこでそれをやるべきかについてはわかりません。私はそれがデバイスが準備ができてから来るはずであることを理解します。

私がやりたいことは、ファイルを読むことですが、私は一時的なファイルまたは永続的なファイルを作成する必要があると思うfileEntryオブジェクトが必要だと言います。 (私はファイルを一時的にしか使用したくないので、適切であるかどうかはわかりませんが、ファイルキャッシュファイルシステムに保存していますので、持続性があると思いますか?)誰もが正しい方向に私を指すことができれば、それは非常に

var app = { 
    // Application Constructor 
    initialize: function() { 
     this.bindEvents(); 
    }, 
    // Bind Event Listeners 
    bindEvents: function() { 
     document.addEventListener('deviceready', this.onDeviceReady, false); 
     ... 
     //some button events 
     ... 
    }, 
    // deviceready Event Handler 
    onDeviceReady: function() { 
     app.receivedEvent('deviceready'); 
     // <--- 
    }, 
    // Update DOM on a Received Event 
    receivedEvent: function(id) { 
     var parentElement = document.getElementById(id); 
     var listeningElement = parentElement.querySelector('.listening'); 
     var receivedElement = parentElement.querySelector('.received'); 

     listeningElement.setAttribute('style', 'display:none;'); 
     receivedElement.setAttribute('style', 'display:block;'); 

     console.log('Received Event: ' + id); 
    } 
}; 
app.initialize(); 

をいただければ幸いです。

以下は私のベアボーンJSです。

ありがとうございました。

答えて

1

ここでは、このコードを使用して、あなたが言ったパスからファイルを取り出し、変数でBase64に格納することができます。これに基づいて、あなたはどこでもそれを使ってやることができます。

window.resolveLocalFileSystemURL(cordova.file.applicationStorageDirectory, function(dir) { 
      console.log("got main dir",dir); 

      dir.getFile("clip.mov", {create:false}, function(fileEntry) { 
      console.log("got the file", fileEntry); 
      fileEntry.file(function(file) { 
       var reader = new FileReader(); 
       reader.onloadend = function(e) { 
       //In this e you have your file 
       console.log(e); 
       }; 
       reader.readAsDataURL(file); 
      }); 
      }); 
     }, function(err) { 
      console.log(err); 
     }); 
+0

こんにちは、このお返事ありがとう、本当に役に立ちます。しかし、window.resolveLocalFileSystemURLは私のために発射していないようです。私はいくつかの場所に私の質問とapp.initialize()の後にしかし、私はまだconsole.logまたはアラートからの応答を取得していない後に示されているようにonDeviceReadyイベントを含むいくつかの場所に入れてみました。何か案は? – AlecGamble

+0

コードバファイルプラグインがインストールされていますか? – Del

+0

はい、私は本当にあります。 – AlecGamble

関連する問題