UNPKG

waveform-playlist-nartj

Version:

Multiple track web audio editor and player with waveform preview

70 lines (52 loc) 3.02 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _Loader2 = _interopRequireDefault(require("./Loader")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } var _default = /*#__PURE__*/function (_Loader) { (0, _inherits2["default"])(_default, _Loader); var _super = _createSuper(_default); function _default() { (0, _classCallCheck2["default"])(this, _default); return _super.apply(this, arguments); } (0, _createClass2["default"])(_default, [{ key: "load", /** * Loads an audio file via XHR. */ value: function load() { var _this = this; return new Promise(function (resolve, reject) { var xhr = new XMLHttpRequest(); xhr.open('GET', _this.src, true); xhr.responseType = 'arraybuffer'; xhr.send(); xhr.addEventListener('progress', function (e) { (0, _get2["default"])((0, _getPrototypeOf2["default"])(_default.prototype), "fileProgress", _this).call(_this, e); }); xhr.addEventListener('load', function (e) { var decoderPromise = (0, _get2["default"])((0, _getPrototypeOf2["default"])(_default.prototype), "fileLoad", _this).call(_this, e); decoderPromise.then(function (audioBuffer) { resolve(audioBuffer); })["catch"](reject); }); xhr.addEventListener('error', function () { reject(Error("Track ".concat(_this.src, " failed to load"))); }); }); } }]); return _default; }(_Loader2["default"]); exports["default"] = _default;