react-native-audio-api 0.6.0-rc.4 → 0.6.0
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/android/src/main/cpp/audioapi/android/AudioAPIModule.cpp +35 -2
- package/android/src/main/cpp/audioapi/android/AudioAPIModule.h +4 -0
- package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.cpp +31 -17
- package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.h +1 -3
- package/android/src/main/java/com/swmansion/audioapi/AudioAPIModule.kt +56 -2
- package/android/src/main/java/com/swmansion/audioapi/AudioAPIPackage.kt +0 -12
- package/android/src/main/java/com/swmansion/audioapi/system/AudioFocusListener.kt +35 -12
- package/android/src/main/java/com/swmansion/audioapi/system/LockScreenManager.kt +30 -29
- package/android/src/main/java/com/swmansion/audioapi/system/MediaNotificationManager.kt +20 -22
- package/android/src/main/java/com/swmansion/audioapi/system/MediaReceiver.kt +19 -9
- package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionCallback.kt +30 -11
- package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionManager.kt +53 -26
- package/android/src/main/java/com/swmansion/audioapi/system/VolumeChangeListener.kt +10 -5
- package/android/src/oldarch/NativeAudioAPIModuleSpec.java +39 -0
- package/common/cpp/audioapi/AudioAPIModuleInstaller.h +20 -14
- package/common/cpp/audioapi/HostObjects/AudioBufferSourceNodeHostObject.h +2 -3
- package/common/cpp/audioapi/HostObjects/AudioNodeHostObject.h +24 -11
- package/common/cpp/audioapi/HostObjects/AudioParamHostObject.h +1 -0
- package/common/cpp/audioapi/HostObjects/AudioRecorderHostObject.h +10 -89
- package/common/cpp/audioapi/HostObjects/AudioScheduledSourceNodeHostObject.h +3 -24
- package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.h +2 -2
- package/common/cpp/audioapi/HostObjects/OscillatorNodeHostObject.h +2 -3
- package/common/cpp/audioapi/core/AudioContext.cpp +4 -1
- package/common/cpp/audioapi/core/AudioContext.h +1 -1
- package/common/cpp/audioapi/core/AudioNode.cpp +31 -2
- package/common/cpp/audioapi/core/AudioNode.h +7 -1
- package/common/cpp/audioapi/core/AudioParam.cpp +84 -2
- package/common/cpp/audioapi/core/AudioParam.h +14 -1
- package/common/cpp/audioapi/core/BaseAudioContext.cpp +7 -1
- package/common/cpp/audioapi/core/BaseAudioContext.h +7 -1
- package/common/cpp/audioapi/core/OfflineAudioContext.cpp +3 -2
- package/common/cpp/audioapi/core/OfflineAudioContext.h +1 -1
- package/common/cpp/audioapi/core/analysis/AnalyserNode.cpp +19 -56
- package/common/cpp/audioapi/core/analysis/AnalyserNode.h +3 -2
- package/common/cpp/audioapi/core/effects/BiquadFilterNode.cpp +28 -26
- package/common/cpp/audioapi/core/effects/GainNode.cpp +9 -9
- package/common/cpp/audioapi/core/effects/StereoPannerNode.cpp +5 -2
- package/common/cpp/audioapi/core/inputs/AudioRecorder.cpp +56 -0
- package/common/cpp/audioapi/core/inputs/AudioRecorder.h +13 -13
- package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +14 -10
- package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.h +1 -1
- package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.cpp +7 -6
- package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.h +5 -3
- package/common/cpp/audioapi/core/sources/OscillatorNode.cpp +15 -10
- package/common/cpp/audioapi/core/utils/AudioNodeManager.cpp +35 -1
- package/common/cpp/audioapi/core/utils/AudioNodeManager.h +15 -1
- package/common/cpp/audioapi/events/AudioEventHandlerRegistry.cpp +108 -0
- package/common/cpp/audioapi/events/AudioEventHandlerRegistry.h +62 -0
- package/common/cpp/audioapi/events/AudioEventHandlerRegistryHostObject.h +48 -0
- package/common/cpp/audioapi/jsi/JsiPromise.cpp +3 -4
- package/common/cpp/audioapi/utils/AudioArray.h +1 -1
- package/common/cpp/audioapi/utils/CircularAudioArray.cpp +94 -0
- package/common/cpp/audioapi/utils/CircularAudioArray.h +26 -0
- package/ios/audioapi/ios/AudioAPIModule.h +13 -0
- package/ios/audioapi/ios/AudioAPIModule.mm +115 -6
- package/ios/audioapi/ios/core/IOSAudioRecorder.h +3 -10
- package/ios/audioapi/ios/core/IOSAudioRecorder.mm +15 -52
- package/ios/audioapi/ios/core/NativeAudioPlayer.m +2 -0
- package/ios/audioapi/ios/core/NativeAudioRecorder.m +7 -3
- package/ios/audioapi/ios/events/IOSAudioEventHandlerRegistry.h +7 -0
- package/ios/audioapi/ios/events/IOSAudioEventHandlerRegistry.mm +12 -0
- package/ios/audioapi/ios/system/AudioEngine.h +5 -0
- package/ios/audioapi/ios/system/AudioEngine.mm +7 -15
- package/ios/audioapi/ios/system/AudioSessionManager.h +3 -1
- package/ios/audioapi/ios/system/AudioSessionManager.mm +36 -17
- package/ios/audioapi/ios/system/LockScreenManager.h +3 -3
- package/ios/audioapi/ios/system/LockScreenManager.mm +36 -48
- package/ios/audioapi/ios/system/NotificationManager.h +3 -3
- package/ios/audioapi/ios/system/NotificationManager.mm +21 -29
- package/lib/commonjs/api.js +4 -4
- package/lib/commonjs/api.js.map +1 -1
- package/lib/commonjs/core/AudioBufferSourceNode.js +2 -2
- package/lib/commonjs/core/AudioBufferSourceNode.js.map +1 -1
- package/lib/commonjs/core/AudioNode.js +8 -2
- package/lib/commonjs/core/AudioNode.js.map +1 -1
- package/lib/commonjs/core/AudioParam.js +2 -1
- package/lib/commonjs/core/AudioParam.js.map +1 -1
- package/lib/commonjs/core/AudioRecorder.js +11 -28
- package/lib/commonjs/core/AudioRecorder.js.map +1 -1
- package/lib/commonjs/core/AudioScheduledSourceNode.js +4 -1
- package/lib/commonjs/core/AudioScheduledSourceNode.js.map +1 -1
- package/lib/commonjs/core/BiquadFilterNode.js +4 -4
- package/lib/commonjs/core/BiquadFilterNode.js.map +1 -1
- package/lib/commonjs/core/GainNode.js +1 -1
- package/lib/commonjs/core/GainNode.js.map +1 -1
- package/lib/commonjs/core/OscillatorNode.js +2 -2
- package/lib/commonjs/core/OscillatorNode.js.map +1 -1
- package/lib/commonjs/core/StereoPannerNode.js +1 -1
- package/lib/commonjs/core/StereoPannerNode.js.map +1 -1
- package/lib/commonjs/events/AudioEventEmitter.js +22 -0
- package/lib/commonjs/events/AudioEventEmitter.js.map +1 -0
- package/lib/commonjs/events/AudioEventSubscription.js +20 -0
- package/lib/commonjs/events/AudioEventSubscription.js.map +1 -0
- package/lib/commonjs/events/index.js +21 -0
- package/lib/commonjs/events/index.js.map +1 -0
- package/lib/commonjs/events/types.js +6 -0
- package/lib/commonjs/events/types.js.map +1 -0
- package/lib/commonjs/hooks/useSytemVolume.js +1 -1
- package/lib/commonjs/hooks/useSytemVolume.js.map +1 -1
- package/lib/commonjs/specs/NativeAudioAPIModule.js +3 -3
- package/lib/commonjs/specs/NativeAudioAPIModule.js.map +1 -1
- package/lib/commonjs/specs/index.js +2 -16
- package/lib/commonjs/specs/index.js.map +1 -1
- package/lib/commonjs/system/AudioManager.js +26 -26
- package/lib/commonjs/system/AudioManager.js.map +1 -1
- package/lib/module/api.js +2 -2
- package/lib/module/api.js.map +1 -1
- package/lib/module/core/AudioBufferSourceNode.js +2 -2
- package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
- package/lib/module/core/AudioNode.js +7 -2
- package/lib/module/core/AudioNode.js.map +1 -1
- package/lib/module/core/AudioParam.js +2 -1
- package/lib/module/core/AudioParam.js.map +1 -1
- package/lib/module/core/AudioRecorder.js +11 -28
- package/lib/module/core/AudioRecorder.js.map +1 -1
- package/lib/module/core/AudioScheduledSourceNode.js +4 -1
- package/lib/module/core/AudioScheduledSourceNode.js.map +1 -1
- package/lib/module/core/BiquadFilterNode.js +4 -4
- package/lib/module/core/BiquadFilterNode.js.map +1 -1
- package/lib/module/core/GainNode.js +1 -1
- package/lib/module/core/GainNode.js.map +1 -1
- package/lib/module/core/OscillatorNode.js +2 -2
- package/lib/module/core/OscillatorNode.js.map +1 -1
- package/lib/module/core/StereoPannerNode.js +1 -1
- package/lib/module/core/StereoPannerNode.js.map +1 -1
- package/lib/module/events/AudioEventEmitter.js +16 -0
- package/lib/module/events/AudioEventEmitter.js.map +1 -0
- package/lib/module/events/AudioEventSubscription.js +15 -0
- package/lib/module/events/AudioEventSubscription.js.map +1 -0
- package/lib/module/events/index.js +6 -0
- package/lib/module/events/index.js.map +1 -0
- package/lib/module/events/types.js +4 -0
- package/lib/module/events/types.js.map +1 -0
- package/lib/module/hooks/useSytemVolume.js +1 -1
- package/lib/module/hooks/useSytemVolume.js.map +1 -1
- package/lib/module/specs/NativeAudioAPIModule.js +3 -2
- package/lib/module/specs/NativeAudioAPIModule.js.map +1 -1
- package/lib/module/specs/index.js +2 -3
- package/lib/module/specs/index.js.map +1 -1
- package/lib/module/system/AudioManager.js +27 -27
- package/lib/module/system/AudioManager.js.map +1 -1
- package/lib/typescript/api.d.ts +2 -1
- package/lib/typescript/api.d.ts.map +1 -1
- package/lib/typescript/core/AudioNode.d.ts +2 -1
- package/lib/typescript/core/AudioNode.d.ts.map +1 -1
- package/lib/typescript/core/AudioParam.d.ts +4 -2
- package/lib/typescript/core/AudioParam.d.ts.map +1 -1
- package/lib/typescript/core/AudioRecorder.d.ts +4 -14
- package/lib/typescript/core/AudioRecorder.d.ts.map +1 -1
- package/lib/typescript/core/AudioScheduledSourceNode.d.ts +3 -1
- package/lib/typescript/core/AudioScheduledSourceNode.d.ts.map +1 -1
- package/lib/typescript/events/AudioEventEmitter.d.ts +10 -0
- package/lib/typescript/events/AudioEventEmitter.d.ts.map +1 -0
- package/lib/typescript/events/AudioEventSubscription.d.ts +11 -0
- package/lib/typescript/events/AudioEventSubscription.d.ts.map +1 -0
- package/lib/typescript/events/index.d.ts +4 -0
- package/lib/typescript/events/index.d.ts.map +1 -0
- package/lib/typescript/events/types.d.ts +50 -0
- package/lib/typescript/events/types.d.ts.map +1 -0
- package/lib/typescript/hooks/useSytemVolume.d.ts.map +1 -1
- package/lib/typescript/interfaces.d.ts +10 -10
- package/lib/typescript/interfaces.d.ts.map +1 -1
- package/lib/typescript/specs/NativeAudioAPIModule.d.ts +15 -3
- package/lib/typescript/specs/NativeAudioAPIModule.d.ts.map +1 -1
- package/lib/typescript/specs/index.d.ts +2 -3
- package/lib/typescript/specs/index.d.ts.map +1 -1
- package/lib/typescript/system/AudioManager.d.ts +8 -4
- package/lib/typescript/system/AudioManager.d.ts.map +1 -1
- package/lib/typescript/system/types.d.ts +1 -34
- package/lib/typescript/system/types.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +0 -1
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/api.ts +6 -3
- package/src/core/AudioBufferSourceNode.ts +2 -2
- package/src/core/AudioNode.ts +8 -3
- package/src/core/AudioParam.ts +5 -2
- package/src/core/AudioRecorder.ts +22 -62
- package/src/core/AudioScheduledSourceNode.ts +13 -2
- package/src/core/BiquadFilterNode.ts +4 -4
- package/src/core/GainNode.ts +1 -1
- package/src/core/OscillatorNode.ts +2 -2
- package/src/core/StereoPannerNode.ts +1 -1
- package/src/events/AudioEventEmitter.ts +29 -0
- package/src/events/AudioEventSubscription.ts +26 -0
- package/src/events/index.ts +4 -0
- package/src/events/types.ts +64 -0
- package/src/hooks/useSytemVolume.ts +2 -1
- package/src/interfaces.ts +19 -20
- package/src/specs/NativeAudioAPIModule.ts +23 -2
- package/src/specs/index.ts +2 -4
- package/src/system/AudioManager.ts +39 -38
- package/src/system/types.ts +1 -41
- package/src/types.ts +0 -8
- package/android/src/main/java/com/swmansion/audioapi/AudioManagerModule.kt +0 -64
- package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionEventEmitter.kt +0 -88
- package/android/src/oldarch/NativeAudioManagerModuleSpec.java +0 -99
- package/ios/audioapi/ios/AudioManagerModule.h +0 -18
- package/ios/audioapi/ios/AudioManagerModule.mm +0 -93
- package/lib/commonjs/specs/NativeAudioManagerModule.js +0 -36
- package/lib/commonjs/specs/NativeAudioManagerModule.js.map +0 -1
- package/lib/module/specs/NativeAudioManagerModule.js +0 -33
- package/lib/module/specs/NativeAudioManagerModule.js.map +0 -1
- package/lib/typescript/specs/NativeAudioManagerModule.d.ts +0 -15
- package/lib/typescript/specs/NativeAudioManagerModule.d.ts.map +0 -1
- package/src/specs/NativeAudioManagerModule.ts +0 -45
|
@@ -7,8 +7,8 @@ import { InvalidStateError, RangeError } from "../errors/index.js";
|
|
|
7
7
|
export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
8
8
|
constructor(context, node) {
|
|
9
9
|
super(context, node);
|
|
10
|
-
this.detune = new AudioParam(node.detune);
|
|
11
|
-
this.playbackRate = new AudioParam(node.playbackRate);
|
|
10
|
+
this.detune = new AudioParam(node.detune, context);
|
|
11
|
+
this.playbackRate = new AudioParam(node.playbackRate, context);
|
|
12
12
|
}
|
|
13
13
|
get buffer() {
|
|
14
14
|
const buffer = this.node.buffer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioScheduledSourceNode","AudioBuffer","AudioParam","InvalidStateError","RangeError","AudioBufferSourceNode","constructor","context","node","detune","playbackRate","buffer","loop","value","loopStart","loopEnd","start","when","offset","duration","hasBeenStarted"],"sourceRoot":"../../../src","sources":["core/AudioBufferSourceNode.ts"],"mappings":";;AACA,OAAOA,wBAAwB,MAAM,+BAA4B;AAEjE,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,UAAU,MAAM,iBAAc;AACrC,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,oBAAW;AAEzD,eAAe,MAAMC,qBAAqB,SAASL,wBAAwB,CAAC;EAI1EM,WAAWA,CAACC,OAAyB,EAAEC,IAA4B,EAAE;IACnE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIP,UAAU,CAACM,IAAI,CAACC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"names":["AudioScheduledSourceNode","AudioBuffer","AudioParam","InvalidStateError","RangeError","AudioBufferSourceNode","constructor","context","node","detune","playbackRate","buffer","loop","value","loopStart","loopEnd","start","when","offset","duration","hasBeenStarted"],"sourceRoot":"../../../src","sources":["core/AudioBufferSourceNode.ts"],"mappings":";;AACA,OAAOA,wBAAwB,MAAM,+BAA4B;AAEjE,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,UAAU,MAAM,iBAAc;AACrC,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,oBAAW;AAEzD,eAAe,MAAMC,qBAAqB,SAASL,wBAAwB,CAAC;EAI1EM,WAAWA,CAACC,OAAyB,EAAEC,IAA4B,EAAE;IACnE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIP,UAAU,CAACM,IAAI,CAACC,MAAM,EAAEF,OAAO,CAAC;IAClD,IAAI,CAACG,YAAY,GAAG,IAAIR,UAAU,CAACM,IAAI,CAACE,YAAY,EAAEH,OAAO,CAAC;EAChE;EAEA,IAAWI,MAAMA,CAAA,EAAuB;IACtC,MAAMA,MAAM,GAAI,IAAI,CAACH,IAAI,CAA4BG,MAAM;IAC3D,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,IAAI;IACb;IACA,OAAO,IAAIV,WAAW,CAACU,MAAM,CAAC;EAChC;EAEA,IAAWA,MAAMA,CAACA,MAA0B,EAAE;IAC5C,IAAI,CAACA,MAAM,EAAE;MACV,IAAI,CAACH,IAAI,CAA4BG,MAAM,GAAG,IAAI;MACnD;IACF;IAEC,IAAI,CAACH,IAAI,CAA4BG,MAAM,GAAGA,MAAM,CAACA,MAAM;EAC9D;EAEA,IAAWC,IAAIA,CAAA,EAAY;IACzB,OAAQ,IAAI,CAACJ,IAAI,CAA4BI,IAAI;EACnD;EAEA,IAAWA,IAAIA,CAACC,KAAc,EAAE;IAC7B,IAAI,CAACL,IAAI,CAA4BI,IAAI,GAAGC,KAAK;EACpD;EAEA,IAAWC,SAASA,CAAA,EAAW;IAC7B,OAAQ,IAAI,CAACN,IAAI,CAA4BM,SAAS;EACxD;EAEA,IAAWA,SAASA,CAACD,KAAa,EAAE;IACjC,IAAI,CAACL,IAAI,CAA4BM,SAAS,GAAGD,KAAK;EACzD;EAEA,IAAWE,OAAOA,CAAA,EAAW;IAC3B,OAAQ,IAAI,CAACP,IAAI,CAA4BO,OAAO;EACtD;EAEA,IAAWA,OAAOA,CAACF,KAAa,EAAE;IAC/B,IAAI,CAACL,IAAI,CAA4BO,OAAO,GAAGF,KAAK;EACvD;EAEOG,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAEC,MAAc,GAAG,CAAC,EAAEC,QAAiB,EAAQ;IAC1E,IAAIF,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIb,UAAU,CAClB,8CAA8Ca,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,GAAG,CAAC,EAAE;MACd,MAAM,IAAId,UAAU,CAClB,gDAAgDc,MAAM,EACxD,CAAC;IACH;IAEA,IAAIC,QAAQ,IAAIA,QAAQ,GAAG,CAAC,EAAE;MAC5B,MAAM,IAAIf,UAAU,CAClB,kDAAkDe,QAAQ,EAC5D,CAAC;IACH;IAEA,IAAI,IAAI,CAACC,cAAc,EAAE;MACvB,MAAM,IAAIjB,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACiB,cAAc,GAAG,IAAI;IACzB,IAAI,CAACZ,IAAI,CAA4BQ,KAAK,CAACC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,CAAC;EACrE;AACF","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import AudioParam from "./AudioParam.js";
|
|
3
4
|
import { InvalidAccessError } from "../errors/index.js";
|
|
4
5
|
export default class AudioNode {
|
|
5
6
|
constructor(context, node) {
|
|
@@ -13,9 +14,13 @@ export default class AudioNode {
|
|
|
13
14
|
}
|
|
14
15
|
connect(destination) {
|
|
15
16
|
if (this.context !== destination.context) {
|
|
16
|
-
throw new InvalidAccessError('
|
|
17
|
+
throw new InvalidAccessError('Source and destination are from different BaseAudioContexts');
|
|
18
|
+
}
|
|
19
|
+
if (destination instanceof AudioParam) {
|
|
20
|
+
this.node.connect(destination.audioParam);
|
|
21
|
+
} else {
|
|
22
|
+
this.node.connect(destination.node);
|
|
17
23
|
}
|
|
18
|
-
this.node.connect(destination.node);
|
|
19
24
|
return destination;
|
|
20
25
|
}
|
|
21
26
|
disconnect(destination) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InvalidAccessError","AudioNode","constructor","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","destination","disconnect"],"sourceRoot":"../../../src","sources":["core/AudioNode.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["AudioParam","InvalidAccessError","AudioNode","constructor","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","destination","audioParam","disconnect"],"sourceRoot":"../../../src","sources":["core/AudioNode.ts"],"mappings":";;AACA,OAAOA,UAAU,MAAM,iBAAc;AAGrC,SAASC,kBAAkB,QAAQ,oBAAW;AAE9C,eAAe,MAAMC,SAAS,CAAC;EAS7BC,WAAWA,CAACC,OAAyB,EAAEC,IAAgB,EAAE;IACvD,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,cAAc,GAAG,IAAI,CAACD,IAAI,CAACC,cAAc;IAC9C,IAAI,CAACC,eAAe,GAAG,IAAI,CAACF,IAAI,CAACE,eAAe;IAChD,IAAI,CAACC,YAAY,GAAG,IAAI,CAACH,IAAI,CAACG,YAAY;IAC1C,IAAI,CAACC,gBAAgB,GAAG,IAAI,CAACJ,IAAI,CAACI,gBAAgB;IAClD,IAAI,CAACC,qBAAqB,GAAG,IAAI,CAACL,IAAI,CAACK,qBAAqB;EAC9D;EAEOC,OAAOA,CAACC,WAAmC,EAA0B;IAC1E,IAAI,IAAI,CAACR,OAAO,KAAKQ,WAAW,CAACR,OAAO,EAAE;MACxC,MAAM,IAAIH,kBAAkB,CAC1B,6DACF,CAAC;IACH;IAEA,IAAIW,WAAW,YAAYZ,UAAU,EAAE;MACrC,IAAI,CAACK,IAAI,CAACM,OAAO,CAACC,WAAW,CAACC,UAAU,CAAC;IAC3C,CAAC,MAAM;MACL,IAAI,CAACR,IAAI,CAACM,OAAO,CAACC,WAAW,CAACP,IAAI,CAAC;IACrC;IAEA,OAAOO,WAAW;EACpB;EAEOE,UAAUA,CAACF,WAAuB,EAAQ;IAC/C,IAAI,CAACP,IAAI,CAACS,UAAU,CAACF,WAAW,EAAEP,IAAI,CAAC;EACzC;AACF","ignoreList":[]}
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
import { RangeError, InvalidStateError } from "../errors/index.js";
|
|
4
4
|
export default class AudioParam {
|
|
5
|
-
constructor(audioParam) {
|
|
5
|
+
constructor(audioParam, context) {
|
|
6
6
|
this.audioParam = audioParam;
|
|
7
7
|
this.value = audioParam.value;
|
|
8
8
|
this.defaultValue = audioParam.defaultValue;
|
|
9
9
|
this.minValue = audioParam.minValue;
|
|
10
10
|
this.maxValue = audioParam.maxValue;
|
|
11
|
+
this.context = context;
|
|
11
12
|
}
|
|
12
13
|
get value() {
|
|
13
14
|
return this.audioParam.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RangeError","InvalidStateError","AudioParam","constructor","audioParam","value","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","duration","length","cancelScheduledValues","cancelTime","cancelAndHoldAtTime"],"sourceRoot":"../../../src","sources":["core/AudioParam.ts"],"mappings":";;AACA,SAASA,UAAU,EAAEC,iBAAiB,QAAQ,oBAAW;
|
|
1
|
+
{"version":3,"names":["RangeError","InvalidStateError","AudioParam","constructor","audioParam","context","value","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","duration","length","cancelScheduledValues","cancelTime","cancelAndHoldAtTime"],"sourceRoot":"../../../src","sources":["core/AudioParam.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,25 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import AudioBuffer from "./AudioBuffer.js";
|
|
4
|
+
import { AudioEventEmitter } from "../events/index.js";
|
|
4
5
|
export default class AudioRecorder {
|
|
5
|
-
|
|
6
|
-
onErrorCallback = null;
|
|
7
|
-
onStatusChangeCallback = null;
|
|
8
|
-
onAudioReadyInternal = (buffer, numFrames, when) => {
|
|
9
|
-
if (this.onAudioReadyCallback) {
|
|
10
|
-
this.onAudioReadyCallback(new AudioBuffer(buffer), numFrames, when);
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
onErrorInternal = error => {
|
|
14
|
-
if (this.onErrorCallback) {
|
|
15
|
-
this.onErrorCallback(error);
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
onStatusChangeInternal = (status, previousStatus) => {
|
|
19
|
-
if (this.onStatusChangeCallback) {
|
|
20
|
-
this.onStatusChangeCallback(status, previousStatus);
|
|
21
|
-
}
|
|
22
|
-
};
|
|
6
|
+
audioEventEmitter = new AudioEventEmitter(global.AudioEventEmitter);
|
|
23
7
|
constructor(options) {
|
|
24
8
|
this.recorder = global.createAudioRecorder(options);
|
|
25
9
|
}
|
|
@@ -30,16 +14,15 @@ export default class AudioRecorder {
|
|
|
30
14
|
this.recorder.stop();
|
|
31
15
|
}
|
|
32
16
|
onAudioReady(callback) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
this.
|
|
42
|
-
this.recorder.onStatusChange(this.onStatusChangeInternal);
|
|
17
|
+
const onAudioReadyCallback = event => {
|
|
18
|
+
callback({
|
|
19
|
+
buffer: new AudioBuffer(event.buffer),
|
|
20
|
+
numFrames: event.numFrames,
|
|
21
|
+
when: event.when
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
const subscription = this.audioEventEmitter.addAudioEventListener('audioReady', onAudioReadyCallback);
|
|
25
|
+
this.recorder.onAudioReady = subscription.subscriptionId;
|
|
43
26
|
}
|
|
44
27
|
}
|
|
45
28
|
//# sourceMappingURL=AudioRecorder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioBuffer","
|
|
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;AAE7C,eAAe,MAAMC,aAAa,CAAC;EAEhBC,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,YAAYA,CAACC,QAAgD,EAAQ;IAC1E,MAAMC,oBAAoB,GAAIC,KAA4B,IAAK;MAC7DF,QAAQ,CAAC;QACPG,MAAM,EAAE,IAAIf,WAAW,CAACc,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,CAACf,iBAAiB,CAACgB,qBAAqB,CAC/D,YAAY,EACZN,oBACF,CAAC;IAED,IAAI,CAACN,QAAQ,CAACI,YAAY,GAAGO,YAAY,CAACE,cAAc;EAC1D;AACF","ignoreList":[]}
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
import AudioNode from "./AudioNode.js";
|
|
4
4
|
import { InvalidStateError, RangeError } from "../errors/index.js";
|
|
5
|
+
import { AudioEventEmitter } from "../events/index.js";
|
|
5
6
|
export default class AudioScheduledSourceNode extends AudioNode {
|
|
6
7
|
hasBeenStarted = false;
|
|
8
|
+
audioEventEmitter = new AudioEventEmitter(global.AudioEventEmitter);
|
|
7
9
|
start(when = 0) {
|
|
8
10
|
if (when < 0) {
|
|
9
11
|
throw new RangeError(`when must be a finite non-negative number: ${when}`);
|
|
@@ -26,7 +28,8 @@ export default class AudioScheduledSourceNode extends AudioNode {
|
|
|
26
28
|
|
|
27
29
|
// eslint-disable-next-line accessor-pairs
|
|
28
30
|
set onended(callback) {
|
|
29
|
-
this.
|
|
31
|
+
const subscription = this.audioEventEmitter.addAudioEventListener('ended', callback);
|
|
32
|
+
this.node.onended = subscription.subscriptionId;
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
35
|
//# sourceMappingURL=AudioScheduledSourceNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","InvalidStateError","RangeError","AudioScheduledSourceNode","hasBeenStarted","start","when","node","stop","onended","callback"],"sourceRoot":"../../../src","sources":["core/AudioScheduledSourceNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,oBAAW;AAEzD,eAAe,MAAMC,wBAAwB,
|
|
1
|
+
{"version":3,"names":["AudioNode","InvalidStateError","RangeError","AudioEventEmitter","AudioScheduledSourceNode","hasBeenStarted","audioEventEmitter","global","start","when","node","stop","onended","callback","subscription","addAudioEventListener","subscriptionId"],"sourceRoot":"../../../src","sources":["core/AudioScheduledSourceNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,oBAAW;AAEzD,SAASC,iBAAiB,QAAQ,oBAAW;AAE7C,eAAe,MAAMC,wBAAwB,SAASJ,SAAS,CAAC;EACpDK,cAAc,GAAY,KAAK;EACxBC,iBAAiB,GAAG,IAAIH,iBAAiB,CACxDI,MAAM,CAACJ,iBACT,CAAC;EAEMK,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAQ;IACnC,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIP,UAAU,CAClB,8CAA8CO,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,IAAI,CAACJ,cAAc,EAAE;MACvB,MAAM,IAAIJ,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACI,cAAc,GAAG,IAAI;IACzB,IAAI,CAACK,IAAI,CAA+BF,KAAK,CAACC,IAAI,CAAC;EACtD;EAEOE,IAAIA,CAACF,IAAY,GAAG,CAAC,EAAQ;IAClC,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIP,UAAU,CAClB,8CAA8CO,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,CAAC,IAAI,CAACJ,cAAc,EAAE;MACxB,MAAM,IAAIJ,iBAAiB,CACzB,8CACF,CAAC;IACH;IAEC,IAAI,CAACS,IAAI,CAA+BC,IAAI,CAACF,IAAI,CAAC;EACrD;;EAEA;EACA,IAAWG,OAAOA,CAACC,QAA6C,EAAE;IAChE,MAAMC,YAAY,GAAG,IAAI,CAACR,iBAAiB,CAACS,qBAAqB,CAC/D,OAAO,EACPF,QACF,CAAC;IAEA,IAAI,CAACH,IAAI,CAA+BE,OAAO,GAC9CE,YAAY,CAACE,cAAc;EAC/B;AACF","ignoreList":[]}
|
|
@@ -6,10 +6,10 @@ import AudioParam from "./AudioParam.js";
|
|
|
6
6
|
export default class BiquadFilterNode extends AudioNode {
|
|
7
7
|
constructor(context, biquadFilter) {
|
|
8
8
|
super(context, biquadFilter);
|
|
9
|
-
this.frequency = new AudioParam(biquadFilter.frequency);
|
|
10
|
-
this.detune = new AudioParam(biquadFilter.detune);
|
|
11
|
-
this.Q = new AudioParam(biquadFilter.Q);
|
|
12
|
-
this.gain = new AudioParam(biquadFilter.gain);
|
|
9
|
+
this.frequency = new AudioParam(biquadFilter.frequency, context);
|
|
10
|
+
this.detune = new AudioParam(biquadFilter.detune, context);
|
|
11
|
+
this.Q = new AudioParam(biquadFilter.Q, context);
|
|
12
|
+
this.gain = new AudioParam(biquadFilter.gain, context);
|
|
13
13
|
}
|
|
14
14
|
get type() {
|
|
15
15
|
return this.node.type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InvalidAccessError","AudioNode","AudioParam","BiquadFilterNode","constructor","context","biquadFilter","frequency","detune","Q","gain","type","node","value","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","length"],"sourceRoot":"../../../src","sources":["core/BiquadFilterNode.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,oBAAW;AAE9C,OAAOC,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAIrC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAMtDG,WAAWA,CAACC,OAAyB,EAAEC,YAA+B,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,YAAY,CAAC;IAC5B,IAAI,CAACC,SAAS,GAAG,IAAIL,UAAU,CAACI,YAAY,CAACC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"names":["InvalidAccessError","AudioNode","AudioParam","BiquadFilterNode","constructor","context","biquadFilter","frequency","detune","Q","gain","type","node","value","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","length"],"sourceRoot":"../../../src","sources":["core/BiquadFilterNode.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,oBAAW;AAE9C,OAAOC,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAIrC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAMtDG,WAAWA,CAACC,OAAyB,EAAEC,YAA+B,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,YAAY,CAAC;IAC5B,IAAI,CAACC,SAAS,GAAG,IAAIL,UAAU,CAACI,YAAY,CAACC,SAAS,EAAEF,OAAO,CAAC;IAChE,IAAI,CAACG,MAAM,GAAG,IAAIN,UAAU,CAACI,YAAY,CAACE,MAAM,EAAEH,OAAO,CAAC;IAC1D,IAAI,CAACI,CAAC,GAAG,IAAIP,UAAU,CAACI,YAAY,CAACG,CAAC,EAAEJ,OAAO,CAAC;IAChD,IAAI,CAACK,IAAI,GAAG,IAAIR,UAAU,CAACI,YAAY,CAACI,IAAI,EAAEL,OAAO,CAAC;EACxD;EAEA,IAAWM,IAAIA,CAAA,EAAqB;IAClC,OAAQ,IAAI,CAACC,IAAI,CAAuBD,IAAI;EAC9C;EAEA,IAAWA,IAAIA,CAACE,KAAuB,EAAE;IACtC,IAAI,CAACD,IAAI,CAAuBD,IAAI,GAAGE,KAAK;EAC/C;EAEOC,oBAAoBA,CACzBC,cAA4B,EAC5BC,iBAA+B,EAC/BC,mBAAiC,EACjC;IACA,IACEF,cAAc,CAACG,MAAM,KAAKF,iBAAiB,CAACE,MAAM,IAClDH,cAAc,CAACG,MAAM,KAAKD,mBAAmB,CAACC,MAAM,EACpD;MACA,MAAM,IAAIlB,kBAAkB,CAC1B,8DAA8De,cAAc,CAACG,MAAM,wBAAwBF,iBAAiB,CAACE,MAAM,0BAA0BD,mBAAmB,CAACC,MAAM,EACzL,CAAC;IACH;IACC,IAAI,CAACN,IAAI,CAAuBE,oBAAoB,CACnDC,cAAc,EACdC,iBAAiB,EACjBC,mBACF,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ import AudioParam from "./AudioParam.js";
|
|
|
5
5
|
export default class GainNode extends AudioNode {
|
|
6
6
|
constructor(context, gain) {
|
|
7
7
|
super(context, gain);
|
|
8
|
-
this.gain = new AudioParam(gain.gain);
|
|
8
|
+
this.gain = new AudioParam(gain.gain, context);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=GainNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","AudioParam","GainNode","constructor","context","gain"],"sourceRoot":"../../../src","sources":["core/GainNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAGrC,eAAe,MAAMC,QAAQ,SAASF,SAAS,CAAC;EAG9CG,WAAWA,CAACC,OAAyB,EAAEC,IAAe,EAAE;IACtD,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACA,IAAI,GAAG,IAAIJ,UAAU,CAACI,IAAI,CAACA,IAAI,CAAC;
|
|
1
|
+
{"version":3,"names":["AudioNode","AudioParam","GainNode","constructor","context","gain"],"sourceRoot":"../../../src","sources":["core/GainNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAGrC,eAAe,MAAMC,QAAQ,SAASF,SAAS,CAAC;EAG9CG,WAAWA,CAACC,OAAyB,EAAEC,IAAe,EAAE;IACtD,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACA,IAAI,GAAG,IAAIJ,UAAU,CAACI,IAAI,CAACA,IAAI,EAAED,OAAO,CAAC;EAChD;AACF","ignoreList":[]}
|
|
@@ -6,8 +6,8 @@ import { InvalidStateError } from "../errors/index.js";
|
|
|
6
6
|
export default class OscillatorNode extends AudioScheduledSourceNode {
|
|
7
7
|
constructor(context, node) {
|
|
8
8
|
super(context, node);
|
|
9
|
-
this.frequency = new AudioParam(node.frequency);
|
|
10
|
-
this.detune = new AudioParam(node.detune);
|
|
9
|
+
this.frequency = new AudioParam(node.frequency, context);
|
|
10
|
+
this.detune = new AudioParam(node.detune, context);
|
|
11
11
|
this.type = node.type;
|
|
12
12
|
}
|
|
13
13
|
get type() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioScheduledSourceNode","AudioParam","InvalidStateError","OscillatorNode","constructor","context","node","frequency","detune","type","value","setPeriodicWave","wave","periodicWave"],"sourceRoot":"../../../src","sources":["core/OscillatorNode.ts"],"mappings":";;AAEA,OAAOA,wBAAwB,MAAM,+BAA4B;AACjE,OAAOC,UAAU,MAAM,iBAAc;AAGrC,SAASC,iBAAiB,QAAQ,oBAAW;AAE7C,eAAe,MAAMC,cAAc,SAASH,wBAAwB,CAAC;EAInEI,WAAWA,CAACC,OAAyB,EAAEC,IAAqB,EAAE;IAC5D,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACC,SAAS,GAAG,IAAIN,UAAU,CAACK,IAAI,CAACC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"names":["AudioScheduledSourceNode","AudioParam","InvalidStateError","OscillatorNode","constructor","context","node","frequency","detune","type","value","setPeriodicWave","wave","periodicWave"],"sourceRoot":"../../../src","sources":["core/OscillatorNode.ts"],"mappings":";;AAEA,OAAOA,wBAAwB,MAAM,+BAA4B;AACjE,OAAOC,UAAU,MAAM,iBAAc;AAGrC,SAASC,iBAAiB,QAAQ,oBAAW;AAE7C,eAAe,MAAMC,cAAc,SAASH,wBAAwB,CAAC;EAInEI,WAAWA,CAACC,OAAyB,EAAEC,IAAqB,EAAE;IAC5D,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACC,SAAS,GAAG,IAAIN,UAAU,CAACK,IAAI,CAACC,SAAS,EAAEF,OAAO,CAAC;IACxD,IAAI,CAACG,MAAM,GAAG,IAAIP,UAAU,CAACK,IAAI,CAACE,MAAM,EAAEH,OAAO,CAAC;IAClD,IAAI,CAACI,IAAI,GAAGH,IAAI,CAACG,IAAI;EACvB;EAEA,IAAWA,IAAIA,CAAA,EAAmB;IAChC,OAAQ,IAAI,CAACH,IAAI,CAAqBG,IAAI;EAC5C;EAEA,IAAWA,IAAIA,CAACC,KAAqB,EAAE;IACrC,IAAIA,KAAK,KAAK,QAAQ,EAAE;MACtB,MAAM,IAAIR,iBAAiB,CACzB,uGACF,CAAC;IACH;IAEC,IAAI,CAACI,IAAI,CAAqBG,IAAI,GAAGC,KAAK;EAC7C;EAEOC,eAAeA,CAACC,IAAkB,EAAQ;IAC9C,IAAI,CAACN,IAAI,CAAqBK,eAAe,CAACC,IAAI,CAACC,YAAY,CAAC;EACnE;AACF","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ import AudioParam from "./AudioParam.js";
|
|
|
5
5
|
export default class StereoPannerNode extends AudioNode {
|
|
6
6
|
constructor(context, pan) {
|
|
7
7
|
super(context, pan);
|
|
8
|
-
this.pan = new AudioParam(pan.pan);
|
|
8
|
+
this.pan = new AudioParam(pan.pan, context);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=StereoPannerNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","AudioParam","StereoPannerNode","constructor","context","pan"],"sourceRoot":"../../../src","sources":["core/StereoPannerNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAGrC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAGtDG,WAAWA,CAACC,OAAyB,EAAEC,GAAsB,EAAE;IAC7D,KAAK,CAACD,OAAO,EAAEC,GAAG,CAAC;IACnB,IAAI,CAACA,GAAG,GAAG,IAAIJ,UAAU,CAACI,GAAG,CAACA,GAAG,CAAC;
|
|
1
|
+
{"version":3,"names":["AudioNode","AudioParam","StereoPannerNode","constructor","context","pan"],"sourceRoot":"../../../src","sources":["core/StereoPannerNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAGrC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAGtDG,WAAWA,CAACC,OAAyB,EAAEC,GAAsB,EAAE;IAC7D,KAAK,CAACD,OAAO,EAAEC,GAAG,CAAC;IACnB,IAAI,CAACA,GAAG,GAAG,IAAIJ,UAAU,CAACI,GAAG,CAACA,GAAG,EAAED,OAAO,CAAC;EAC7C;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import AudioEventSubscription from "./AudioEventSubscription.js";
|
|
4
|
+
export default class AudioEventEmitter {
|
|
5
|
+
constructor(audioEventEmitter) {
|
|
6
|
+
this.audioEventEmitter = audioEventEmitter;
|
|
7
|
+
}
|
|
8
|
+
addAudioEventListener(name, callback) {
|
|
9
|
+
const subscriptionId = this.audioEventEmitter.addAudioEventListener(name, callback);
|
|
10
|
+
return new AudioEventSubscription(subscriptionId, name, this);
|
|
11
|
+
}
|
|
12
|
+
removeAudioEventListener(name, subscriptionId) {
|
|
13
|
+
this.audioEventEmitter.removeAudioEventListener(name, subscriptionId);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=AudioEventEmitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AudioEventSubscription","AudioEventEmitter","constructor","audioEventEmitter","addAudioEventListener","name","callback","subscriptionId","removeAudioEventListener"],"sourceRoot":"../../../src","sources":["events/AudioEventEmitter.ts"],"mappings":";;AACA,OAAOA,sBAAsB,MAAM,6BAA0B;AAG7D,eAAe,MAAMC,iBAAiB,CAAC;EAGrCC,WAAWA,CAACC,iBAAqC,EAAE;IACjD,IAAI,CAACA,iBAAiB,GAAGA,iBAAiB;EAC5C;EAEAC,qBAAqBA,CACnBC,IAAU,EACVC,QAAkC,EACV;IACxB,MAAMC,cAAc,GAAG,IAAI,CAACJ,iBAAiB,CAACC,qBAAqB,CACjEC,IAAI,EACJC,QACF,CAAC;IACD,OAAO,IAAIN,sBAAsB,CAACO,cAAc,EAAEF,IAAI,EAAE,IAAI,CAAC;EAC/D;EAEAG,wBAAwBA,CACtBH,IAAU,EACVE,cAAsB,EAChB;IACN,IAAI,CAACJ,iBAAiB,CAACK,wBAAwB,CAACH,IAAI,EAAEE,cAAc,CAAC;EACvE;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export default class AudioEventSubscription {
|
|
4
|
+
/** @internal */
|
|
5
|
+
|
|
6
|
+
constructor(subscriptionId, eventName, audioEventEmitter) {
|
|
7
|
+
this.subscriptionId = subscriptionId;
|
|
8
|
+
this.eventName = eventName;
|
|
9
|
+
this.audioEventEmitter = audioEventEmitter;
|
|
10
|
+
}
|
|
11
|
+
remove() {
|
|
12
|
+
this.audioEventEmitter.removeAudioEventListener(this.eventName, this.subscriptionId);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=AudioEventSubscription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AudioEventSubscription","constructor","subscriptionId","eventName","audioEventEmitter","remove","removeAudioEventListener"],"sourceRoot":"../../../src","sources":["events/AudioEventSubscription.ts"],"mappings":";;AAGA,eAAe,MAAMA,sBAAsB,CAAC;EAG1C;;EAGAC,WAAWA,CACTC,cAAsB,EACtBC,SAAyB,EACzBC,iBAAoC,EACpC;IACA,IAAI,CAACF,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,iBAAiB,GAAGA,iBAAiB;EAC5C;EAEOC,MAAMA,CAAA,EAAS;IACpB,IAAI,CAACD,iBAAiB,CAACE,wBAAwB,CAC7C,IAAI,CAACH,SAAS,EACd,IAAI,CAACD,cACP,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AudioEventEmitter","AudioEventSubscription"],"sourceRoot":"../../../src","sources":["events/index.ts"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,wBAAqB;AACnD,OAAOC,sBAAsB,MAAM,6BAA0B;AAE7D,SAASD,iBAAiB,EAAEC,sBAAsB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["events/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ export default function useSystemVolume() {
|
|
|
6
6
|
const [volume, setVolume] = useState(0);
|
|
7
7
|
useEffect(() => {
|
|
8
8
|
AudioManager.observeVolumeChanges(true);
|
|
9
|
-
const listener = AudioManager.
|
|
9
|
+
const listener = AudioManager.enableSystemEvent('volumeChange', e => {
|
|
10
10
|
setVolume(parseFloat(e.value.toFixed(2)));
|
|
11
11
|
});
|
|
12
12
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useState","AudioManager","useSystemVolume","volume","setVolume","observeVolumeChanges","listener","
|
|
1
|
+
{"version":3,"names":["useEffect","useState","AudioManager","useSystemVolume","volume","setVolume","observeVolumeChanges","listener","enableSystemEvent","e","parseFloat","value","toFixed","remove"],"sourceRoot":"../../../src","sources":["hooks/useSytemVolume.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,OAAOC,YAAY,MAAM,2BAAwB;AAEjD,eAAe,SAASC,eAAeA,CAAA,EAAG;EACxC,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGJ,QAAQ,CAAC,CAAC,CAAC;EAEvCD,SAAS,CAAC,MAAM;IACdE,YAAY,CAACI,oBAAoB,CAAC,IAAI,CAAC;IACvC,MAAMC,QAAQ,GAAGL,YAAY,CAACM,iBAAiB,CAAC,cAAc,EAAGC,CAAC,IAAK;MACrEJ,SAAS,CAACK,UAAU,CAACD,CAAC,CAACE,KAAK,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC;IACF,OAAO,MAAM;MACXL,QAAQ,EAAEM,MAAM,CAAC,CAAC;MAElBX,YAAY,CAACI,oBAAoB,CAAC,KAAK,CAAC;IAC1C,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOF,MAAM;AACf","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
import { TurboModuleRegistry } from 'react-native';
|
|
4
|
-
|
|
4
|
+
const NativeAudioAPIModule = TurboModuleRegistry.get('AudioAPIModule');
|
|
5
|
+
export { NativeAudioAPIModule };
|
|
5
6
|
//# sourceMappingURL=NativeAudioAPIModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["specs/NativeAudioAPIModule.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","NativeAudioAPIModule","get"],"sourceRoot":"../../../src","sources":["specs/NativeAudioAPIModule.ts"],"mappings":"AAAA,YAAY;;AACZ,SAASA,mBAAmB,QAAQ,cAAc;AAwBlD,MAAMC,oBAAoB,GAAGD,mBAAmB,CAACE,GAAG,CAAO,gBAAgB,CAAC;AAE5E,SAASD,oBAAoB","ignoreList":[]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
import NativeAudioAPIModule from "./NativeAudioAPIModule.js";
|
|
4
|
-
|
|
5
|
-
export { NativeAudioAPIModule, AudioManagerModule, eventEmitter };
|
|
3
|
+
import { NativeAudioAPIModule } from "./NativeAudioAPIModule.js";
|
|
4
|
+
export { NativeAudioAPIModule };
|
|
6
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeAudioAPIModule"
|
|
1
|
+
{"version":3,"names":["NativeAudioAPIModule"],"sourceRoot":"../../../src","sources":["specs/index.ts"],"mappings":"AAAA,YAAY;;AACZ,SAASA,oBAAoB,QAAQ,2BAAwB;AAE7D,SAASA,oBAAoB","ignoreList":[]}
|
|
@@ -1,47 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { NativeAudioAPIModule } from "../specs/index.js";
|
|
4
|
+
import { AudioEventEmitter } from "../events/index.js";
|
|
5
|
+
if (global.AudioEventEmitter == null) {
|
|
6
|
+
if (!NativeAudioAPIModule) {
|
|
7
|
+
throw new Error(`Failed to install react-native-audio-api: The native module could not be found.`);
|
|
8
|
+
}
|
|
9
|
+
NativeAudioAPIModule.install();
|
|
10
|
+
}
|
|
4
11
|
class AudioManager {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.audioEventEmitter = new AudioEventEmitter(global.AudioEventEmitter);
|
|
14
|
+
}
|
|
5
15
|
setLockScreenInfo(info) {
|
|
6
|
-
|
|
16
|
+
NativeAudioAPIModule.setLockScreenInfo(info);
|
|
7
17
|
}
|
|
8
18
|
resetLockScreenInfo() {
|
|
9
|
-
|
|
19
|
+
NativeAudioAPIModule.resetLockScreenInfo();
|
|
10
20
|
}
|
|
11
21
|
setAudioSessionOptions(options) {
|
|
12
|
-
|
|
22
|
+
NativeAudioAPIModule.setAudioSessionOptions(options.iosCategory ?? '', options.iosMode ?? '', options.iosOptions ?? []);
|
|
13
23
|
}
|
|
14
24
|
getDevicePreferredSampleRate() {
|
|
15
|
-
return
|
|
25
|
+
return NativeAudioAPIModule.getDevicePreferredSampleRate();
|
|
16
26
|
}
|
|
17
27
|
observeAudioInterruptions(enabled) {
|
|
18
|
-
|
|
28
|
+
NativeAudioAPIModule.observeAudioInterruptions(enabled);
|
|
19
29
|
}
|
|
20
30
|
observeVolumeChanges(enabled) {
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
enableRemoteCommand(name) {
|
|
24
|
-
AudioManagerModule.enableRemoteCommand(name, true);
|
|
31
|
+
NativeAudioAPIModule.observeVolumeChanges(enabled);
|
|
25
32
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
if (!callback) {
|
|
33
|
+
enableSystemEvent(name, callback, enabled = true) {
|
|
34
|
+
NativeAudioAPIModule.enableRemoteCommand(name, enabled);
|
|
35
|
+
if (!enabled || !callback) {
|
|
29
36
|
return null;
|
|
30
37
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
case 'volumeChange':
|
|
39
|
-
subscription = eventEmitter.addListener('onVolumeChange', callback);
|
|
40
|
-
break;
|
|
41
|
-
default:
|
|
42
|
-
console.error('Unsupported RemoteControl action:', name);
|
|
43
|
-
}
|
|
44
|
-
return subscription;
|
|
38
|
+
return this.audioEventEmitter.addAudioEventListener(name, callback);
|
|
39
|
+
}
|
|
40
|
+
async requestRecordingPermissions() {
|
|
41
|
+
return NativeAudioAPIModule.requestRecordingPermissions();
|
|
42
|
+
}
|
|
43
|
+
async checkRecordingPermissions() {
|
|
44
|
+
return NativeAudioAPIModule.checkRecordingPermissions();
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
export default new AudioManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["NativeAudioAPIModule","AudioEventEmitter","global","Error","install","AudioManager","constructor","audioEventEmitter","setLockScreenInfo","info","resetLockScreenInfo","setAudioSessionOptions","options","iosCategory","iosMode","iosOptions","getDevicePreferredSampleRate","observeAudioInterruptions","enabled","observeVolumeChanges","enableSystemEvent","name","callback","enableRemoteCommand","addAudioEventListener","requestRecordingPermissions","checkRecordingPermissions"],"sourceRoot":"../../../src","sources":["system/AudioManager.ts"],"mappings":";;AAEA,SAASA,oBAAoB,QAAQ,mBAAU;AAC/C,SAASC,iBAAiB,QAAgC,oBAAW;AAErE,IAAIC,MAAM,CAACD,iBAAiB,IAAI,IAAI,EAAE;EACpC,IAAI,CAACD,oBAAoB,EAAE;IACzB,MAAM,IAAIG,KAAK,CACb,iFACF,CAAC;EACH;EAEAH,oBAAoB,CAACI,OAAO,CAAC,CAAC;AAChC;AAEA,MAAMC,YAAY,CAAC;EAEjBC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,iBAAiB,GAAG,IAAIN,iBAAiB,CAACC,MAAM,CAACD,iBAAiB,CAAC;EAC1E;EAEAO,iBAAiBA,CAACC,IAAoB,EAAE;IACtCT,oBAAoB,CAAEQ,iBAAiB,CAACC,IAAI,CAAC;EAC/C;EAEAC,mBAAmBA,CAAA,EAAG;IACpBV,oBAAoB,CAAEU,mBAAmB,CAAC,CAAC;EAC7C;EAEAC,sBAAsBA,CAACC,OAAuB,EAAE;IAC9CZ,oBAAoB,CAAEW,sBAAsB,CAC1CC,OAAO,CAACC,WAAW,IAAI,EAAE,EACzBD,OAAO,CAACE,OAAO,IAAI,EAAE,EACrBF,OAAO,CAACG,UAAU,IAAI,EACxB,CAAC;EACH;EAEAC,4BAA4BA,CAAA,EAAW;IACrC,OAAOhB,oBAAoB,CAAEgB,4BAA4B,CAAC,CAAC;EAC7D;EAEAC,yBAAyBA,CAACC,OAAgB,EAAE;IAC1ClB,oBAAoB,CAAEiB,yBAAyB,CAACC,OAAO,CAAC;EAC1D;EAEAC,oBAAoBA,CAACD,OAAgB,EAAE;IACrClB,oBAAoB,CAAEmB,oBAAoB,CAACD,OAAO,CAAC;EACrD;EAEAE,iBAAiBA,CACfC,IAAU,EACVC,QAAoC,EACpCJ,OAAO,GAAG,IAAI,EACiB;IAC/BlB,oBAAoB,CAAEuB,mBAAmB,CAACF,IAAI,EAAEH,OAAO,CAAC;IAExD,IAAI,CAACA,OAAO,IAAI,CAACI,QAAQ,EAAE;MACzB,OAAO,IAAI;IACb;IAEA,OAAO,IAAI,CAACf,iBAAiB,CAACiB,qBAAqB,CAACH,IAAI,EAAEC,QAAQ,CAAC;EACrE;EAEA,MAAMG,2BAA2BA,CAAA,EAA8B;IAC7D,OAAOzB,oBAAoB,CAAEyB,2BAA2B,CAAC,CAAC;EAC5D;EAEA,MAAMC,yBAAyBA,CAAA,EAA8B;IAC3D,OAAO1B,oBAAoB,CAAE0B,yBAAyB,CAAC,CAAC;EAC1D;AACF;AAEA,eAAe,IAAIrB,YAAY,CAAC,CAAC","ignoreList":[]}
|
package/lib/typescript/api.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { AudioRecorderOptions } from './types';
|
|
2
|
-
import type { IAudioContext, IAudioRecorder, IOfflineAudioContext } from './interfaces';
|
|
2
|
+
import type { IAudioContext, IAudioRecorder, IOfflineAudioContext, IAudioEventEmitter } from './interfaces';
|
|
3
3
|
declare global {
|
|
4
4
|
var createAudioContext: (sampleRate?: number) => IAudioContext;
|
|
5
5
|
var createOfflineAudioContext: (numberOfChannels: number, length: number, sampleRate: number) => IOfflineAudioContext;
|
|
6
6
|
var createAudioRecorder: (options: AudioRecorderOptions) => IAudioRecorder;
|
|
7
|
+
var AudioEventEmitter: IAudioEventEmitter;
|
|
7
8
|
}
|
|
8
9
|
export { default as AudioBuffer } from './core/AudioBuffer';
|
|
9
10
|
export { default as AudioBufferSourceNode } from './core/AudioBufferSourceNode';
|
|
@@ -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,
|
|
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,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;IAC/D,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,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,4 +1,5 @@
|
|
|
1
1
|
import { IAudioNode } from '../interfaces';
|
|
2
|
+
import AudioParam from './AudioParam';
|
|
2
3
|
import { ChannelCountMode, ChannelInterpretation } from '../types';
|
|
3
4
|
import BaseAudioContext from './BaseAudioContext';
|
|
4
5
|
export default class AudioNode {
|
|
@@ -10,7 +11,7 @@ export default class AudioNode {
|
|
|
10
11
|
readonly channelInterpretation: ChannelInterpretation;
|
|
11
12
|
protected readonly node: IAudioNode;
|
|
12
13
|
constructor(context: BaseAudioContext, node: IAudioNode);
|
|
13
|
-
connect(destination: AudioNode): AudioNode;
|
|
14
|
+
connect(destination: AudioNode | AudioParam): AudioNode | AudioParam;
|
|
14
15
|
disconnect(destination?: AudioNode): void;
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=AudioNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioNode.d.ts","sourceRoot":"","sources":["../../../src/core/AudioNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAGlD,MAAM,CAAC,OAAO,OAAO,SAAS;IAC5B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACtD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;gBAExB,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU;IAUhD,OAAO,CAAC,WAAW,EAAE,SAAS,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"AudioNode.d.ts","sourceRoot":"","sources":["../../../src/core/AudioNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAGlD,MAAM,CAAC,OAAO,OAAO,SAAS;IAC5B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACtD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;gBAExB,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU;IAUhD,OAAO,CAAC,WAAW,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU;IAgBpE,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS,GAAG,IAAI;CAGjD"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { IAudioParam } from '../interfaces';
|
|
2
|
+
import BaseAudioContext from './BaseAudioContext';
|
|
2
3
|
export default class AudioParam {
|
|
3
4
|
readonly defaultValue: number;
|
|
4
5
|
readonly minValue: number;
|
|
5
6
|
readonly maxValue: number;
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
readonly audioParam: IAudioParam;
|
|
8
|
+
readonly context: BaseAudioContext;
|
|
9
|
+
constructor(audioParam: IAudioParam, context: BaseAudioContext);
|
|
8
10
|
get value(): number;
|
|
9
11
|
set value(value: number);
|
|
10
12
|
setValueAtTime(value: number, startTime: number): AudioParam;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioParam.d.ts","sourceRoot":"","sources":["../../../src/core/AudioParam.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"AudioParam.d.ts","sourceRoot":"","sources":["../../../src/core/AudioParam.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;gBAEvB,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB;IAS9D,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAEM,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU;IAY5D,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU;IAYnE,4BAA4B,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,UAAU;IAYN,eAAe,CACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,UAAU;IAkBN,mBAAmB,CACxB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,UAAU;IAsBN,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU;IAYrD,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU;CAW3D"}
|
|
@@ -1,22 +1,12 @@
|
|
|
1
1
|
import { IAudioRecorder } from '../interfaces';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
export type AudioReadyCallback = (buffer: AudioBuffer, numFrames: number, when: number) => void;
|
|
5
|
-
export type ErrorCallback = (error: Error) => void;
|
|
6
|
-
export type StatusChangeCallback = (status: AudioRecorderStatus, previousStatus: AudioRecorderStatus) => void;
|
|
2
|
+
import { AudioRecorderOptions } from '../types';
|
|
3
|
+
import { OnAudioReadyEventType } from '../events/types';
|
|
7
4
|
export default class AudioRecorder {
|
|
8
5
|
protected readonly recorder: IAudioRecorder;
|
|
9
|
-
private
|
|
10
|
-
private onErrorCallback;
|
|
11
|
-
private onStatusChangeCallback;
|
|
12
|
-
private onAudioReadyInternal;
|
|
13
|
-
private onErrorInternal;
|
|
14
|
-
private onStatusChangeInternal;
|
|
6
|
+
private readonly audioEventEmitter;
|
|
15
7
|
constructor(options: AudioRecorderOptions);
|
|
16
8
|
start(): void;
|
|
17
9
|
stop(): void;
|
|
18
|
-
onAudioReady(callback:
|
|
19
|
-
onError(callback: ErrorCallback): void;
|
|
20
|
-
onStatusChange(callback: StatusChangeCallback): void;
|
|
10
|
+
onAudioReady(callback: (event: OnAudioReadyEventType) => void): void;
|
|
21
11
|
}
|
|
22
12
|
//# sourceMappingURL=AudioRecorder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioRecorder.d.ts","sourceRoot":"","sources":["../../../src/core/AudioRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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;AAGxD,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAEhC;gBAEU,OAAO,EAAE,oBAAoB;IAIlC,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIZ,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAAG,IAAI;CAgB5E"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import AudioNode from './AudioNode';
|
|
2
|
+
import { EventTypeWithValue } from '../events/types';
|
|
2
3
|
export default class AudioScheduledSourceNode extends AudioNode {
|
|
3
4
|
protected hasBeenStarted: boolean;
|
|
5
|
+
private readonly audioEventEmitter;
|
|
4
6
|
start(when?: number): void;
|
|
5
7
|
stop(when?: number): void;
|
|
6
|
-
set onended(callback: (
|
|
8
|
+
set onended(callback: (event: EventTypeWithValue) => void);
|
|
7
9
|
}
|
|
8
10
|
//# sourceMappingURL=AudioScheduledSourceNode.d.ts.map
|