如何在SoundManager 2的html5文件系统api中使用文件

时间:2013-09-19 07:50:29

标签: javascript html5 soundmanager2 html5-filesystem

我正在尝试使用PERMANENT STORAGE在用户的本地文件系统中使用HTML5 Filesystem API编写mp3。我有一个拖放区域,其中一个事件触发dataTransfer.files。但是如何使用SoundManager 2加载文件以在浏览器中播放mp3?

Soundmanager需要一个路径作为createSound的参数:

  url: [
    {type:'audio/mp3',url:'/path/to/play.php?song=123'}
  ]

我使用Filesystem API成功读取的文件的路径是什么?

以下成功运行:

var files = evt.dataTransfer.files; // FileList object.

// files is a FileList of File objects. List some properties.
//var output = [];
for (var i = 0, f; f = files[i]; i++) {
  audio.playlist.push(escape(f.name));  // saving filenames in array for playlist
  writeFile(fs.root,files[i]);

}
for (var i = 0, f; f = files[i]; i++) {
 fs.root.getFile(escape(files[i].name), {create: false}, function(fileEntry) {
       alert('A file ' + fileEntry.name + ' was read successfully.');
}, errorHandler);


}

后来我打电话给Soundmanager 2(只有当我将相对文件路径传递给它时才有效) -

    audio.nowPlaying = soundManager.createSound({
        id: 'aSound',
        url: audio.playlist[playlistId],
        autoLoad: true,
        volume: 20,

        // ...with a recursive callback when play completes
        onfinish: function(){
            playlistId ++;
            playAudio(playlistId);
        }
    })

0 个答案:

没有答案
相关问题