将音频保存在缓冲区中以便以后播放

时间:2014-03-04 03:03:00

标签: javascript html web-audio

使用Web Audio API,我想将音频保存在缓冲区中供以后使用。我找到了一些将音频保存到磁盘的示例,但我只想将其存储在内存中。我尝试将链中最后一个AudioNode的输出连接到AudioBuffer,但似乎AudioBuffer没有接受输入的方法。

var contextClass = (window.AudioContext || window.webkitAudioContext);

// Output compressor
var compressor = context.createDynamicsCompressor();
var compressor.connect(context.destination);

var music = context.createBufferSource();
// Load some content into music with XMLHttpRequest...
music.connect(compressor);
music.start(0);

// Set up recording buffer
var recordBuffer = context.createBuffer(2, 10000, 44100);

compressor.connect(recordBuffer); 
// Failed to execute 'connect' on 'AudioNode': No function was found that matched the signature provided. 

我可以用一些东西而不是AudioBuffer来实现这个目的吗?有没有办法在不将文件保存到磁盘的情况下执行此操作?

1 个答案:

答案 0 :(得分:1)

好吧,结果Recorder.js完全符合我的要求。我认为它只是用于导出到磁盘,但是当我仔细观察时,我意识到它也可以保存到缓冲区。万岁!