UNPKG

react-native-audio-api

Version:

react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification

39 lines (38 loc) 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _AudioParam = _interopRequireDefault(require("./AudioParam")); var _AudioScheduledSourceNode = _interopRequireDefault(require("./AudioScheduledSourceNode")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } class AudioBufferBaseSourceNode extends _AudioScheduledSourceNode.default { constructor(context, node) { super(context, node); this.detune = new _AudioParam.default(node.detune, context); this.playbackRate = new _AudioParam.default(node.playbackRate, context); } get onPositionChanged() { return this.positionChangedCallback; } set onPositionChanged(callback) { if (!callback) { this.node.onPositionChanged = '0'; this.positionChangedSubscription?.remove(); this.positionChangedSubscription = undefined; this.positionChangedCallback = undefined; return; } this.positionChangedCallback = callback; this.positionChangedSubscription = this.audioEventEmitter.addAudioEventListener('positionChanged', callback); this.node.onPositionChanged = this.positionChangedSubscription.subscriptionId; } get onPositionChangedInterval() { return this.node.onPositionChangedInterval; } set onPositionChangedInterval(value) { this.node.onPositionChangedInterval = value; } } exports.default = AudioBufferBaseSourceNode; //# sourceMappingURL=AudioBufferBaseSourceNode.js.map