UNPKG

1.87 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
4
5var _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
7var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } };
8
9var InlineWorker = _interopRequire(require("inline-worker"));
10
11var decoder = _interopRequire(require("./decoder-worker"));
12
13var 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
53module.exports = Decoder;
\No newline at end of file