我正在使用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)
})
答案 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
下载到您的浏览器中。