小编msp*_*pae的帖子

在电子中打开本地文件并在wavesurfer.js中渲染

我正在开发一个用电子构建的应用程序,它应该与wavesurfer.js一起显示表示音频文件的波形.但是,我无法使用fs模块打开文件,并通过Blob将文件内容推送到waveurfer.文件加载,一切似乎都有效,但解码waveurfer说Error decoding audiobuffer.

我想的两件事可能会影响到这一点:

  • fs.readFile函数将编码作为第二个参数
  • Blob构造函数将选项对象作为第二个参数,在此您可以通过type属性定义mimetype

但是,到目前为止,这两种方法都无法解决问题.

我希望有人有解决方案.(也可能是fs.readFile功能完全是错误的方式,有一个更好的方式;我只是寻找一个相对高效的方式打开文件,任何帮助表示赞赏)干杯!

这是代码......

(我要省略所有的电子样板,你可以通过这样做轻松搞定git clone https://github.com/sindresorhus/electron-boilerplate/) - 在脚本中加入一个脚本标签,main.js在html中的某个地方index.html添加一个div,wave-area并将一个脚本标签添加到wavesurfer.js库中.您还需要演示wav文件的本地副本.

然后在main.js文件中......

var fs = require('fs');

var wavesurfer = Object.create(WaveSurfer);
wavesurfer.init({
  container: '#wave-area'
});

fs.readFile('/path/to/demo.wav', function(err, data) {
  if (data && !err) {
    console.log('has data and no error!');
  }
  var file = new window.Blob([data]);
  wavesurfer.loadBlob(file);
}

wavesurfer.on('loading', function(e) {
  console.log('loading', e);
});

wavesurfer.on('error', …
Run Code Online (Sandbox Code Playgroud)

javascript fs readfile electron

10
推荐指数
1
解决办法
7378
查看次数

标签 统计

electron ×1

fs ×1

javascript ×1

readfile ×1