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

时间:2016-05-08 14:43:37

标签: android cordova audio media

我在phonegap中开发了文件阅读器,其路径如下:

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

所以我能够在SD卡上列出所有文件,并选择一个要加载音频文件的文件夹。所以我的音频文件列表如下:

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

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

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

但音频不播放或什么都不做。但是,当我尝试使用PhoneGap APP测试它时,一切正常,当我进行构建并尝试从构建测试应用程序时,这是行不通的。

1 个答案:

答案 0 :(得分:0)

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

如何从SD卡或手机存储中读取条目的小例子:

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中。

相关问题