Abra o arquivo local em elétron e renderize em wavesurfer.js

Estou trabalhando em um aplicativo construído com electron, ele deve funcionar com o wavesurfer.js para exibir uma forma de onda representando o arquivo de áudio. No entanto, estou tendo problemas para abrir o arquivo usando ofs e empurrando o conteúdo do arquivo para o wavesurfer através de um Blob. O arquivo é carregado e tudo parece funcionar, mas ao decodificar o surfista de ondas dizError decoding audiobuffer.

Duas coisas que pensei que talvez pudessem influenciar isso:

ofs.readFile A função recebe uma codificação como segundo parâmetroO construtor Blob aceita um objeto de opções como segundo parâmetro, onde é possível definir o tipo de mim através do parâmetrotype propriedade

No entanto, até agora as duas abordagens falharam em corrigir o problema.

Espero que alguém tenha uma solução. (Também pode ser ofs.readFile a função é inteiramente o caminho errado e existe um caminho muito melhor; Estou apenas procurando uma maneira relativamente eficiente de abrir um arquivo, qualquer ajuda é apreciada) Saúde!

Aqui está o código ...

(Estou deixando de fora todo o padrão eletrônico, você pode obtê-lo facilmente fazendogit clone https://github.com/sindresorhus/electron-boilerplate/) - Inclua uma tag de script paramain.js noindex.html, adicione uma div com o IDwave-area em algum lugar do html e adicione uma tag de script aobiblioteca wavesurfer.js. Você também precisará de uma cópia local doarquivo wav de demonstração.

Então nomain.js Arquivo …

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', function(err) {
  console.log(err);
});

questionAnswers(1)

yourAnswerToTheQuestion