matrix-react-sdk
Version:
SDK for matrix.org using React
35 lines (32 loc) • 3.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ManagedPlayback = void 0;
var _Playback = require("./Playback");
var _consts = require("./consts");
/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
/**
* A managed playback is a Playback instance that is guided by a PlaybackManager.
*/
class ManagedPlayback extends _Playback.Playback {
constructor(manager, buf, seedWaveform = _consts.DEFAULT_WAVEFORM) {
super(buf, seedWaveform);
this.manager = manager;
}
async play() {
this.manager.pauseAllExcept(this);
return super.play();
}
destroy() {
this.manager.destroyPlaybackInstance(this);
super.destroy();
}
}
exports.ManagedPlayback = ManagedPlayback;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfUGxheWJhY2siLCJyZXF1aXJlIiwiX2NvbnN0cyIsIk1hbmFnZWRQbGF5YmFjayIsIlBsYXliYWNrIiwiY29uc3RydWN0b3IiLCJtYW5hZ2VyIiwiYnVmIiwic2VlZFdhdmVmb3JtIiwiREVGQVVMVF9XQVZFRk9STSIsInBsYXkiLCJwYXVzZUFsbEV4Y2VwdCIsImRlc3Ryb3kiLCJkZXN0cm95UGxheWJhY2tJbnN0YW5jZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvYXVkaW8vTWFuYWdlZFBsYXliYWNrLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCB7IFBsYXliYWNrIH0gZnJvbSBcIi4vUGxheWJhY2tcIjtcbmltcG9ydCB7IFBsYXliYWNrTWFuYWdlciB9IGZyb20gXCIuL1BsYXliYWNrTWFuYWdlclwiO1xuaW1wb3J0IHsgREVGQVVMVF9XQVZFRk9STSB9IGZyb20gXCIuL2NvbnN0c1wiO1xuXG4vKipcbiAqIEEgbWFuYWdlZCBwbGF5YmFjayBpcyBhIFBsYXliYWNrIGluc3RhbmNlIHRoYXQgaXMgZ3VpZGVkIGJ5IGEgUGxheWJhY2tNYW5hZ2VyLlxuICovXG5leHBvcnQgY2xhc3MgTWFuYWdlZFBsYXliYWNrIGV4dGVuZHMgUGxheWJhY2sge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBtYW5hZ2VyOiBQbGF5YmFja01hbmFnZXIsXG4gICAgICAgIGJ1ZjogQXJyYXlCdWZmZXIsXG4gICAgICAgIHNlZWRXYXZlZm9ybSA9IERFRkFVTFRfV0FWRUZPUk0sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGJ1Ziwgc2VlZFdhdmVmb3JtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcGxheSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5tYW5hZ2VyLnBhdXNlQWxsRXhjZXB0KHRoaXMpO1xuICAgICAgICByZXR1cm4gc3VwZXIucGxheSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1hbmFnZXIuZGVzdHJveVBsYXliYWNrSW5zdGFuY2UodGhpcyk7XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQVFBLElBQUFBLFNBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQVZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQU1BO0FBQ0E7QUFDQTtBQUNPLE1BQU1FLGVBQWUsU0FBU0Msa0JBQVEsQ0FBQztFQUNuQ0MsV0FBV0EsQ0FDTkMsT0FBd0IsRUFDaENDLEdBQWdCLEVBQ2hCQyxZQUFZLEdBQUdDLHdCQUFnQixFQUNqQztJQUNFLEtBQUssQ0FBQ0YsR0FBRyxFQUFFQyxZQUFZLENBQUM7SUFBQyxLQUpqQkYsT0FBd0IsR0FBeEJBLE9BQXdCO0VBS3BDO0VBRUEsTUFBYUksSUFBSUEsQ0FBQSxFQUFrQjtJQUMvQixJQUFJLENBQUNKLE9BQU8sQ0FBQ0ssY0FBYyxDQUFDLElBQUksQ0FBQztJQUNqQyxPQUFPLEtBQUssQ0FBQ0QsSUFBSSxDQUFDLENBQUM7RUFDdkI7RUFFT0UsT0FBT0EsQ0FBQSxFQUFTO0lBQ25CLElBQUksQ0FBQ04sT0FBTyxDQUFDTyx1QkFBdUIsQ0FBQyxJQUFJLENBQUM7SUFDMUMsS0FBSyxDQUFDRCxPQUFPLENBQUMsQ0FBQztFQUNuQjtBQUNKO0FBQUNFLE9BQUEsQ0FBQVgsZUFBQSxHQUFBQSxlQUFBIiwiaWdub3JlTGlzdCI6W119