UNPKG

waveform-playlist-nartj

Version:

Multiple track web audio editor and player with waveform preview

71 lines (53 loc) 3.13 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 a FileReader */ value: function load() { var _this = this; return new Promise(function (resolve, reject) { if (_this.src.type.match(/audio.*/) || // added for problems with Firefox mime types + ogg. _this.src.type.match(/video\/ogg/)) { var fr = new FileReader(); fr.readAsArrayBuffer(_this.src); fr.addEventListener('progress', function (e) { (0, _get2["default"])((0, _getPrototypeOf2["default"])(_default.prototype), "fileProgress", _this).call(_this, e); }); fr.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); }); fr.addEventListener('error', reject); } else { reject(Error("Unsupported file type ".concat(_this.src.type))); } }); } }]); return _default; }(_Loader2["default"]); exports["default"] = _default;