使用媒体插件播放 mp3 的 Phonegap 应用程序不起作用

Phonegap app playing mp3 using Media plugin does not work

我在 phonegap 中开发了文件 reader,路径如下:

var defaultPath = 'file:///storage/sdcard0/';

所以我能够列出 sdcard 上的所有文件和 select 一个包含要加载的音频文件的文件夹。所以我的音频文件列表如下所示:

i[1] = 'file:///storage/sdcard0/Download/audio/file.mp3';
i[2] = 'file:///storage/sdcard0/Download/audio/file1.mp3';

然后我尝试使用以下代码使用媒体插件(已安装)初始化歌曲:

var media = new Media(i[1]);
media.play();

但是音频不播放或什么都不做。但是,当我尝试使用 PhoneGap APP 对其进行测试时,一切正常,但当我进行构建并尝试从构建中测试应用程序时,这就不起作用了。

我自己发现了这个问题。 Android 不允许通过从根 /storage/sdcard0 /storage/sdcard1 开始的路径读取本地存储或 sdcard 上的文件。因此,当我们想要访问本地存储或 sdcard 时,我们必须通过 file:///mnt/sdcard/ 访问 sdcard 和 file:///mnt/storage/sdcard1/ 访问 phone 存储。

如何从 sdcard 或 phone 存储中读取条目的小示例:

var path = 'file:///mnt/storage/sdcard1/'; 
window.resolveLocalFileSystemURL(path, function(entry){
    var reader = entry.createReader();
    reader.readEntries(showEntries);
});

function showEntries(entries){
   var entries = [];
   for(var i =0; i < entries.length; i++){
       var entry = entries[i];
       var data = {
           name: entry.name,
           path: entry.fullPath,
       };

       entries[i] = data;
   }

   console.log(JSON.stringify(entries));
}

希望这能帮助解决我遇到的同样问题,因为 phonegap 中没有记录。