繁体   English   中英

Cordova File Plugin从ios缓存加载视频源

[英]Cordova File Plugin to load video source from ios cache

我真的想从我的应用程序缓存中加载视频源。 在我的应用程序的本机部分,我将视频保存到缓存中的文件夹中的文件夹。

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

所以我正在研究使用cordova文件插件:

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

老实说,我对如何实现它感到困惑。 我在应用程序的Web端几乎没有做任何事情。 只是一些基本功能,我有点不确定如何做到这一点以及我应该去做的地方。 我知道它应该在设备准备好之后出现。

我想要做的就是读取文件,但它说我需要一个fileEntry对象,我认为我需要创建一个临时或持久的文件。 (不确定哪个是合适的,因为我只想暂时使用该文件,但我将其保存到文件缓存文件系统中,所以我猜它是持久的?)我只是对我需要包含的内容感到困惑。

以下是我的准系统JS:

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();

如果有人能指出我正确的方向,我将不胜感激。

谢谢。

在这里,您可以使用此代码从您所说的路径中获取文件,并将其放在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);
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM