我正在尝试学习 Cordova,使用 Visual Studio 作为我的IDE。我按照网上的一些说明构建了一个音乐播放器,但缺少一个插件......“存储”。
无论如何我都尝试运行它,但在尝试使用directoryReader时出现“错误5”。
我假设这是由于权限问题造成的,我再次假设这将由存储插件排序。
这里有几个问题...
我的上述假设正确吗? 在哪里可以找到存储插件? 我如何包含该插件?
预先感谢您的任何建议。
(我知道我应该发布代码,但我现在不在家,这让我发疯!)
这是我正在使用的代码示例:
document.addEventListener( 'deviceready', onDeviceReady.bind( this ), false );
function onDeviceReady() {
// Handle the Cordova pause and resume events
document.addEventListener( 'pause', onPause.bind( this ), false );
document.addEventListener( 'resume', onResume.bind( this ), false );
$('#readMusic').click(function () { readMusic(); });
};
function readMusic() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail);
}
function onFileSystemSuccess(fileSystem) {
var directoryReader = fileSystem.root.createReader();
directoryReader.readEntries(readerSuccess, fail);
}
function readerSuccess(entries) {
var i;
for (i = 0; i < entries.length; i++) {
if (entries[i].name.indexOf('.mp3') > -1) {
alert(entries[i].name);
}
}
}
最佳答案
在文件插件 3.0 版本中,它将 LocalFileSystem.PERSISTENT
路径更改为应用程序拥有的路径,因此它将在应用程序卸载时被删除,并且无法被其他应用程序访问其他应用程序(按照 Android 存储最佳实践的建议)
如果您想继续使用旧路径,则必须在 config.xml
中添加此行
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
关于Cordova 3+ 查找设备上的所有音乐文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34075948/