|
1 | 1 | var recLength = 0,
|
2 |
| - recBuffers = [], |
| 2 | + recBuffersL = [], |
| 3 | + recBuffersR = [], |
3 | 4 | sampleRate;
|
4 | 5 |
|
5 | 6 | this.onmessage = function(e){
|
@@ -27,29 +28,32 @@ function init(config){
|
27 | 28 | }
|
28 | 29 |
|
29 | 30 | function record(inputBuffer){
|
30 |
| - var bufferL = inputBuffer[0]; |
31 |
| - var bufferR = inputBuffer[1]; |
32 |
| - var interleaved = interleave(bufferL, bufferR); |
33 |
| - recBuffers.push(interleaved); |
34 |
| - recLength += interleaved.length; |
| 31 | + recBuffersL.push(inputBuffer[0]); |
| 32 | + recBuffersR.push(inputBuffer[1]); |
| 33 | + recLength += inputBuffer[0].length; |
35 | 34 | }
|
36 | 35 |
|
37 | 36 | function exportWAV(type){
|
38 |
| - var buffer = mergeBuffers(recBuffers, recLength); |
39 |
| - var dataview = encodeWAV(buffer); |
| 37 | + var bufferL = mergeBuffers(recBuffersL, recLength); |
| 38 | + var bufferR = mergeBuffers(recBuffersR, recLength); |
| 39 | + var interleaved = interleave(bufferL, bufferR); |
| 40 | + var dataview = encodeWAV(interleaved); |
40 | 41 | var audioBlob = new Blob([dataview], { type: type });
|
41 | 42 |
|
42 | 43 | this.postMessage(audioBlob);
|
43 | 44 | }
|
44 | 45 |
|
45 | 46 | function getBuffer() {
|
46 |
| - var buffer = mergeBuffers(recBuffers, recLength) |
47 |
| - this.postMessage(buffer); |
| 47 | + var buffers = []; |
| 48 | + buffers.push( mergeBuffers(recBuffersL, recLength) ); |
| 49 | + buffers.push( mergeBuffers(recBuffersR, recLength) ); |
| 50 | + this.postMessage(buffers); |
48 | 51 | }
|
49 | 52 |
|
50 | 53 | function clear(){
|
51 | 54 | recLength = 0;
|
52 |
| - recBuffers = []; |
| 55 | + recBuffersL = []; |
| 56 | + recBuffersR = []; |
53 | 57 | }
|
54 | 58 |
|
55 | 59 | function mergeBuffers(recBuffers, recLength){
|
|
0 commit comments