react-native-audio-api 0.7.0-nightly-4fc09d1-20250727 → 0.7.0-nightly-a914864-20250729
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -4
- package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.cpp +3 -1
- package/common/cpp/audioapi/HostObjects/AudioNodeHostObject.cpp +9 -0
- package/common/cpp/audioapi/HostObjects/AudioNodeHostObject.h +2 -0
- package/common/cpp/audioapi/HostObjects/AudioRecorderHostObject.h +17 -1
- package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.cpp +9 -0
- package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.h +18 -16
- package/common/cpp/audioapi/HostObjects/RecorderAdapterNodeHostObject.h +26 -0
- package/common/cpp/audioapi/core/BaseAudioContext.cpp +9 -10
- package/common/cpp/audioapi/core/BaseAudioContext.h +3 -2
- package/common/cpp/audioapi/core/inputs/AudioRecorder.cpp +28 -2
- package/common/cpp/audioapi/core/inputs/AudioRecorder.h +24 -0
- package/common/cpp/audioapi/core/sources/RecorderAdapterNode.cpp +48 -0
- package/common/cpp/audioapi/core/sources/RecorderAdapterNode.h +43 -0
- package/common/cpp/audioapi/jsi/AudioArrayBuffer.h +1 -1
- package/common/cpp/audioapi/utils/CircularOverflowableAudioArray.cpp +61 -0
- package/common/cpp/audioapi/utils/CircularOverflowableAudioArray.h +42 -0
- package/ios/audioapi/ios/core/IOSAudioRecorder.mm +2 -1
- package/ios/audioapi/ios/core/NativeAudioRecorder.m +7 -0
- package/lib/commonjs/api.js +7 -7
- package/lib/commonjs/api.js.map +1 -1
- package/lib/commonjs/core/AudioRecorder.js +10 -0
- package/lib/commonjs/core/AudioRecorder.js.map +1 -1
- package/lib/commonjs/core/BaseAudioContext.js +4 -4
- package/lib/commonjs/core/BaseAudioContext.js.map +1 -1
- package/lib/commonjs/core/RecorderAdapterNode.js +19 -0
- package/lib/commonjs/core/RecorderAdapterNode.js.map +1 -0
- package/lib/module/api.js +1 -1
- package/lib/module/api.js.map +1 -1
- package/lib/module/core/AudioRecorder.js +10 -0
- package/lib/module/core/AudioRecorder.js.map +1 -1
- package/lib/module/core/BaseAudioContext.js +4 -4
- package/lib/module/core/BaseAudioContext.js.map +1 -1
- package/lib/module/core/RecorderAdapterNode.js +13 -0
- package/lib/module/core/RecorderAdapterNode.js.map +1 -0
- package/lib/typescript/api.d.ts +1 -1
- package/lib/typescript/api.d.ts.map +1 -1
- package/lib/typescript/core/AudioRecorder.d.ts +3 -0
- package/lib/typescript/core/AudioRecorder.d.ts.map +1 -1
- package/lib/typescript/core/BaseAudioContext.d.ts +3 -3
- package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
- package/lib/typescript/core/RecorderAdapterNode.d.ts +9 -0
- package/lib/typescript/core/RecorderAdapterNode.d.ts.map +1 -0
- package/lib/typescript/interfaces.d.ts +6 -6
- package/lib/typescript/interfaces.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/api.ts +1 -1
- package/src/core/AudioRecorder.ts +16 -0
- package/src/core/BaseAudioContext.ts +6 -9
- package/src/core/RecorderAdapterNode.ts +12 -0
- package/src/interfaces.ts +5 -7
- package/common/cpp/audioapi/HostObjects/CustomProcessorNodeHostObject.h +0 -54
- package/common/cpp/audioapi/core/effects/CustomProcessorNode.cpp +0 -173
- package/common/cpp/audioapi/core/effects/CustomProcessorNode.h +0 -186
- package/lib/commonjs/core/CustomProcessorNode.js +0 -23
- package/lib/commonjs/core/CustomProcessorNode.js.map +0 -1
- package/lib/module/core/CustomProcessorNode.js +0 -17
- package/lib/module/core/CustomProcessorNode.js.map +0 -1
- package/lib/typescript/core/CustomProcessorNode.d.ts +0 -12
- package/lib/typescript/core/CustomProcessorNode.d.ts.map +0 -1
- package/src/core/CustomProcessorNode.ts +0 -28
package/lib/commonjs/api.js
CHANGED
|
@@ -105,12 +105,6 @@ Object.defineProperty(exports, "ContextState", {
|
|
|
105
105
|
return _types.ContextState;
|
|
106
106
|
}
|
|
107
107
|
});
|
|
108
|
-
Object.defineProperty(exports, "CustomProcessorNode", {
|
|
109
|
-
enumerable: true,
|
|
110
|
-
get: function () {
|
|
111
|
-
return _CustomProcessorNode.default;
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
108
|
Object.defineProperty(exports, "GainNode", {
|
|
115
109
|
enumerable: true,
|
|
116
110
|
get: function () {
|
|
@@ -171,6 +165,12 @@ Object.defineProperty(exports, "RangeError", {
|
|
|
171
165
|
return _errors.RangeError;
|
|
172
166
|
}
|
|
173
167
|
});
|
|
168
|
+
Object.defineProperty(exports, "RecorderAdapterNode", {
|
|
169
|
+
enumerable: true,
|
|
170
|
+
get: function () {
|
|
171
|
+
return _RecorderAdapterNode.default;
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
174
|
Object.defineProperty(exports, "StereoPannerNode", {
|
|
175
175
|
enumerable: true,
|
|
176
176
|
get: function () {
|
|
@@ -190,6 +190,7 @@ Object.defineProperty(exports, "useSystemVolume", {
|
|
|
190
190
|
}
|
|
191
191
|
});
|
|
192
192
|
var _specs = require("./specs");
|
|
193
|
+
var _RecorderAdapterNode = _interopRequireDefault(require("./core/RecorderAdapterNode"));
|
|
193
194
|
var _AudioBuffer = _interopRequireDefault(require("./core/AudioBuffer"));
|
|
194
195
|
var _AudioBufferSourceNode = _interopRequireDefault(require("./core/AudioBufferSourceNode"));
|
|
195
196
|
var _AudioBufferQueueSourceNode = _interopRequireDefault(require("./core/AudioBufferQueueSourceNode"));
|
|
@@ -202,7 +203,6 @@ var _AudioParam = _interopRequireDefault(require("./core/AudioParam"));
|
|
|
202
203
|
var _AudioScheduledSourceNode = _interopRequireDefault(require("./core/AudioScheduledSourceNode"));
|
|
203
204
|
var _BaseAudioContext = _interopRequireDefault(require("./core/BaseAudioContext"));
|
|
204
205
|
var _BiquadFilterNode = _interopRequireDefault(require("./core/BiquadFilterNode"));
|
|
205
|
-
var _CustomProcessorNode = _interopRequireDefault(require("./core/CustomProcessorNode"));
|
|
206
206
|
var _GainNode = _interopRequireDefault(require("./core/GainNode"));
|
|
207
207
|
var _OscillatorNode = _interopRequireDefault(require("./core/OscillatorNode"));
|
|
208
208
|
var _StereoPannerNode = _interopRequireDefault(require("./core/StereoPannerNode"));
|
package/lib/commonjs/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_specs","require","
|
|
1
|
+
{"version":3,"names":["_specs","require","_RecorderAdapterNode","_interopRequireDefault","_AudioBuffer","_AudioBufferSourceNode","_AudioBufferQueueSourceNode","_AudioContext","_OfflineAudioContext","_AudioDestinationNode","_AudioNode","_AnalyserNode","_AudioParam","_AudioScheduledSourceNode","_BaseAudioContext","_BiquadFilterNode","_GainNode","_OscillatorNode","_StereoPannerNode","_AudioRecorder","_system","_useSytemVolume","_types","_errors","e","__esModule","default","global","createAudioContext","createOfflineAudioContext","createAudioRecorder","AudioEventEmitter","NativeAudioAPIModule","Error","install"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AA0CA,IAAAC,oBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,sBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,2BAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,oBAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,qBAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,UAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,aAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,WAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,yBAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,iBAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,iBAAA,GAAAZ,sBAAA,CAAAF,OAAA;AACA,IAAAe,SAAA,GAAAb,sBAAA,CAAAF,OAAA;AACA,IAAAgB,eAAA,GAAAd,sBAAA,CAAAF,OAAA;AACA,IAAAiB,iBAAA,GAAAf,sBAAA,CAAAF,OAAA;AACA,IAAAkB,cAAA,GAAAhB,sBAAA,CAAAF,OAAA;AACA,IAAAmB,OAAA,GAAAjB,sBAAA,CAAAF,OAAA;AACA,IAAAoB,eAAA,GAAAlB,sBAAA,CAAAF,OAAA;AAEA,IAAAqB,MAAA,GAAArB,OAAA;AAUA,IAAAsB,OAAA,GAAAtB,OAAA;AAMkB,SAAAE,uBAAAqB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AArElB;;AAgBA;;AAEA,IACEG,MAAM,CAACC,kBAAkB,IAAI,IAAI,IACjCD,MAAM,CAACE,yBAAyB,IAAI,IAAI,IACxCF,MAAM,CAACG,mBAAmB,IAAI,IAAI,IAClCH,MAAM,CAACI,iBAAiB,IAAI,IAAI,EAChC;EACA,IAAI,CAACC,2BAAoB,EAAE;IACzB,MAAM,IAAIC,KAAK,CACb,iFACF,CAAC;EACH;EAEAD,2BAAoB,CAACE,OAAO,CAAC,CAAC;AAChC","ignoreList":[]}
|
|
@@ -18,6 +18,16 @@ class AudioRecorder {
|
|
|
18
18
|
stop() {
|
|
19
19
|
this.recorder.stop();
|
|
20
20
|
}
|
|
21
|
+
connect(node) {
|
|
22
|
+
if (node.wasConnected) {
|
|
23
|
+
throw new Error('RecorderAdapterNode cannot be connected more than once. Refer to the documentation for more details.');
|
|
24
|
+
}
|
|
25
|
+
node.wasConnected = true;
|
|
26
|
+
this.recorder.connect(node.getNode());
|
|
27
|
+
}
|
|
28
|
+
disconnect() {
|
|
29
|
+
this.recorder.disconnect();
|
|
30
|
+
}
|
|
21
31
|
onAudioReady(callback) {
|
|
22
32
|
const onAudioReadyCallback = event => {
|
|
23
33
|
callback({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_AudioBuffer","_interopRequireDefault","require","_events","e","__esModule","default","AudioRecorder","audioEventEmitter","AudioEventEmitter","global","constructor","options","recorder","createAudioRecorder","start","stop","onAudioReady","callback","onAudioReadyCallback","event","buffer","AudioBuffer","numFrames","when","subscription","addAudioEventListener","subscriptionId","exports"],"sourceRoot":"../../../src","sources":["core/AudioRecorder.ts"],"mappings":";;;;;;AAEA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAA8C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;
|
|
1
|
+
{"version":3,"names":["_AudioBuffer","_interopRequireDefault","require","_events","e","__esModule","default","AudioRecorder","audioEventEmitter","AudioEventEmitter","global","constructor","options","recorder","createAudioRecorder","start","stop","connect","node","wasConnected","Error","getNode","disconnect","onAudioReady","callback","onAudioReadyCallback","event","buffer","AudioBuffer","numFrames","when","subscription","addAudioEventListener","subscriptionId","exports"],"sourceRoot":"../../../src","sources":["core/AudioRecorder.ts"],"mappings":";;;;;;AAEA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAA8C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG/B,MAAMG,aAAa,CAAC;EAGhBC,iBAAiB,GAAG,IAAIC,yBAAiB,CACxDC,MAAM,CAACD,iBACT,CAAC;EAEDE,WAAWA,CAACC,OAA6B,EAAE;IACzC,IAAI,CAACC,QAAQ,GAAGH,MAAM,CAACI,mBAAmB,CAACF,OAAO,CAAC;EACrD;EAEOG,KAAKA,CAAA,EAAS;IACnB,IAAI,CAACF,QAAQ,CAACE,KAAK,CAAC,CAAC;EACvB;EAEOC,IAAIA,CAAA,EAAS;IAClB,IAAI,CAACH,QAAQ,CAACG,IAAI,CAAC,CAAC;EACtB;EAEOC,OAAOA,CAACC,IAAyB,EAAQ;IAC9C,IAAIA,IAAI,CAACC,YAAY,EAAE;MACrB,MAAM,IAAIC,KAAK,CACb,sGACF,CAAC;IACH;IACAF,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB,IAAI,CAACN,QAAQ,CAACI,OAAO,CAACC,IAAI,CAACG,OAAO,CAAC,CAAC,CAAC;EACvC;EAEOC,UAAUA,CAAA,EAAS;IACxB,IAAI,CAACT,QAAQ,CAACS,UAAU,CAAC,CAAC;EAC5B;EAEOC,YAAYA,CAACC,QAAgD,EAAQ;IAC1E,MAAMC,oBAAoB,GAAIC,KAA4B,IAAK;MAC7DF,QAAQ,CAAC;QACPG,MAAM,EAAE,IAAIC,oBAAW,CAACF,KAAK,CAACC,MAAM,CAAC;QACrCE,SAAS,EAAEH,KAAK,CAACG,SAAS;QAC1BC,IAAI,EAAEJ,KAAK,CAACI;MACd,CAAC,CAAC;IACJ,CAAC;IAED,MAAMC,YAAY,GAAG,IAAI,CAACvB,iBAAiB,CAACwB,qBAAqB,CAC/D,YAAY,EACZP,oBACF,CAAC;IAED,IAAI,CAACZ,QAAQ,CAACU,YAAY,GAAGQ,YAAY,CAACE,cAAc;EAC1D;AACF;AAACC,OAAA,CAAA5B,OAAA,GAAAC,aAAA","ignoreList":[]}
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _AudioDestinationNode = _interopRequireDefault(require("./AudioDestinationNode"));
|
|
8
8
|
var _OscillatorNode = _interopRequireDefault(require("./OscillatorNode"));
|
|
9
|
-
var _CustomProcessorNode = _interopRequireDefault(require("./CustomProcessorNode"));
|
|
10
9
|
var _GainNode = _interopRequireDefault(require("./GainNode"));
|
|
11
10
|
var _StereoPannerNode = _interopRequireDefault(require("./StereoPannerNode"));
|
|
12
11
|
var _BiquadFilterNode = _interopRequireDefault(require("./BiquadFilterNode"));
|
|
@@ -16,6 +15,7 @@ var _PeriodicWave = _interopRequireDefault(require("./PeriodicWave"));
|
|
|
16
15
|
var _AnalyserNode = _interopRequireDefault(require("./AnalyserNode"));
|
|
17
16
|
var _AudioBufferQueueSourceNode = _interopRequireDefault(require("./AudioBufferQueueSourceNode"));
|
|
18
17
|
var _errors = require("../errors");
|
|
18
|
+
var _RecorderAdapterNode = _interopRequireDefault(require("./RecorderAdapterNode"));
|
|
19
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
20
|
class BaseAudioContext {
|
|
21
21
|
constructor(context) {
|
|
@@ -29,12 +29,12 @@ class BaseAudioContext {
|
|
|
29
29
|
get state() {
|
|
30
30
|
return this.context.state;
|
|
31
31
|
}
|
|
32
|
+
createRecorderAdapter() {
|
|
33
|
+
return new _RecorderAdapterNode.default(this, this.context.createRecorderAdapter());
|
|
34
|
+
}
|
|
32
35
|
createOscillator() {
|
|
33
36
|
return new _OscillatorNode.default(this, this.context.createOscillator());
|
|
34
37
|
}
|
|
35
|
-
createCustomProcessor(identifier) {
|
|
36
|
-
return new _CustomProcessorNode.default(this, this.context.createCustomProcessor(identifier));
|
|
37
|
-
}
|
|
38
38
|
createGain() {
|
|
39
39
|
return new _GainNode.default(this, this.context.createGain());
|
|
40
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_AudioDestinationNode","_interopRequireDefault","require","_OscillatorNode","
|
|
1
|
+
{"version":3,"names":["_AudioDestinationNode","_interopRequireDefault","require","_OscillatorNode","_GainNode","_StereoPannerNode","_BiquadFilterNode","_AudioBufferSourceNode","_AudioBuffer","_PeriodicWave","_AnalyserNode","_AudioBufferQueueSourceNode","_errors","_RecorderAdapterNode","e","__esModule","default","BaseAudioContext","constructor","context","destination","AudioDestinationNode","sampleRate","currentTime","state","createRecorderAdapter","RecorderAdapterNode","createOscillator","OscillatorNode","createGain","GainNode","createStereoPanner","StereoPannerNode","createBiquadFilter","BiquadFilterNode","createBufferSource","options","pitchCorrection","AudioBufferSourceNode","createBufferQueueSource","AudioBufferQueueSourceNode","createBuffer","numOfChannels","length","NotSupportedError","AudioBuffer","createPeriodicWave","real","imag","constraints","InvalidAccessError","disableNormalization","PeriodicWave","createAnalyser","AnalyserNode","decodeAudioDataSource","sourcePath","startsWith","replace","decodeAudioData","data","Uint8Array","decodePCMInBase64Data","base64","playbackRate","decodePCMAudioDataInBase64","exports"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _AudioNode = _interopRequireDefault(require("./AudioNode"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
class RecorderAdapterNode extends _AudioNode.default {
|
|
10
|
+
/** @internal */
|
|
11
|
+
wasConnected = false;
|
|
12
|
+
|
|
13
|
+
/** @internal */
|
|
14
|
+
getNode() {
|
|
15
|
+
return this.node;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.default = RecorderAdapterNode;
|
|
19
|
+
//# sourceMappingURL=RecorderAdapterNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_AudioNode","_interopRequireDefault","require","e","__esModule","default","RecorderAdapterNode","AudioNode","wasConnected","getNode","node","exports"],"sourceRoot":"../../../src","sources":["core/RecorderAdapterNode.ts"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErB,MAAMG,mBAAmB,SAASC,kBAAS,CAAC;EACzD;EACOC,YAAY,GAAY,KAAK;;EAEpC;EACOC,OAAOA,CAAA,EAAyB;IACrC,OAAO,IAAI,CAACC,IAAI;EAClB;AACF;AAACC,OAAA,CAAAN,OAAA,GAAAC,mBAAA","ignoreList":[]}
|
package/lib/module/api.js
CHANGED
|
@@ -12,6 +12,7 @@ if (global.createAudioContext == null || global.createOfflineAudioContext == nul
|
|
|
12
12
|
}
|
|
13
13
|
NativeAudioAPIModule.install();
|
|
14
14
|
}
|
|
15
|
+
export { default as RecorderAdapterNode } from "./core/RecorderAdapterNode.js";
|
|
15
16
|
export { default as AudioBuffer } from "./core/AudioBuffer.js";
|
|
16
17
|
export { default as AudioBufferSourceNode } from "./core/AudioBufferSourceNode.js";
|
|
17
18
|
export { default as AudioBufferQueueSourceNode } from "./core/AudioBufferQueueSourceNode.js";
|
|
@@ -24,7 +25,6 @@ export { default as AudioParam } from "./core/AudioParam.js";
|
|
|
24
25
|
export { default as AudioScheduledSourceNode } from "./core/AudioScheduledSourceNode.js";
|
|
25
26
|
export { default as BaseAudioContext } from "./core/BaseAudioContext.js";
|
|
26
27
|
export { default as BiquadFilterNode } from "./core/BiquadFilterNode.js";
|
|
27
|
-
export { default as CustomProcessorNode } from "./core/CustomProcessorNode.js";
|
|
28
28
|
export { default as GainNode } from "./core/GainNode.js";
|
|
29
29
|
export { default as OscillatorNode } from "./core/OscillatorNode.js";
|
|
30
30
|
export { default as StereoPannerNode } from "./core/StereoPannerNode.js";
|
package/lib/module/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeAudioAPIModule","global","createAudioContext","createOfflineAudioContext","createAudioRecorder","AudioEventEmitter","Error","install","default","AudioBuffer","AudioBufferSourceNode","AudioBufferQueueSourceNode","AudioContext","OfflineAudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","
|
|
1
|
+
{"version":3,"names":["NativeAudioAPIModule","global","createAudioContext","createOfflineAudioContext","createAudioRecorder","AudioEventEmitter","Error","install","default","RecorderAdapterNode","AudioBuffer","AudioBufferSourceNode","AudioBufferQueueSourceNode","AudioContext","OfflineAudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","AudioRecorder","AudioManager","useSystemVolume","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState","WindowType","PeriodicWaveConstraints","IndexSizeError","InvalidAccessError","InvalidStateError","RangeError","NotSupportedError"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,kBAAS;;AAS9C;;AAgBA;;AAEA,IACEC,MAAM,CAACC,kBAAkB,IAAI,IAAI,IACjCD,MAAM,CAACE,yBAAyB,IAAI,IAAI,IACxCF,MAAM,CAACG,mBAAmB,IAAI,IAAI,IAClCH,MAAM,CAACI,iBAAiB,IAAI,IAAI,EAChC;EACA,IAAI,CAACL,oBAAoB,EAAE;IACzB,MAAM,IAAIM,KAAK,CACb,iFACF,CAAC;EACH;EAEAN,oBAAoB,CAACO,OAAO,CAAC,CAAC;AAChC;AAEA,SAASC,OAAO,IAAIC,mBAAmB,QAAQ,+BAA4B;AAC3E,SAASD,OAAO,IAAIE,WAAW,QAAQ,uBAAoB;AAC3D,SAASF,OAAO,IAAIG,qBAAqB,QAAQ,iCAA8B;AAC/E,SAASH,OAAO,IAAII,0BAA0B,QAAQ,sCAAmC;AACzF,SAASJ,OAAO,IAAIK,YAAY,QAAQ,wBAAqB;AAC7D,SAASL,OAAO,IAAIM,mBAAmB,QAAQ,+BAA4B;AAC3E,SAASN,OAAO,IAAIO,oBAAoB,QAAQ,gCAA6B;AAC7E,SAASP,OAAO,IAAIQ,SAAS,QAAQ,qBAAkB;AACvD,SAASR,OAAO,IAAIS,YAAY,QAAQ,wBAAqB;AAC7D,SAAST,OAAO,IAAIU,UAAU,QAAQ,sBAAmB;AACzD,SAASV,OAAO,IAAIW,wBAAwB,QAAQ,oCAAiC;AACrF,SAASX,OAAO,IAAIY,gBAAgB,QAAQ,4BAAyB;AACrE,SAASZ,OAAO,IAAIa,gBAAgB,QAAQ,4BAAyB;AACrE,SAASb,OAAO,IAAIc,QAAQ,QAAQ,oBAAiB;AACrD,SAASd,OAAO,IAAIe,cAAc,QAAQ,0BAAuB;AACjE,SAASf,OAAO,IAAIgB,gBAAgB,QAAQ,4BAAyB;AACrE,SAAShB,OAAO,IAAIiB,aAAa,QAAQ,yBAAsB;AAC/D,SAASjB,OAAO,IAAIkB,YAAY,QAAQ,mBAAU;AAClD,SAASlB,OAAO,IAAImB,eAAe,QAAQ,2BAAwB;AAEnE,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,EACZC,UAAU,EACVC,uBAAuB,QAClB,YAAS;AAEhB,SACEC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,UAAU,EACVC,iBAAiB,QACZ,mBAAU","ignoreList":[]}
|
|
@@ -13,6 +13,16 @@ export default class AudioRecorder {
|
|
|
13
13
|
stop() {
|
|
14
14
|
this.recorder.stop();
|
|
15
15
|
}
|
|
16
|
+
connect(node) {
|
|
17
|
+
if (node.wasConnected) {
|
|
18
|
+
throw new Error('RecorderAdapterNode cannot be connected more than once. Refer to the documentation for more details.');
|
|
19
|
+
}
|
|
20
|
+
node.wasConnected = true;
|
|
21
|
+
this.recorder.connect(node.getNode());
|
|
22
|
+
}
|
|
23
|
+
disconnect() {
|
|
24
|
+
this.recorder.disconnect();
|
|
25
|
+
}
|
|
16
26
|
onAudioReady(callback) {
|
|
17
27
|
const onAudioReadyCallback = event => {
|
|
18
28
|
callback({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioBuffer","AudioEventEmitter","AudioRecorder","audioEventEmitter","global","constructor","options","recorder","createAudioRecorder","start","stop","onAudioReady","callback","onAudioReadyCallback","event","buffer","numFrames","when","subscription","addAudioEventListener","subscriptionId"],"sourceRoot":"../../../src","sources":["core/AudioRecorder.ts"],"mappings":";;AAEA,OAAOA,WAAW,MAAM,kBAAe;AAEvC,SAASC,iBAAiB,QAAQ,oBAAW;
|
|
1
|
+
{"version":3,"names":["AudioBuffer","AudioEventEmitter","AudioRecorder","audioEventEmitter","global","constructor","options","recorder","createAudioRecorder","start","stop","connect","node","wasConnected","Error","getNode","disconnect","onAudioReady","callback","onAudioReadyCallback","event","buffer","numFrames","when","subscription","addAudioEventListener","subscriptionId"],"sourceRoot":"../../../src","sources":["core/AudioRecorder.ts"],"mappings":";;AAEA,OAAOA,WAAW,MAAM,kBAAe;AAEvC,SAASC,iBAAiB,QAAQ,oBAAW;AAG7C,eAAe,MAAMC,aAAa,CAAC;EAGhBC,iBAAiB,GAAG,IAAIF,iBAAiB,CACxDG,MAAM,CAACH,iBACT,CAAC;EAEDI,WAAWA,CAACC,OAA6B,EAAE;IACzC,IAAI,CAACC,QAAQ,GAAGH,MAAM,CAACI,mBAAmB,CAACF,OAAO,CAAC;EACrD;EAEOG,KAAKA,CAAA,EAAS;IACnB,IAAI,CAACF,QAAQ,CAACE,KAAK,CAAC,CAAC;EACvB;EAEOC,IAAIA,CAAA,EAAS;IAClB,IAAI,CAACH,QAAQ,CAACG,IAAI,CAAC,CAAC;EACtB;EAEOC,OAAOA,CAACC,IAAyB,EAAQ;IAC9C,IAAIA,IAAI,CAACC,YAAY,EAAE;MACrB,MAAM,IAAIC,KAAK,CACb,sGACF,CAAC;IACH;IACAF,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB,IAAI,CAACN,QAAQ,CAACI,OAAO,CAACC,IAAI,CAACG,OAAO,CAAC,CAAC,CAAC;EACvC;EAEOC,UAAUA,CAAA,EAAS;IACxB,IAAI,CAACT,QAAQ,CAACS,UAAU,CAAC,CAAC;EAC5B;EAEOC,YAAYA,CAACC,QAAgD,EAAQ;IAC1E,MAAMC,oBAAoB,GAAIC,KAA4B,IAAK;MAC7DF,QAAQ,CAAC;QACPG,MAAM,EAAE,IAAIrB,WAAW,CAACoB,KAAK,CAACC,MAAM,CAAC;QACrCC,SAAS,EAAEF,KAAK,CAACE,SAAS;QAC1BC,IAAI,EAAEH,KAAK,CAACG;MACd,CAAC,CAAC;IACJ,CAAC;IAED,MAAMC,YAAY,GAAG,IAAI,CAACrB,iBAAiB,CAACsB,qBAAqB,CAC/D,YAAY,EACZN,oBACF,CAAC;IAED,IAAI,CAACZ,QAAQ,CAACU,YAAY,GAAGO,YAAY,CAACE,cAAc;EAC1D;AACF","ignoreList":[]}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import AudioDestinationNode from "./AudioDestinationNode.js";
|
|
4
4
|
import OscillatorNode from "./OscillatorNode.js";
|
|
5
|
-
import CustomProcessorNode from "./CustomProcessorNode.js";
|
|
6
5
|
import GainNode from "./GainNode.js";
|
|
7
6
|
import StereoPannerNode from "./StereoPannerNode.js";
|
|
8
7
|
import BiquadFilterNode from "./BiquadFilterNode.js";
|
|
@@ -12,6 +11,7 @@ import PeriodicWave from "./PeriodicWave.js";
|
|
|
12
11
|
import AnalyserNode from "./AnalyserNode.js";
|
|
13
12
|
import AudioBufferQueueSourceNode from "./AudioBufferQueueSourceNode.js";
|
|
14
13
|
import { InvalidAccessError, NotSupportedError } from "../errors/index.js";
|
|
14
|
+
import RecorderAdapterNode from "./RecorderAdapterNode.js";
|
|
15
15
|
export default class BaseAudioContext {
|
|
16
16
|
constructor(context) {
|
|
17
17
|
this.context = context;
|
|
@@ -24,12 +24,12 @@ export default class BaseAudioContext {
|
|
|
24
24
|
get state() {
|
|
25
25
|
return this.context.state;
|
|
26
26
|
}
|
|
27
|
+
createRecorderAdapter() {
|
|
28
|
+
return new RecorderAdapterNode(this, this.context.createRecorderAdapter());
|
|
29
|
+
}
|
|
27
30
|
createOscillator() {
|
|
28
31
|
return new OscillatorNode(this, this.context.createOscillator());
|
|
29
32
|
}
|
|
30
|
-
createCustomProcessor(identifier) {
|
|
31
|
-
return new CustomProcessorNode(this, this.context.createCustomProcessor(identifier));
|
|
32
|
-
}
|
|
33
33
|
createGain() {
|
|
34
34
|
return new GainNode(this, this.context.createGain());
|
|
35
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioDestinationNode","OscillatorNode","
|
|
1
|
+
{"version":3,"names":["AudioDestinationNode","OscillatorNode","GainNode","StereoPannerNode","BiquadFilterNode","AudioBufferSourceNode","AudioBuffer","PeriodicWave","AnalyserNode","AudioBufferQueueSourceNode","InvalidAccessError","NotSupportedError","RecorderAdapterNode","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","createRecorderAdapter","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","options","pitchCorrection","createBufferQueueSource","createBuffer","numOfChannels","length","createPeriodicWave","real","imag","constraints","disableNormalization","createAnalyser","decodeAudioDataSource","sourcePath","startsWith","replace","decodeAudioData","data","Uint8Array","decodePCMInBase64Data","base64","playbackRate","decodePCMAudioDataInBase64"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import AudioNode from "./AudioNode.js";
|
|
4
|
+
export default class RecorderAdapterNode extends AudioNode {
|
|
5
|
+
/** @internal */
|
|
6
|
+
wasConnected = false;
|
|
7
|
+
|
|
8
|
+
/** @internal */
|
|
9
|
+
getNode() {
|
|
10
|
+
return this.node;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=RecorderAdapterNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AudioNode","RecorderAdapterNode","wasConnected","getNode","node"],"sourceRoot":"../../../src","sources":["core/RecorderAdapterNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AAEnC,eAAe,MAAMC,mBAAmB,SAASD,SAAS,CAAC;EACzD;EACOE,YAAY,GAAY,KAAK;;EAEpC;EACOC,OAAOA,CAAA,EAAyB;IACrC,OAAO,IAAI,CAACC,IAAI;EAClB;AACF","ignoreList":[]}
|
package/lib/typescript/api.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ declare global {
|
|
|
6
6
|
var createAudioRecorder: (options: AudioRecorderOptions) => IAudioRecorder;
|
|
7
7
|
var AudioEventEmitter: IAudioEventEmitter;
|
|
8
8
|
}
|
|
9
|
+
export { default as RecorderAdapterNode } from './core/RecorderAdapterNode';
|
|
9
10
|
export { default as AudioBuffer } from './core/AudioBuffer';
|
|
10
11
|
export { default as AudioBufferSourceNode } from './core/AudioBufferSourceNode';
|
|
11
12
|
export { default as AudioBufferQueueSourceNode } from './core/AudioBufferQueueSourceNode';
|
|
@@ -18,7 +19,6 @@ export { default as AudioParam } from './core/AudioParam';
|
|
|
18
19
|
export { default as AudioScheduledSourceNode } from './core/AudioScheduledSourceNode';
|
|
19
20
|
export { default as BaseAudioContext } from './core/BaseAudioContext';
|
|
20
21
|
export { default as BiquadFilterNode } from './core/BiquadFilterNode';
|
|
21
|
-
export { default as CustomProcessorNode } from './core/CustomProcessorNode';
|
|
22
22
|
export { default as GainNode } from './core/GainNode';
|
|
23
23
|
export { default as OscillatorNode } from './core/OscillatorNode';
|
|
24
24
|
export { default as StereoPannerNode } from './core/StereoPannerNode';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,kBAAkB,EAAE,CACtB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO,KACnB,aAAa,CAAC;IACnB,IAAI,yBAAyB,EAAE,CAC7B,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,KACf,oBAAoB,CAAC;IAE1B,IAAI,mBAAmB,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,cAAc,CAAC;IAE3E,IAAI,iBAAiB,EAAE,kBAAkB,CAAC;CAC3C;AAkBD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,kBAAkB,EAAE,CACtB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO,KACnB,aAAa,CAAC;IACnB,IAAI,yBAAyB,EAAE,CAC7B,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,KACf,oBAAoB,CAAC;IAE1B,IAAI,mBAAmB,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,cAAc,CAAC;IAE3E,IAAI,iBAAiB,EAAE,kBAAkB,CAAC;CAC3C;AAkBD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,UAAU,EACV,uBAAuB,GACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,GAClB,MAAM,UAAU,CAAC"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { IAudioRecorder } from '../interfaces';
|
|
2
2
|
import { AudioRecorderOptions } from '../types';
|
|
3
3
|
import { OnAudioReadyEventType } from '../events/types';
|
|
4
|
+
import RecorderAdapterNode from './RecorderAdapterNode';
|
|
4
5
|
export default class AudioRecorder {
|
|
5
6
|
protected readonly recorder: IAudioRecorder;
|
|
6
7
|
private readonly audioEventEmitter;
|
|
7
8
|
constructor(options: AudioRecorderOptions);
|
|
8
9
|
start(): void;
|
|
9
10
|
stop(): void;
|
|
11
|
+
connect(node: RecorderAdapterNode): void;
|
|
12
|
+
disconnect(): void;
|
|
10
13
|
onAudioReady(callback: (event: OnAudioReadyEventType) => void): void;
|
|
11
14
|
}
|
|
12
15
|
//# sourceMappingURL=AudioRecorder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioRecorder.d.ts","sourceRoot":"","sources":["../../../src/core/AudioRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"AudioRecorder.d.ts","sourceRoot":"","sources":["../../../src/core/AudioRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAE5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAEhC;gBAEU,OAAO,EAAE,oBAAoB;IAIlC,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIZ,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;IAUxC,UAAU,IAAI,IAAI;IAIlB,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAAG,IAAI;CAgB5E"}
|
|
@@ -2,7 +2,6 @@ import { IBaseAudioContext } from '../interfaces';
|
|
|
2
2
|
import { ContextState, PeriodicWaveConstraints, AudioBufferSourceNodeOptions } from '../types';
|
|
3
3
|
import AudioDestinationNode from './AudioDestinationNode';
|
|
4
4
|
import OscillatorNode from './OscillatorNode';
|
|
5
|
-
import CustomProcessorNode from './CustomProcessorNode';
|
|
6
5
|
import GainNode from './GainNode';
|
|
7
6
|
import StereoPannerNode from './StereoPannerNode';
|
|
8
7
|
import BiquadFilterNode from './BiquadFilterNode';
|
|
@@ -11,15 +10,16 @@ import AudioBuffer from './AudioBuffer';
|
|
|
11
10
|
import PeriodicWave from './PeriodicWave';
|
|
12
11
|
import AnalyserNode from './AnalyserNode';
|
|
13
12
|
import AudioBufferQueueSourceNode from './AudioBufferQueueSourceNode';
|
|
13
|
+
import RecorderAdapterNode from './RecorderAdapterNode';
|
|
14
14
|
export default class BaseAudioContext {
|
|
15
15
|
readonly destination: AudioDestinationNode;
|
|
16
16
|
readonly sampleRate: number;
|
|
17
|
-
|
|
17
|
+
readonly context: IBaseAudioContext;
|
|
18
18
|
constructor(context: IBaseAudioContext);
|
|
19
19
|
get currentTime(): number;
|
|
20
20
|
get state(): ContextState;
|
|
21
|
+
createRecorderAdapter(): RecorderAdapterNode;
|
|
21
22
|
createOscillator(): OscillatorNode;
|
|
22
|
-
createCustomProcessor(identifier: string): CustomProcessorNode;
|
|
23
23
|
createGain(): GainNode;
|
|
24
24
|
createStereoPanner(): StereoPannerNode;
|
|
25
25
|
createBiquadFilter(): BiquadFilterNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAudioContext.d.ts","sourceRoot":"","sources":["../../../src/core/BaseAudioContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAClB,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"BaseAudioContext.d.ts","sourceRoot":"","sources":["../../../src/core/BaseAudioContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAClB,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,0BAA0B,MAAM,8BAA8B,CAAC;AAEtE,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;gBAExB,OAAO,EAAE,iBAAiB;IAMtC,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,KAAK,IAAI,YAAY,CAE/B;IAED,qBAAqB,IAAI,mBAAmB;IAI5C,gBAAgB,IAAI,cAAc;IAIlC,UAAU,IAAI,QAAQ;IAItB,kBAAkB,IAAI,gBAAgB;IAItC,kBAAkB,IAAI,gBAAgB;IAItC,kBAAkB,CAChB,OAAO,CAAC,EAAE,4BAA4B,GACrC,qBAAqB;IASxB,uBAAuB,IAAI,0BAA0B;IAOrD,YAAY,CACV,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,WAAW;IAwBd,kBAAkB,CAChB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,YAAY,EAClB,WAAW,CAAC,EAAE,uBAAuB,GACpC,YAAY;IAcf,cAAc,IAAI,YAAY;IAI9B,iDAAiD;IAC3C,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAWrE,8CAA8C;IACxC,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAMxD,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,MAAY,GACzB,OAAO,CAAC,WAAW,CAAC;CAKxB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IRecorderAdapterNode } from '../interfaces';
|
|
2
|
+
import AudioNode from './AudioNode';
|
|
3
|
+
export default class RecorderAdapterNode extends AudioNode {
|
|
4
|
+
/** @internal */
|
|
5
|
+
wasConnected: boolean;
|
|
6
|
+
/** @internal */
|
|
7
|
+
getNode(): IRecorderAdapterNode;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=RecorderAdapterNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecorderAdapterNode.d.ts","sourceRoot":"","sources":["../../../src/core/RecorderAdapterNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,SAAS;IACxD,gBAAgB;IACT,YAAY,EAAE,OAAO,CAAS;IAErC,gBAAgB;IACT,OAAO,IAAI,oBAAoB;CAGvC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { WindowType, ContextState, OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation
|
|
1
|
+
import { WindowType, ContextState, OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation } from './types';
|
|
2
2
|
import { AudioEventName, AudioEventCallback } from './events/types';
|
|
3
3
|
export interface IBaseAudioContext {
|
|
4
4
|
readonly destination: IAudioDestinationNode;
|
|
5
5
|
readonly state: ContextState;
|
|
6
6
|
readonly sampleRate: number;
|
|
7
7
|
readonly currentTime: number;
|
|
8
|
+
createRecorderAdapter(): IRecorderAdapterNode;
|
|
8
9
|
createOscillator(): IOscillatorNode;
|
|
9
|
-
createCustomProcessor(identifier: string): ICustomProcessorNode;
|
|
10
10
|
createGain(): IGainNode;
|
|
11
11
|
createStereoPanner(): IStereoPannerNode;
|
|
12
12
|
createBiquadFilter: () => IBiquadFilterNode;
|
|
@@ -39,10 +39,6 @@ export interface IAudioNode {
|
|
|
39
39
|
connect: (destination: IAudioNode | IAudioParam) => void;
|
|
40
40
|
disconnect: (destination?: IAudioNode | IAudioParam) => void;
|
|
41
41
|
}
|
|
42
|
-
export interface ICustomProcessorNode extends IAudioNode {
|
|
43
|
-
readonly customProcessor: IAudioParam;
|
|
44
|
-
processorMode: ProcessorMode;
|
|
45
|
-
}
|
|
46
42
|
export interface IGainNode extends IAudioNode {
|
|
47
43
|
readonly gain: IAudioParam;
|
|
48
44
|
}
|
|
@@ -125,9 +121,13 @@ export interface IAnalyserNode extends IAudioNode {
|
|
|
125
121
|
getFloatTimeDomainData: (array: Float32Array) => void;
|
|
126
122
|
getByteTimeDomainData: (array: Uint8Array) => void;
|
|
127
123
|
}
|
|
124
|
+
export interface IRecorderAdapterNode extends IAudioNode {
|
|
125
|
+
}
|
|
128
126
|
export interface IAudioRecorder {
|
|
129
127
|
start: () => void;
|
|
130
128
|
stop: () => void;
|
|
129
|
+
connect: (node: IRecorderAdapterNode) => void;
|
|
130
|
+
disconnect: () => void;
|
|
131
131
|
onAudioReady: string;
|
|
132
132
|
}
|
|
133
133
|
export interface IAudioEventEmitter {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-audio-api",
|
|
3
|
-
"version": "0.7.0-nightly-
|
|
3
|
+
"version": "0.7.0-nightly-a914864-20250729",
|
|
4
4
|
"description": "react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification",
|
|
5
5
|
"bin": {
|
|
6
6
|
"setup-rn-audio-api-web": "./scripts/setup-rn-audio-api-web.js"
|
package/src/api.ts
CHANGED
|
@@ -40,6 +40,7 @@ if (
|
|
|
40
40
|
NativeAudioAPIModule.install();
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
export { default as RecorderAdapterNode } from './core/RecorderAdapterNode';
|
|
43
44
|
export { default as AudioBuffer } from './core/AudioBuffer';
|
|
44
45
|
export { default as AudioBufferSourceNode } from './core/AudioBufferSourceNode';
|
|
45
46
|
export { default as AudioBufferQueueSourceNode } from './core/AudioBufferQueueSourceNode';
|
|
@@ -52,7 +53,6 @@ export { default as AudioParam } from './core/AudioParam';
|
|
|
52
53
|
export { default as AudioScheduledSourceNode } from './core/AudioScheduledSourceNode';
|
|
53
54
|
export { default as BaseAudioContext } from './core/BaseAudioContext';
|
|
54
55
|
export { default as BiquadFilterNode } from './core/BiquadFilterNode';
|
|
55
|
-
export { default as CustomProcessorNode } from './core/CustomProcessorNode';
|
|
56
56
|
export { default as GainNode } from './core/GainNode';
|
|
57
57
|
export { default as OscillatorNode } from './core/OscillatorNode';
|
|
58
58
|
export { default as StereoPannerNode } from './core/StereoPannerNode';
|
|
@@ -3,9 +3,11 @@ import { AudioRecorderOptions } from '../types';
|
|
|
3
3
|
import AudioBuffer from './AudioBuffer';
|
|
4
4
|
import { OnAudioReadyEventType } from '../events/types';
|
|
5
5
|
import { AudioEventEmitter } from '../events';
|
|
6
|
+
import RecorderAdapterNode from './RecorderAdapterNode';
|
|
6
7
|
|
|
7
8
|
export default class AudioRecorder {
|
|
8
9
|
protected readonly recorder: IAudioRecorder;
|
|
10
|
+
|
|
9
11
|
private readonly audioEventEmitter = new AudioEventEmitter(
|
|
10
12
|
global.AudioEventEmitter
|
|
11
13
|
);
|
|
@@ -22,6 +24,20 @@ export default class AudioRecorder {
|
|
|
22
24
|
this.recorder.stop();
|
|
23
25
|
}
|
|
24
26
|
|
|
27
|
+
public connect(node: RecorderAdapterNode): void {
|
|
28
|
+
if (node.wasConnected) {
|
|
29
|
+
throw new Error(
|
|
30
|
+
'RecorderAdapterNode cannot be connected more than once. Refer to the documentation for more details.'
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
node.wasConnected = true;
|
|
34
|
+
this.recorder.connect(node.getNode());
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public disconnect(): void {
|
|
38
|
+
this.recorder.disconnect();
|
|
39
|
+
}
|
|
40
|
+
|
|
25
41
|
public onAudioReady(callback: (event: OnAudioReadyEventType) => void): void {
|
|
26
42
|
const onAudioReadyCallback = (event: OnAudioReadyEventType) => {
|
|
27
43
|
callback({
|
|
@@ -6,7 +6,6 @@ import {
|
|
|
6
6
|
} from '../types';
|
|
7
7
|
import AudioDestinationNode from './AudioDestinationNode';
|
|
8
8
|
import OscillatorNode from './OscillatorNode';
|
|
9
|
-
import CustomProcessorNode from './CustomProcessorNode';
|
|
10
9
|
import GainNode from './GainNode';
|
|
11
10
|
import StereoPannerNode from './StereoPannerNode';
|
|
12
11
|
import BiquadFilterNode from './BiquadFilterNode';
|
|
@@ -16,11 +15,12 @@ import PeriodicWave from './PeriodicWave';
|
|
|
16
15
|
import AnalyserNode from './AnalyserNode';
|
|
17
16
|
import AudioBufferQueueSourceNode from './AudioBufferQueueSourceNode';
|
|
18
17
|
import { InvalidAccessError, NotSupportedError } from '../errors';
|
|
18
|
+
import RecorderAdapterNode from './RecorderAdapterNode';
|
|
19
19
|
|
|
20
20
|
export default class BaseAudioContext {
|
|
21
21
|
readonly destination: AudioDestinationNode;
|
|
22
22
|
readonly sampleRate: number;
|
|
23
|
-
|
|
23
|
+
readonly context: IBaseAudioContext;
|
|
24
24
|
|
|
25
25
|
constructor(context: IBaseAudioContext) {
|
|
26
26
|
this.context = context;
|
|
@@ -36,15 +36,12 @@ export default class BaseAudioContext {
|
|
|
36
36
|
return this.context.state;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
return new
|
|
39
|
+
createRecorderAdapter(): RecorderAdapterNode {
|
|
40
|
+
return new RecorderAdapterNode(this, this.context.createRecorderAdapter());
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
return new
|
|
45
|
-
this,
|
|
46
|
-
this.context.createCustomProcessor(identifier)
|
|
47
|
-
);
|
|
43
|
+
createOscillator(): OscillatorNode {
|
|
44
|
+
return new OscillatorNode(this, this.context.createOscillator());
|
|
48
45
|
}
|
|
49
46
|
|
|
50
47
|
createGain(): GainNode {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IRecorderAdapterNode } from '../interfaces';
|
|
2
|
+
import AudioNode from './AudioNode';
|
|
3
|
+
|
|
4
|
+
export default class RecorderAdapterNode extends AudioNode {
|
|
5
|
+
/** @internal */
|
|
6
|
+
public wasConnected: boolean = false;
|
|
7
|
+
|
|
8
|
+
/** @internal */
|
|
9
|
+
public getNode(): IRecorderAdapterNode {
|
|
10
|
+
return this.node as IRecorderAdapterNode;
|
|
11
|
+
}
|
|
12
|
+
}
|