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

44 lines (43 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _AudioBuffer = _interopRequireDefault(require("./AudioBuffer")); var _events = require("../events"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } class AudioRecorder { audioEventEmitter = new _events.AudioEventEmitter(global.AudioEventEmitter); constructor(options) { this.recorder = global.createAudioRecorder(options); } start() { this.recorder.start(); } stop() { this.recorder.stop(); } connect(node) { if (node.wasConnected) { throw new Error('RecorderAdapterNode cannot be connected more than once. Refer to the documentation for more details.'); } node.wasConnected = true; this.recorder.connect(node.getNode()); } disconnect() { this.recorder.disconnect(); } onAudioReady(callback) { const onAudioReadyCallback = event => { callback({ buffer: new _AudioBuffer.default(event.buffer), numFrames: event.numFrames, when: event.when }); }; const subscription = this.audioEventEmitter.addAudioEventListener('audioReady', onAudioReadyCallback); this.recorder.onAudioReady = subscription.subscriptionId; } } exports.default = AudioRecorder; //# sourceMappingURL=AudioRecorder.js.map