我需要将下载的文件保存在我的 ionic 2 路径中并使用该内在 url 路径。下载:使用文件传输插件。
const fileTransfer = new Transfer();
fileTransfer.download(trackObj.remoteUrl,cordova.file.dataDirectory+"audio/"+filename).then((entry)=>{
console.log("download completed:"+entry.toURL());
});
entry.toURL() 给出的路径类似于 file://......需要使用该路径使用媒体插件播放。但是,媒体插件不接受带有 file://的路径...,
this.playerStatic = new MediaPlugin(internalFilePath,onStatusPlayerUpdate);
所以,在谷歌搜索发现:https://forum.ionicframework.com/t/ios-9-cant-play-audio-video-files-that-are-downloaded-to-device/37580/4
所以使用"cdvfile://localhost/library-nosync/"+ fileSrc; 作为临时解决方案。它不适用于安卓。
因此,为了能够在两个平台上使用,我应该能够遵循其他解决方案,其中路径将解析为 InternalURL。 当我尝试时
window.resolveLocalFileSystemURL(src, function(dir){});
它说 resolveLocalFileSystemURL 不是一个函数。有人可以帮助我吗?如何在 ionic 2 中使用 window.resolveLocalFileSystemURL?
我在 ionic 3 中使用它,用于 iOS 构建。请检查代码:
this.file.resolveLocalFilesystemUrl(this.file.dataDirectory).then((entry) => {
console.log("Success! Got a DirectoryEntry",entry);
});
在这里,我正在使用cordova-plugin-file,但我认为它也应该适用于cordova-plugin-file-transfer。如果有任何问题,请尝试让我知道。