如何将p5.js soundFile转换为文件javascript类?

时间:2016-07-26 22:03:02

标签: javascript jquery p5.js

我正在使用p5.js库进行录制,但我需要将soundFile对象转换为javascript文件对象,以将其发送到音频服务器。

怎么能够成功呢?

我的代码是这样的:

mic = new p5.AudioIn();
mic.start();
recorder = new p5.SoundRecorder();
recorder.setInput(mic);
soundFile = new p5.SoundFile();

$("#record").on("click", function{
    recorder.record(soundFile);
})

$("#stop").on("click", function{
    recorder.stop();
})
$("#send").on("click", function{
    //here i need to convert soundFile object to file object 
    myuploadfile(file)
})

2 个答案:

答案 0 :(得分:4)

p5.sound库在将其下载为.wav之前创建一个Blob对象,你可以在p5.prototype.writeFile上看到它。

Blob和文件之间的差异只是2个额外属性:日期和名称,因此,如果要将blob“转换”为文件,只需添加以下2个属性:

function blobToFile(theBlob, fileName){
    //A Blob() is almost a File() - it's just missing the two properties below which we will add
    theBlob.lastModifiedDate = new Date();
    theBlob.name = fileName;
    return theBlob;
}

之后,您可以将输出管理为javascript文件

答案 1 :(得分:0)

这是进行录制和播放的example you seek。在saveSound(soundFile, 'mySound.wav');之后,您应该能够访问soundFile.path以获取路径。当然,这只会将mySound.wav下载到您的浏览器中。