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