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
JavaScript
;
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