gpt4 book ai didi

javascript - 用于从 ios 缓存加载视频源的 Cordova 文件插件

转载 作者:行者123 更新时间:2023-11-29 15:28:02 26 4
gpt4 key购买 nike

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

/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-

老实说,我对应该如何实现它感到很困惑。我几乎没有在应用程序的网络端做任何事情。只有几个基本功能,我不确定如何执行此操作以及我应该在哪里执行此操作。我知道它应该在设备准备就绪后出现。

我想做的就是读取文件,但它说我需要一个 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);
});

关于javascript - 用于从 ios 缓存加载视频源的 Cordova 文件插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37327992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com