1 | "use strict";
|
2 |
|
3 | var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
|
4 |
|
5 | var _createClass = (function () { function defineProperties(target, props) { for (var key in props) { var prop = props[key]; prop.configurable = true; if (prop.value) prop.writable = true; } Object.defineProperties(target, props); } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
|
6 |
|
7 | var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } };
|
8 |
|
9 | var InlineWorker = _interopRequire(require("inline-worker"));
|
10 |
|
11 | var decoder = _interopRequire(require("./decoder-worker"));
|
12 |
|
13 | var Decoder = (function () {
|
14 | function Decoder() {
|
15 | _classCallCheck(this, Decoder);
|
16 | }
|
17 |
|
18 | _createClass(Decoder, {
|
19 | decode: {
|
20 | value: function decode(buffer) {
|
21 | return new Promise(function (resolve, reject) {
|
22 | var worker = new InlineWorker(decoder, decoder.self);
|
23 |
|
24 | worker.onmessage = function (e) {
|
25 | if (e.data.type === "decoded") {
|
26 | var audioData = e.data.audioData;
|
27 |
|
28 | audioData.channelData = audioData.buffers.map(function (buffer) {
|
29 | return new Float32Array(buffer);
|
30 | });
|
31 |
|
32 | return resolve(audioData);
|
33 | }
|
34 | return reject(new Error(e.data.message));
|
35 | };
|
36 |
|
37 | if (buffer && typeof buffer.length === "number") {
|
38 | buffer = new Uint8Array(buffer).buffer;
|
39 | }
|
40 |
|
41 | worker.postMessage({
|
42 | type: "decode",
|
43 | buffer: buffer
|
44 | }, [buffer]);
|
45 | });
|
46 | }
|
47 | }
|
48 | });
|
49 |
|
50 | return Decoder;
|
51 | })();
|
52 |
|
53 | module.exports = Decoder; |
\ | No newline at end of file |