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
propriedadeNo 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);
});