first decoding, temp

This commit is contained in:
Blue 2018-12-29 15:39:49 +03:00
parent 042fb7d5eb
commit 7a6ebef935
4 changed files with 246 additions and 11 deletions

View file

@ -21,14 +21,28 @@
var src = new Uint8Array(buffer);
var ptr = Module._malloc(buffer.byteLength);
var arr = new Uint8Array(Module.HEAPU8.buffer, ptr, buffer.byteLength);
var ctx = new AudioContext();
var time = 0;
arr.set(src, 0);
var stream = new Module.MadStream();
var frame = new Module.MadFrame();
var decoder = new Module.Decoder();
decoder.addFragment(ptr, buffer.byteLength);
stream.setBuffer(ptr, buffer.byteLength);
frame.decode(stream);
debugger;
while (decoder.hasMore()) {
var audio = decoder.decode(1);
if (audio === undefined) {
if (decoder.hasMore() === false) {
break;
}
}
var source = ctx.createBufferSource();
source.buffer = audio;
source.connect(ctx.destination);
source.start(time);
time += audio.duration;
}
decoder.delete();
}
reader.readAsArrayBuffer(file);