在Node-webkit中使用节点j和Web Audio API进行audio

我正在使用node-webkit在其中需要播放audio的应用程序。 我已经使用Web Audio API和XMLHttpRequest成功播放audio,但加载歌曲非常慢。 根据格式和大小,最多需要1秒。

有没有办法使用node.js文件系统加载文件,然后将该数据传递给Web Audio API以减less加载时间? 有没有更好的方法去做这件事?

注:我正在构build一个本地应用程序,所以我想播放audio不stream到客户端。 我还需要能够对audio进行处理,这就是为什么我研究Web Audio API的原因。

您可以将audio数据转换为data: uri并使用它。

看看这个问题了解更多信息。

有很多工具可以将audio文件转换为数据uri 。

这个npm file-component

  var file = require('file'); var img = file("/path/to/audio"); if (!img.is('image/*')) { alert('Images only!'); return; } var reader = img.toDataURL(function(err, str){ if (err) throw err; console.log("This is a data: uri: " + str); }); reader.on('progress', function(e){ console.log(e.percent); });