react-native-audio-api 0.10.0 → 0.10.2

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.
Files changed (75) hide show
  1. package/android/src/main/java/com/swmansion/audioapi/system/AudioFocusListener.kt +2 -0
  2. package/android/src/main/java/com/swmansion/audioapi/system/LockScreenManager.kt +1 -0
  3. package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.cpp +3 -3
  4. package/common/cpp/test/src/AudioParamTest.cpp +1 -1
  5. package/common/cpp/test/src/AudioScheduledSourceTest.cpp +134 -0
  6. package/common/cpp/test/src/ConstantSourceTest.cpp +1 -1
  7. package/common/cpp/test/src/GainTest.cpp +1 -1
  8. package/common/cpp/test/src/MockAudioEventHandlerRegistry.h +4 -4
  9. package/common/cpp/test/src/OscillatorTest.cpp +1 -1
  10. package/common/cpp/test/src/StereoPannerTest.cpp +1 -1
  11. package/common/cpp/test/src/biquad/BiquadFilterTest.h +1 -1
  12. package/ios/audioapi/ios/core/IOSAudioRecorder.h +2 -1
  13. package/lib/commonjs/AudioAPIModule/AudioAPIModule.js +90 -0
  14. package/lib/commonjs/AudioAPIModule/AudioAPIModule.js.map +1 -0
  15. package/lib/commonjs/AudioAPIModule/globals.d.js +6 -0
  16. package/lib/commonjs/AudioAPIModule/globals.d.js.map +1 -0
  17. package/lib/commonjs/AudioAPIModule/index.js +14 -0
  18. package/lib/commonjs/AudioAPIModule/index.js.map +1 -0
  19. package/lib/commonjs/api.js +14 -24
  20. package/lib/commonjs/api.js.map +1 -1
  21. package/lib/commonjs/core/AudioContext.js +4 -7
  22. package/lib/commonjs/core/AudioContext.js.map +1 -1
  23. package/lib/commonjs/core/BaseAudioContext.js +8 -7
  24. package/lib/commonjs/core/BaseAudioContext.js.map +1 -1
  25. package/lib/commonjs/core/OfflineAudioContext.js +3 -6
  26. package/lib/commonjs/core/OfflineAudioContext.js.map +1 -1
  27. package/lib/commonjs/system/AudioManager.js +1 -7
  28. package/lib/commonjs/system/AudioManager.js.map +1 -1
  29. package/lib/commonjs/utils/index.js +9 -22
  30. package/lib/commonjs/utils/index.js.map +1 -1
  31. package/lib/module/AudioAPIModule/AudioAPIModule.js +87 -0
  32. package/lib/module/AudioAPIModule/AudioAPIModule.js.map +1 -0
  33. package/lib/module/AudioAPIModule/globals.d.js +4 -0
  34. package/lib/module/AudioAPIModule/globals.d.js.map +1 -0
  35. package/lib/module/AudioAPIModule/index.js +4 -0
  36. package/lib/module/AudioAPIModule/index.js.map +1 -0
  37. package/lib/module/api.js +17 -28
  38. package/lib/module/api.js.map +1 -1
  39. package/lib/module/core/AudioContext.js +4 -7
  40. package/lib/module/core/AudioContext.js.map +1 -1
  41. package/lib/module/core/BaseAudioContext.js +9 -8
  42. package/lib/module/core/BaseAudioContext.js.map +1 -1
  43. package/lib/module/core/OfflineAudioContext.js +3 -6
  44. package/lib/module/core/OfflineAudioContext.js.map +1 -1
  45. package/lib/module/system/AudioManager.js +1 -7
  46. package/lib/module/system/AudioManager.js.map +1 -1
  47. package/lib/module/utils/index.js +8 -21
  48. package/lib/module/utils/index.js.map +1 -1
  49. package/lib/typescript/AudioAPIModule/AudioAPIModule.d.ts +36 -0
  50. package/lib/typescript/AudioAPIModule/AudioAPIModule.d.ts.map +1 -0
  51. package/lib/typescript/AudioAPIModule/index.d.ts +2 -0
  52. package/lib/typescript/AudioAPIModule/index.d.ts.map +1 -0
  53. package/lib/typescript/api.d.ts +17 -26
  54. package/lib/typescript/api.d.ts.map +1 -1
  55. package/lib/typescript/core/AudioContext.d.ts +1 -1
  56. package/lib/typescript/core/AudioContext.d.ts.map +1 -1
  57. package/lib/typescript/core/BaseAudioContext.d.ts +4 -4
  58. package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
  59. package/lib/typescript/core/OfflineAudioContext.d.ts +1 -1
  60. package/lib/typescript/core/OfflineAudioContext.d.ts.map +1 -1
  61. package/lib/typescript/system/AudioManager.d.ts +2 -2
  62. package/lib/typescript/system/AudioManager.d.ts.map +1 -1
  63. package/lib/typescript/utils/index.d.ts +1 -11
  64. package/lib/typescript/utils/index.d.ts.map +1 -1
  65. package/package.json +6 -2
  66. package/scripts/validate-worklets-version.js +4 -5
  67. package/src/AudioAPIModule/AudioAPIModule.ts +122 -0
  68. package/src/AudioAPIModule/globals.d.ts +35 -0
  69. package/src/AudioAPIModule/index.ts +1 -0
  70. package/src/api.ts +20 -72
  71. package/src/core/AudioContext.ts +4 -7
  72. package/src/core/BaseAudioContext.ts +58 -47
  73. package/src/core/OfflineAudioContext.ts +4 -7
  74. package/src/system/AudioManager.ts +9 -19
  75. package/src/utils/index.ts +9 -35
@@ -28,6 +28,7 @@ class AudioFocusListener(
28
28
  }
29
29
  audioAPIModule.get()?.invokeHandlerWithEventNameAndEventBody("interruption", body)
30
30
  }
31
+
31
32
  AudioManager.AUDIOFOCUS_LOSS_TRANSIENT -> {
32
33
  playOnAudioFocus = lockScreenManager.get()?.isPlaying == true
33
34
  val body =
@@ -37,6 +38,7 @@ class AudioFocusListener(
37
38
  }
38
39
  audioAPIModule.get()?.invokeHandlerWithEventNameAndEventBody("interruption", body)
39
40
  }
41
+
40
42
  AudioManager.AUDIOFOCUS_GAIN -> {
41
43
  if (playOnAudioFocus) {
42
44
  val body =
@@ -155,6 +155,7 @@ class LockScreenManager(
155
155
  "state_playing" -> {
156
156
  this.playbackState = PlaybackStateCompat.STATE_PLAYING
157
157
  }
158
+
158
159
  "state_paused" -> {
159
160
  this.playbackState = PlaybackStateCompat.STATE_PAUSED
160
161
  }
@@ -71,7 +71,7 @@ void AudioScheduledSourceNode::updatePlaybackInfo(
71
71
  auto sampleRate = context_->getSampleRate();
72
72
 
73
73
  size_t firstFrame = context_->getCurrentSampleFrame();
74
- size_t lastFrame = firstFrame + framesToProcess;
74
+ size_t lastFrame = firstFrame + framesToProcess - 1;
75
75
 
76
76
  size_t startFrame =
77
77
  std::max(dsp::timeToSampleFrame(startTime_, sampleRate), firstFrame);
@@ -100,7 +100,7 @@ void AudioScheduledSourceNode::updatePlaybackInfo(
100
100
  ? std::max(startFrame, firstFrame) - firstFrame
101
101
  : 0;
102
102
  nonSilentFramesToProcess =
103
- std::max(std::min(lastFrame, stopFrame), startFrame) - startFrame;
103
+ std::max(std::min(lastFrame, stopFrame) + 1, startFrame) - startFrame;
104
104
 
105
105
  assert(startOffset <= framesToProcess);
106
106
  assert(nonSilentFramesToProcess <= framesToProcess);
@@ -119,7 +119,7 @@ void AudioScheduledSourceNode::updatePlaybackInfo(
119
119
 
120
120
  // stop will happen in this render quantum
121
121
  // zero remaining frames after stop frame
122
- if (stopFrame < lastFrame && stopFrame >= firstFrame) {
122
+ if (stopFrame <= lastFrame && stopFrame >= firstFrame) {
123
123
  playbackState_ = PlaybackState::STOP_SCHEDULED;
124
124
  startOffset = 0;
125
125
  nonSilentFramesToProcess = stopFrame - firstFrame;
@@ -8,7 +8,7 @@ using namespace audioapi;
8
8
 
9
9
  class AudioParamTest : public ::testing::Test {
10
10
  protected:
11
- std::shared_ptr<IAudioEventHandlerRegistry> eventRegistry;
11
+ std::shared_ptr<MockAudioEventHandlerRegistry> eventRegistry;
12
12
  std::unique_ptr<OfflineAudioContext> context;
13
13
  static constexpr int sampleRate = 44100;
14
14
 
@@ -0,0 +1,134 @@
1
+ #include <audioapi/core/OfflineAudioContext.h>
2
+ #include <audioapi/core/destinations/AudioDestinationNode.h>
3
+ #include <audioapi/core/sources/AudioScheduledSourceNode.h>
4
+ #include <audioapi/core/utils/worklets/SafeIncludes.h>
5
+ #include <audioapi/utils/AudioBus.h>
6
+ #include <gtest/gtest.h>
7
+ #include <test/src/MockAudioEventHandlerRegistry.h>
8
+
9
+ using namespace audioapi;
10
+ static constexpr int SAMPLE_RATE = 44100;
11
+ static constexpr int RENDER_QUANTUM = 128;
12
+ static constexpr double RENDER_QUANTUM_TIME =
13
+ static_cast<double>(RENDER_QUANTUM) / SAMPLE_RATE;
14
+
15
+ class AudioScheduledSourceTest : public ::testing::Test {
16
+ protected:
17
+ std::shared_ptr<MockAudioEventHandlerRegistry> eventRegistry;
18
+ std::unique_ptr<OfflineAudioContext> context;
19
+
20
+ void SetUp() override {
21
+ eventRegistry = std::make_shared<MockAudioEventHandlerRegistry>();
22
+ context = std::make_unique<OfflineAudioContext>(
23
+ 2, 5 * SAMPLE_RATE, SAMPLE_RATE, eventRegistry, RuntimeRegistry{});
24
+ }
25
+ };
26
+
27
+ class TestableAudioScheduledSourceNode : public AudioScheduledSourceNode {
28
+ public:
29
+ explicit TestableAudioScheduledSourceNode(BaseAudioContext *context)
30
+ : AudioScheduledSourceNode(context) {
31
+ isInitialized_ = true;
32
+ }
33
+
34
+ void updatePlaybackInfo(
35
+ const std::shared_ptr<AudioBus> &processingBus,
36
+ int framesToProcess,
37
+ size_t &startOffset,
38
+ size_t &nonSilentFramesToProcess) {
39
+ AudioScheduledSourceNode::updatePlaybackInfo(
40
+ processingBus, framesToProcess, startOffset, nonSilentFramesToProcess);
41
+ }
42
+
43
+ std::shared_ptr<AudioBus> processNode(const std::shared_ptr<AudioBus> &, int)
44
+ override {
45
+ return nullptr;
46
+ }
47
+
48
+ PlaybackState getPlaybackState() const {
49
+ return playbackState_;
50
+ }
51
+
52
+ void playFrames(int frames) {
53
+ size_t startOffset = 0;
54
+ size_t nonSilentFramesToProcess = 0;
55
+ auto processingBus =
56
+ std::make_shared<AudioBus>(128, 2, static_cast<float>(SAMPLE_RATE));
57
+ updatePlaybackInfo(
58
+ processingBus, frames, startOffset, nonSilentFramesToProcess);
59
+ context_->getDestination()->renderAudio(processingBus, frames);
60
+ }
61
+ };
62
+
63
+ TEST_F(AudioScheduledSourceTest, IsUnscheduledStateSetCorrectly) {
64
+ auto sourceNode = TestableAudioScheduledSourceNode(context.get());
65
+ EXPECT_EQ(
66
+ sourceNode.getPlaybackState(),
67
+ AudioScheduledSourceNode::PlaybackState::UNSCHEDULED);
68
+
69
+ sourceNode.start(RENDER_QUANTUM_TIME);
70
+ EXPECT_NE(
71
+ sourceNode.getPlaybackState(),
72
+ AudioScheduledSourceNode::PlaybackState::UNSCHEDULED);
73
+ }
74
+
75
+ TEST_F(AudioScheduledSourceTest, IsScheduledStateSetCorrectly) {
76
+ auto sourceNode = TestableAudioScheduledSourceNode(context.get());
77
+ sourceNode.start(RENDER_QUANTUM_TIME);
78
+ EXPECT_EQ(
79
+ sourceNode.getPlaybackState(),
80
+ AudioScheduledSourceNode::PlaybackState::SCHEDULED);
81
+
82
+ sourceNode.playFrames(RENDER_QUANTUM);
83
+ EXPECT_EQ(
84
+ sourceNode.getPlaybackState(),
85
+ AudioScheduledSourceNode::PlaybackState::SCHEDULED);
86
+
87
+ sourceNode.playFrames(1);
88
+ EXPECT_NE(
89
+ sourceNode.getPlaybackState(),
90
+ AudioScheduledSourceNode::PlaybackState::SCHEDULED);
91
+ }
92
+
93
+ TEST_F(AudioScheduledSourceTest, IsPlayingStateSetCorrectly) {
94
+ auto sourceNode = TestableAudioScheduledSourceNode(context.get());
95
+ sourceNode.start(0);
96
+ sourceNode.stop(RENDER_QUANTUM_TIME);
97
+
98
+ sourceNode.playFrames(RENDER_QUANTUM);
99
+ EXPECT_EQ(
100
+ sourceNode.getPlaybackState(),
101
+ AudioScheduledSourceNode::PlaybackState::PLAYING);
102
+
103
+ sourceNode.playFrames(1);
104
+ EXPECT_NE(
105
+ sourceNode.getPlaybackState(),
106
+ AudioScheduledSourceNode::PlaybackState::PLAYING);
107
+ }
108
+
109
+ TEST_F(AudioScheduledSourceTest, IsStopScheduledStateSetCorrectly) {
110
+ auto sourceNode = TestableAudioScheduledSourceNode(context.get());
111
+ sourceNode.start(0);
112
+ sourceNode.stop(RENDER_QUANTUM_TIME);
113
+ sourceNode.playFrames(1); // start playing
114
+ sourceNode.playFrames(RENDER_QUANTUM);
115
+ EXPECT_EQ(
116
+ sourceNode.getPlaybackState(),
117
+ AudioScheduledSourceNode::PlaybackState::STOP_SCHEDULED);
118
+
119
+ sourceNode.playFrames(1);
120
+ EXPECT_NE(
121
+ sourceNode.getPlaybackState(),
122
+ AudioScheduledSourceNode::PlaybackState::STOP_SCHEDULED);
123
+ }
124
+
125
+ TEST_F(AudioScheduledSourceTest, IsFinishedStateSetCorrectly) {
126
+ auto sourceNode = TestableAudioScheduledSourceNode(context.get());
127
+ sourceNode.start(0);
128
+ sourceNode.stop(RENDER_QUANTUM_TIME);
129
+ sourceNode.playFrames(1); // start playing
130
+
131
+ sourceNode.playFrames(RENDER_QUANTUM);
132
+ sourceNode.playFrames(1);
133
+ EXPECT_TRUE(sourceNode.isFinished());
134
+ }
@@ -10,7 +10,7 @@ using namespace audioapi;
10
10
 
11
11
  class ConstantSourceTest : public ::testing::Test {
12
12
  protected:
13
- std::shared_ptr<IAudioEventHandlerRegistry> eventRegistry;
13
+ std::shared_ptr<MockAudioEventHandlerRegistry> eventRegistry;
14
14
  std::unique_ptr<OfflineAudioContext> context;
15
15
  static constexpr int sampleRate = 44100;
16
16
 
@@ -10,7 +10,7 @@ using namespace audioapi;
10
10
 
11
11
  class GainTest : public ::testing::Test {
12
12
  protected:
13
- std::shared_ptr<IAudioEventHandlerRegistry> eventRegistry;
13
+ std::shared_ptr<MockAudioEventHandlerRegistry> eventRegistry;
14
14
  std::unique_ptr<OfflineAudioContext> context;
15
15
  static constexpr int sampleRate = 44100;
16
16
 
@@ -17,8 +17,8 @@ class MockAudioEventHandlerRegistry : public IAudioEventHandlerRegistry {
17
17
  MOCK_METHOD(void, unregisterHandler,
18
18
  (const std::string &eventName, uint64_t listenerId), (override));
19
19
 
20
- MOCK_METHOD(void, invokeHandlerWithEventBody,
21
- (const std::string &eventName, const EventMap &body), (override));
22
- MOCK_METHOD(void, invokeHandlerWithEventBody,
23
- (const std::string &eventName, uint64_t listenerId, const EventMap &body), (override));
20
+ MOCK_METHOD2(invokeHandlerWithEventBody, void
21
+ (const std::string &eventName, const EventMap &body));
22
+ MOCK_METHOD3(invokeHandlerWithEventBody, void
23
+ (const std::string &eventName, uint64_t listenerId, const EventMap &body));
24
24
  };
@@ -8,7 +8,7 @@ using namespace audioapi;
8
8
 
9
9
  class OscillatorTest : public ::testing::Test {
10
10
  protected:
11
- std::shared_ptr<IAudioEventHandlerRegistry> eventRegistry;
11
+ std::shared_ptr<MockAudioEventHandlerRegistry> eventRegistry;
12
12
  std::unique_ptr<OfflineAudioContext> context;
13
13
  static constexpr int sampleRate = 44100;
14
14
 
@@ -10,7 +10,7 @@ using namespace audioapi;
10
10
 
11
11
  class StereoPannerTest : public ::testing::Test {
12
12
  protected:
13
- std::shared_ptr<IAudioEventHandlerRegistry> eventRegistry;
13
+ std::shared_ptr<MockAudioEventHandlerRegistry> eventRegistry;
14
14
  std::unique_ptr<OfflineAudioContext> context;
15
15
  static constexpr int sampleRate = 44100;
16
16
 
@@ -14,7 +14,7 @@ static constexpr float tolerance = 0.0001f;
14
14
  namespace audioapi {
15
15
  class BiquadFilterTest : public ::testing::Test {
16
16
  protected:
17
- std::shared_ptr<IAudioEventHandlerRegistry> eventRegistry;
17
+ std::shared_ptr<MockAudioEventHandlerRegistry> eventRegistry;
18
18
  std::unique_ptr<OfflineAudioContext> context;
19
19
 
20
20
  void SetUp() override {
@@ -18,7 +18,8 @@ class IOSAudioRecorder : public AudioRecorder {
18
18
  IOSAudioRecorder(
19
19
  float sampleRate,
20
20
  int bufferLength,
21
- const std::shared_ptr<AudioEventHandlerRegistry> &audioEventHandlerRegistry);
21
+ const std::shared_ptr<AudioEventHandlerRegistry>
22
+ &audioEventHandlerRegistry);
22
23
 
23
24
  ~IOSAudioRecorder() override;
24
25
 
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _specs = require("../specs");
8
+ // Hint: Copied from react-native-worklets
9
+ // Doesn't really matter what is inside, just need a unique type
10
+
11
+ class AudioAPIModule {
12
+ #workletsModule_ = null;
13
+ #canUseWorklets_ = false;
14
+ #workletsVersion = 'unknown';
15
+ #workletsAvailable_ = false;
16
+ supportedWorkletsVersion = ['0.6.0', '0.6.1'];
17
+ constructor() {
18
+ // Important! Verify and import worklets first
19
+ // otherwise the native module installation might crash
20
+ // if react-native-worklets is not imported before audio-api
21
+ this.#verifyWorklets();
22
+ if (this.#verifyInstallation()) {
23
+ return;
24
+ }
25
+ if (!_specs.NativeAudioAPIModule) {
26
+ throw new Error(`Failed to install react-native-audio-api: The native module could not be found.`);
27
+ }
28
+ _specs.NativeAudioAPIModule.install();
29
+ }
30
+ #verifyWorklets() {
31
+ try {
32
+ const workletsPackage = require('react-native-worklets');
33
+ const workletsPackageJson = require('react-native-worklets/package.json');
34
+ this.#workletsVersion = workletsPackageJson.version;
35
+ this.#workletsAvailable_ = true;
36
+ this.#canUseWorklets_ = this.supportedWorkletsVersion.includes(workletsPackageJson.version);
37
+ if (this.#canUseWorklets_) {
38
+ this.#workletsModule_ = workletsPackage;
39
+ }
40
+ return this.#canUseWorklets_;
41
+ } catch {
42
+ this.#canUseWorklets_ = false;
43
+ return false;
44
+ }
45
+ }
46
+ #verifyInstallation() {
47
+ return global.createAudioContext != null && global.createOfflineAudioContext != null && global.createAudioRecorder != null && global.createAudioDecoder != null && global.createAudioStretcher != null && global.AudioEventEmitter != null;
48
+ }
49
+ get workletsModule() {
50
+ return this.#workletsModule_;
51
+ }
52
+
53
+ /**
54
+ * Indicates whether react-native-worklets are installed in matching version,
55
+ * for usage with react-native-audio-api.
56
+ */
57
+ get canUseWorklets() {
58
+ return this.#canUseWorklets_;
59
+ }
60
+
61
+ /** Returns the installed worklets version or 'unknown'. */
62
+ get workletsVersion() {
63
+ return this.#workletsVersion;
64
+ }
65
+
66
+ /**
67
+ * Indicates whether react-native-worklets are installed, regardless of
68
+ * version support. Useful for asserting compatibility.
69
+ */
70
+ get areWorkletsAvailable() {
71
+ return this.#workletsAvailable_;
72
+ }
73
+
74
+ /**
75
+ * Indicates whether the installed react-native-worklets version is supported.
76
+ * Useful for asserting compatibility.
77
+ */
78
+ get isWorkletsVersionSupported() {
79
+ // Note: if areWorkletsAvailable is true, canUseWorklets is equivalent to version check
80
+ return this.#canUseWorklets_;
81
+ }
82
+ createAudioRuntime() {
83
+ if (!this.#canUseWorklets_) {
84
+ return null;
85
+ }
86
+ return this.#workletsModule_.createWorkletRuntime('AudioWorkletRuntime');
87
+ }
88
+ }
89
+ var _default = exports.default = new AudioAPIModule();
90
+ //# sourceMappingURL=AudioAPIModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_specs","require","AudioAPIModule","workletsModule_","canUseWorklets_","workletsVersion","workletsAvailable_","supportedWorkletsVersion","constructor","verifyWorklets","verifyInstallation","NativeAudioAPIModule","Error","install","#verifyWorklets","workletsPackage","workletsPackageJson","version","includes","#verifyInstallation","global","createAudioContext","createOfflineAudioContext","createAudioRecorder","createAudioDecoder","createAudioStretcher","AudioEventEmitter","workletsModule","canUseWorklets","areWorkletsAvailable","isWorkletsVersionSupported","createAudioRuntime","createWorkletRuntime","_default","exports","default"],"sourceRoot":"../../../src","sources":["AudioAPIModule/AudioAPIModule.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA;AACA;;AAcA,MAAMC,cAAc,CAAC;EACnB,CAACC,eAAe,GAA2B,IAAI;EAC/C,CAACC,eAAe,GAAG,KAAK;EACxB,CAACC,eAAe,GAAG,SAAS;EAC5B,CAACC,kBAAkB,GAAG,KAAK;EAEpBC,wBAAwB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;EAEpDC,WAAWA,CAAA,EAAG;IACZ;IACA;IACA;IACA,IAAI,CAAC,CAACC,cAAc,CAAC,CAAC;IAEtB,IAAI,IAAI,CAAC,CAACC,kBAAkB,CAAC,CAAC,EAAE;MAC9B;IACF;IAEA,IAAI,CAACC,2BAAoB,EAAE;MACzB,MAAM,IAAIC,KAAK,CACb,iFACF,CAAC;IACH;IAEAD,2BAAoB,CAACE,OAAO,CAAC,CAAC;EAChC;EAEA,CAACJ,cAAcK,CAAA,EAAY;IACzB,IAAI;MACF,MAAMC,eAAe,GAAGd,OAAO,CAAC,uBAAuB,CAAC;MACxD,MAAMe,mBAAmB,GAAGf,OAAO,CAAC,oCAAoC,CAAC;MACzE,IAAI,CAAC,CAACI,eAAe,GAAGW,mBAAmB,CAACC,OAAO;MACnD,IAAI,CAAC,CAACX,kBAAkB,GAAG,IAAI;MAE/B,IAAI,CAAC,CAACF,eAAe,GAAG,IAAI,CAACG,wBAAwB,CAACW,QAAQ,CAC5DF,mBAAmB,CAACC,OACtB,CAAC;MAED,IAAI,IAAI,CAAC,CAACb,eAAe,EAAE;QACzB,IAAI,CAAC,CAACD,eAAe,GAAGY,eAAe;MACzC;MAEA,OAAO,IAAI,CAAC,CAACX,eAAe;IAC9B,CAAC,CAAC,MAAM;MACN,IAAI,CAAC,CAACA,eAAe,GAAG,KAAK;MAC7B,OAAO,KAAK;IACd;EACF;EAEA,CAACM,kBAAkBS,CAAA,EAAY;IAC7B,OACEC,MAAM,CAACC,kBAAkB,IAAI,IAAI,IACjCD,MAAM,CAACE,yBAAyB,IAAI,IAAI,IACxCF,MAAM,CAACG,mBAAmB,IAAI,IAAI,IAClCH,MAAM,CAACI,kBAAkB,IAAI,IAAI,IACjCJ,MAAM,CAACK,oBAAoB,IAAI,IAAI,IACnCL,MAAM,CAACM,iBAAiB,IAAI,IAAI;EAEpC;EAEA,IAAIC,cAAcA,CAAA,EAA2B;IAC3C,OAAO,IAAI,CAAC,CAACxB,eAAe;EAC9B;;EAEA;AACF;AACA;AACA;EACE,IAAIyB,cAAcA,CAAA,EAAY;IAC5B,OAAO,IAAI,CAAC,CAACxB,eAAe;EAC9B;;EAEA;EACA,IAAIC,eAAeA,CAAA,EAAW;IAC5B,OAAO,IAAI,CAAC,CAACA,eAAe;EAC9B;;EAEA;AACF;AACA;AACA;EACE,IAAIwB,oBAAoBA,CAAA,EAAY;IAClC,OAAO,IAAI,CAAC,CAACvB,kBAAkB;EACjC;;EAEA;AACF;AACA;AACA;EACE,IAAIwB,0BAA0BA,CAAA,EAAY;IACxC;IACA,OAAO,IAAI,CAAC,CAAC1B,eAAe;EAC9B;EAEO2B,kBAAkBA,CAAA,EAA0B;IACjD,IAAI,CAAC,IAAI,CAAC,CAAC3B,eAAe,EAAE;MAC1B,OAAO,IAAI;IACb;IAEA,OAAO,IAAI,CAAC,CAACD,eAAe,CAAE6B,oBAAoB,CAAC,qBAAqB,CAAC;EAC3E;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAIjC,cAAc,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=globals.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["AudioAPIModule/globals.d.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _AudioAPIModule.default;
10
+ }
11
+ });
12
+ var _AudioAPIModule = _interopRequireDefault(require("./AudioAPIModule"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AudioAPIModule","_interopRequireDefault","require","e","__esModule","default"],"sourceRoot":"../../../src","sources":["AudioAPIModule/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA2C,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -291,46 +291,36 @@ Object.defineProperty(exports, "useSystemVolume", {
291
291
  return _useSystemVolume.default;
292
292
  }
293
293
  });
294
- var _specs = require("./specs");
295
- var _WorkletNode = _interopRequireDefault(require("./core/WorkletNode"));
296
- var _WorkletSourceNode = _interopRequireDefault(require("./core/WorkletSourceNode"));
297
- var _WorkletProcessingNode = _interopRequireDefault(require("./core/WorkletProcessingNode"));
298
- var _RecorderAdapterNode = _interopRequireDefault(require("./core/RecorderAdapterNode"));
294
+ require("./AudioAPIModule");
295
+ var _AnalyserNode = _interopRequireDefault(require("./core/AnalyserNode"));
299
296
  var _AudioBuffer = _interopRequireDefault(require("./core/AudioBuffer"));
300
- var _AudioBufferSourceNode = _interopRequireDefault(require("./core/AudioBufferSourceNode"));
301
297
  var _AudioBufferQueueSourceNode = _interopRequireDefault(require("./core/AudioBufferQueueSourceNode"));
298
+ var _AudioBufferSourceNode = _interopRequireDefault(require("./core/AudioBufferSourceNode"));
302
299
  var _AudioContext = _interopRequireDefault(require("./core/AudioContext"));
303
- var _OfflineAudioContext = _interopRequireDefault(require("./core/OfflineAudioContext"));
300
+ var _AudioDecoder = require("./core/AudioDecoder");
304
301
  var _AudioDestinationNode = _interopRequireDefault(require("./core/AudioDestinationNode"));
305
302
  var _AudioNode = _interopRequireDefault(require("./core/AudioNode"));
306
- var _AnalyserNode = _interopRequireDefault(require("./core/AnalyserNode"));
307
303
  var _AudioParam = _interopRequireDefault(require("./core/AudioParam"));
304
+ var _AudioRecorder = _interopRequireDefault(require("./core/AudioRecorder"));
308
305
  var _AudioScheduledSourceNode = _interopRequireDefault(require("./core/AudioScheduledSourceNode"));
306
+ var _AudioStretcher = _interopRequireDefault(require("./core/AudioStretcher"));
309
307
  var _BaseAudioContext = _interopRequireDefault(require("./core/BaseAudioContext"));
310
308
  var _BiquadFilterNode = _interopRequireDefault(require("./core/BiquadFilterNode"));
309
+ var _ConstantSourceNode = _interopRequireDefault(require("./core/ConstantSourceNode"));
310
+ var _ConvolverNode = _interopRequireDefault(require("./core/ConvolverNode"));
311
311
  var _GainNode = _interopRequireDefault(require("./core/GainNode"));
312
+ var _OfflineAudioContext = _interopRequireDefault(require("./core/OfflineAudioContext"));
312
313
  var _OscillatorNode = _interopRequireDefault(require("./core/OscillatorNode"));
314
+ var _RecorderAdapterNode = _interopRequireDefault(require("./core/RecorderAdapterNode"));
313
315
  var _StereoPannerNode = _interopRequireDefault(require("./core/StereoPannerNode"));
314
- var _AudioRecorder = _interopRequireDefault(require("./core/AudioRecorder"));
315
316
  var _StreamerNode = _interopRequireDefault(require("./core/StreamerNode"));
316
- var _ConstantSourceNode = _interopRequireDefault(require("./core/ConstantSourceNode"));
317
- var _system = _interopRequireDefault(require("./system"));
318
- var _ConvolverNode = _interopRequireDefault(require("./core/ConvolverNode"));
317
+ var _WorkletNode = _interopRequireDefault(require("./core/WorkletNode"));
318
+ var _WorkletProcessingNode = _interopRequireDefault(require("./core/WorkletProcessingNode"));
319
+ var _WorkletSourceNode = _interopRequireDefault(require("./core/WorkletSourceNode"));
319
320
  var _useSystemVolume = _interopRequireDefault(require("./hooks/useSystemVolume"));
320
- var _AudioDecoder = require("./core/AudioDecoder");
321
- var _AudioStretcher = _interopRequireDefault(require("./core/AudioStretcher"));
321
+ var _system = _interopRequireDefault(require("./system"));
322
322
  var _types = require("./types");
323
323
  var _types2 = require("./system/types");
324
324
  var _errors = require("./errors");
325
325
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
326
- /* eslint-disable no-var */
327
-
328
- /* eslint-disable no-var */
329
-
330
- if (global.createAudioContext == null || global.createOfflineAudioContext == null || global.createAudioRecorder == null || global.createAudioDecoder == null || global.createAudioStretcher == null || global.AudioEventEmitter == null) {
331
- if (!_specs.NativeAudioAPIModule) {
332
- throw new Error(`Failed to install react-native-audio-api: The native module could not be found.`);
333
- }
334
- _specs.NativeAudioAPIModule.install();
335
- }
336
326
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_specs","require","_WorkletNode","_interopRequireDefault","_WorkletSourceNode","_WorkletProcessingNode","_RecorderAdapterNode","_AudioBuffer","_AudioBufferSourceNode","_AudioBufferQueueSourceNode","_AudioContext","_OfflineAudioContext","_AudioDestinationNode","_AudioNode","_AnalyserNode","_AudioParam","_AudioScheduledSourceNode","_BaseAudioContext","_BiquadFilterNode","_GainNode","_OscillatorNode","_StereoPannerNode","_AudioRecorder","_StreamerNode","_ConstantSourceNode","_system","_ConvolverNode","_useSystemVolume","_AudioDecoder","_AudioStretcher","_types","_types2","_errors","e","__esModule","default","global","createAudioContext","createOfflineAudioContext","createAudioRecorder","createAudioDecoder","createAudioStretcher","AudioEventEmitter","NativeAudioAPIModule","Error","install"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAsDA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,sBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,oBAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,YAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,sBAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,2BAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,aAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,oBAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,qBAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,UAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,aAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,WAAA,GAAAZ,sBAAA,CAAAF,OAAA;AACA,IAAAe,yBAAA,GAAAb,sBAAA,CAAAF,OAAA;AACA,IAAAgB,iBAAA,GAAAd,sBAAA,CAAAF,OAAA;AACA,IAAAiB,iBAAA,GAAAf,sBAAA,CAAAF,OAAA;AACA,IAAAkB,SAAA,GAAAhB,sBAAA,CAAAF,OAAA;AACA,IAAAmB,eAAA,GAAAjB,sBAAA,CAAAF,OAAA;AACA,IAAAoB,iBAAA,GAAAlB,sBAAA,CAAAF,OAAA;AACA,IAAAqB,cAAA,GAAAnB,sBAAA,CAAAF,OAAA;AACA,IAAAsB,aAAA,GAAApB,sBAAA,CAAAF,OAAA;AACA,IAAAuB,mBAAA,GAAArB,sBAAA,CAAAF,OAAA;AACA,IAAAwB,OAAA,GAAAtB,sBAAA,CAAAF,OAAA;AACA,IAAAyB,cAAA,GAAAvB,sBAAA,CAAAF,OAAA;AACA,IAAA0B,gBAAA,GAAAxB,sBAAA,CAAAF,OAAA;AACA,IAAA2B,aAAA,GAAA3B,OAAA;AACA,IAAA4B,eAAA,GAAA1B,sBAAA,CAAAF,OAAA;AAEA,IAAA6B,MAAA,GAAA7B,OAAA;AAWA,IAAA8B,OAAA,GAAA9B,OAAA;AAUA,IAAA+B,OAAA,GAAA/B,OAAA;AAMkB,SAAAE,uBAAA8B,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAlGlB;;AAwBA;;AAEA,IACEG,MAAM,CAACC,kBAAkB,IAAI,IAAI,IACjCD,MAAM,CAACE,yBAAyB,IAAI,IAAI,IACxCF,MAAM,CAACG,mBAAmB,IAAI,IAAI,IAClCH,MAAM,CAACI,kBAAkB,IAAI,IAAI,IACjCJ,MAAM,CAACK,oBAAoB,IAAI,IAAI,IACnCL,MAAM,CAACM,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":[]}
1
+ {"version":3,"names":["require","_AnalyserNode","_interopRequireDefault","_AudioBuffer","_AudioBufferQueueSourceNode","_AudioBufferSourceNode","_AudioContext","_AudioDecoder","_AudioDestinationNode","_AudioNode","_AudioParam","_AudioRecorder","_AudioScheduledSourceNode","_AudioStretcher","_BaseAudioContext","_BiquadFilterNode","_ConstantSourceNode","_ConvolverNode","_GainNode","_OfflineAudioContext","_OscillatorNode","_RecorderAdapterNode","_StereoPannerNode","_StreamerNode","_WorkletNode","_WorkletProcessingNode","_WorkletSourceNode","_useSystemVolume","_system","_types","_types2","_errors","e","__esModule","default"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,OAAA;AAEA,IAAAC,aAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,2BAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,sBAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AACA,IAAAQ,qBAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,UAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,WAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,cAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,yBAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,eAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,iBAAA,GAAAZ,sBAAA,CAAAF,OAAA;AACA,IAAAe,iBAAA,GAAAb,sBAAA,CAAAF,OAAA;AACA,IAAAgB,mBAAA,GAAAd,sBAAA,CAAAF,OAAA;AACA,IAAAiB,cAAA,GAAAf,sBAAA,CAAAF,OAAA;AACA,IAAAkB,SAAA,GAAAhB,sBAAA,CAAAF,OAAA;AACA,IAAAmB,oBAAA,GAAAjB,sBAAA,CAAAF,OAAA;AACA,IAAAoB,eAAA,GAAAlB,sBAAA,CAAAF,OAAA;AACA,IAAAqB,oBAAA,GAAAnB,sBAAA,CAAAF,OAAA;AACA,IAAAsB,iBAAA,GAAApB,sBAAA,CAAAF,OAAA;AACA,IAAAuB,aAAA,GAAArB,sBAAA,CAAAF,OAAA;AACA,IAAAwB,YAAA,GAAAtB,sBAAA,CAAAF,OAAA;AACA,IAAAyB,sBAAA,GAAAvB,sBAAA,CAAAF,OAAA;AACA,IAAA0B,kBAAA,GAAAxB,sBAAA,CAAAF,OAAA;AACA,IAAA2B,gBAAA,GAAAzB,sBAAA,CAAAF,OAAA;AACA,IAAA4B,OAAA,GAAA1B,sBAAA,CAAAF,OAAA;AAEA,IAAA6B,MAAA,GAAA7B,OAAA;AAWA,IAAA8B,OAAA,GAAA9B,OAAA;AAUA,IAAA+B,OAAA,GAAA/B,OAAA;AAMkB,SAAAE,uBAAA8B,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -4,20 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _BaseAudioContext = _interopRequireDefault(require("./BaseAudioContext"));
8
- var _system = _interopRequireDefault(require("../system"));
7
+ var _AudioAPIModule = _interopRequireDefault(require("../AudioAPIModule"));
9
8
  var _errors = require("../errors");
10
- var _utils = require("../utils");
9
+ var _system = _interopRequireDefault(require("../system"));
10
+ var _BaseAudioContext = _interopRequireDefault(require("./BaseAudioContext"));
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  class AudioContext extends _BaseAudioContext.default {
13
13
  constructor(options) {
14
14
  if (options && options.sampleRate && (options.sampleRate < 8000 || options.sampleRate > 96000)) {
15
15
  throw new _errors.NotSupportedError(`The provided sampleRate is not supported: ${options.sampleRate}`);
16
16
  }
17
- let audioRuntime = null;
18
- if (_utils.isWorkletsVersionSupported) {
19
- audioRuntime = _utils.workletsModule.createWorkletRuntime('AudioWorkletRuntime');
20
- }
17
+ const audioRuntime = _AudioAPIModule.default.createAudioRuntime();
21
18
  super(global.createAudioContext(options?.sampleRate || _system.default.getDevicePreferredSampleRate(), options?.initSuspended || false, audioRuntime));
22
19
  }
23
20
  async close() {
@@ -1 +1 @@
1
- {"version":3,"names":["_BaseAudioContext","_interopRequireDefault","require","_system","_errors","_utils","e","__esModule","default","AudioContext","BaseAudioContext","constructor","options","sampleRate","NotSupportedError","audioRuntime","isWorkletsVersionSupported","workletsModule","createWorkletRuntime","global","createAudioContext","AudioManager","getDevicePreferredSampleRate","initSuspended","close","context","resume","suspend","exports"],"sourceRoot":"../../../src","sources":["core/AudioContext.ts"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAAsE,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEvD,MAAMG,YAAY,SAASC,yBAAgB,CAAC;EACzDC,WAAWA,CAACC,OAA6B,EAAE;IACzC,IACEA,OAAO,IACPA,OAAO,CAACC,UAAU,KACjBD,OAAO,CAACC,UAAU,GAAG,IAAI,IAAID,OAAO,CAACC,UAAU,GAAG,KAAK,CAAC,EACzD;MACA,MAAM,IAAIC,yBAAiB,CACzB,6CAA6CF,OAAO,CAACC,UAAU,EACjE,CAAC;IACH;IACA,IAAIE,YAAY,GAAG,IAAI;IAEvB,IAAIC,iCAA0B,EAAE;MAC9BD,YAAY,GAAGE,qBAAc,CAACC,oBAAoB,CAAC,qBAAqB,CAAC;IAC3E;IAEA,KAAK,CACHC,MAAM,CAACC,kBAAkB,CACvBR,OAAO,EAAEC,UAAU,IAAIQ,eAAY,CAACC,4BAA4B,CAAC,CAAC,EAClEV,OAAO,EAAEW,aAAa,IAAI,KAAK,EAC/BR,YACF,CACF,CAAC;EACH;EAEA,MAAMS,KAAKA,CAAA,EAAkB;IAC3B,OAAQ,IAAI,CAACC,OAAO,CAAmBD,KAAK,CAAC,CAAC;EAChD;EAEA,MAAME,MAAMA,CAAA,EAAqB;IAC/B,OAAQ,IAAI,CAACD,OAAO,CAAmBC,MAAM,CAAC,CAAC;EACjD;EAEA,MAAMC,OAAOA,CAAA,EAAqB;IAChC,OAAQ,IAAI,CAACF,OAAO,CAAmBE,OAAO,CAAC,CAAC;EAClD;AACF;AAACC,OAAA,CAAApB,OAAA,GAAAC,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["_AudioAPIModule","_interopRequireDefault","require","_errors","_system","_BaseAudioContext","e","__esModule","default","AudioContext","BaseAudioContext","constructor","options","sampleRate","NotSupportedError","audioRuntime","AudioAPIModule","createAudioRuntime","global","createAudioContext","AudioManager","getDevicePreferredSampleRate","initSuspended","close","context","resume","suspend","exports"],"sourceRoot":"../../../src","sources":["core/AudioContext.ts"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,iBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAkD,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnC,MAAMG,YAAY,SAASC,yBAAgB,CAAC;EACzDC,WAAWA,CAACC,OAA6B,EAAE;IACzC,IACEA,OAAO,IACPA,OAAO,CAACC,UAAU,KACjBD,OAAO,CAACC,UAAU,GAAG,IAAI,IAAID,OAAO,CAACC,UAAU,GAAG,KAAK,CAAC,EACzD;MACA,MAAM,IAAIC,yBAAiB,CACzB,6CAA6CF,OAAO,CAACC,UAAU,EACjE,CAAC;IACH;IAEA,MAAME,YAAY,GAAGC,uBAAc,CAACC,kBAAkB,CAAC,CAAC;IAExD,KAAK,CACHC,MAAM,CAACC,kBAAkB,CACvBP,OAAO,EAAEC,UAAU,IAAIO,eAAY,CAACC,4BAA4B,CAAC,CAAC,EAClET,OAAO,EAAEU,aAAa,IAAI,KAAK,EAC/BP,YACF,CACF,CAAC;EACH;EAEA,MAAMQ,KAAKA,CAAA,EAAkB;IAC3B,OAAQ,IAAI,CAACC,OAAO,CAAmBD,KAAK,CAAC,CAAC;EAChD;EAEA,MAAME,MAAMA,CAAA,EAAqB;IAC/B,OAAQ,IAAI,CAACD,OAAO,CAAmBC,MAAM,CAAC,CAAC;EACjD;EAEA,MAAMC,OAAOA,CAAA,EAAqB;IAChC,OAAQ,IAAI,CAACF,OAAO,CAAmBE,OAAO,CAAC,CAAC;EAClD;AACF;AAACC,OAAA,CAAAnB,OAAA,GAAAC,YAAA","ignoreList":[]}
@@ -4,18 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _AudioAPIModule = _interopRequireDefault(require("../AudioAPIModule"));
7
8
  var _errors = require("../errors");
8
9
  var _utils = require("../utils");
9
- var _WorkletSourceNode = _interopRequireDefault(require("./WorkletSourceNode"));
10
- var _WorkletProcessingNode = _interopRequireDefault(require("./WorkletProcessingNode"));
11
10
  var _AnalyserNode = _interopRequireDefault(require("./AnalyserNode"));
12
11
  var _AudioBuffer = _interopRequireDefault(require("./AudioBuffer"));
13
12
  var _AudioBufferQueueSourceNode = _interopRequireDefault(require("./AudioBufferQueueSourceNode"));
14
- var _ConvolverNode = _interopRequireDefault(require("./ConvolverNode"));
15
13
  var _AudioBufferSourceNode = _interopRequireDefault(require("./AudioBufferSourceNode"));
14
+ var _AudioDecoder = require("./AudioDecoder");
16
15
  var _AudioDestinationNode = _interopRequireDefault(require("./AudioDestinationNode"));
17
16
  var _BiquadFilterNode = _interopRequireDefault(require("./BiquadFilterNode"));
18
17
  var _ConstantSourceNode = _interopRequireDefault(require("./ConstantSourceNode"));
18
+ var _ConvolverNode = _interopRequireDefault(require("./ConvolverNode"));
19
19
  var _GainNode = _interopRequireDefault(require("./GainNode"));
20
20
  var _OscillatorNode = _interopRequireDefault(require("./OscillatorNode"));
21
21
  var _PeriodicWave = _interopRequireDefault(require("./PeriodicWave"));
@@ -23,7 +23,8 @@ var _RecorderAdapterNode = _interopRequireDefault(require("./RecorderAdapterNode
23
23
  var _StereoPannerNode = _interopRequireDefault(require("./StereoPannerNode"));
24
24
  var _StreamerNode = _interopRequireDefault(require("./StreamerNode"));
25
25
  var _WorkletNode = _interopRequireDefault(require("./WorkletNode"));
26
- var _AudioDecoder = require("./AudioDecoder");
26
+ var _WorkletProcessingNode = _interopRequireDefault(require("./WorkletProcessingNode"));
27
+ var _WorkletSourceNode = _interopRequireDefault(require("./WorkletSourceNode"));
27
28
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
28
29
  class BaseAudioContext {
29
30
  constructor(context) {
@@ -54,7 +55,7 @@ class BaseAudioContext {
54
55
  throw new _errors.NotSupportedError(`The buffer length provided (${bufferLength}) can not be less than 1`);
55
56
  }
56
57
  (0, _utils.assertWorkletsEnabled)();
57
- const shareableWorklet = _utils.workletsModule.makeShareableCloneRecursive((audioBuffers, channelCount) => {
58
+ const shareableWorklet = _AudioAPIModule.default.workletsModule.makeShareableCloneRecursive((audioBuffers, channelCount) => {
58
59
  'worklet';
59
60
 
60
61
  const floatAudioData = audioBuffers.map(buffer => new Float32Array(buffer));
@@ -64,7 +65,7 @@ class BaseAudioContext {
64
65
  }
65
66
  createWorkletProcessingNode(callback, workletRuntime = 'AudioRuntime') {
66
67
  (0, _utils.assertWorkletsEnabled)();
67
- const shareableWorklet = _utils.workletsModule.makeShareableCloneRecursive((inputBuffers, outputBuffers, framesToProcess, currentTime) => {
68
+ const shareableWorklet = _AudioAPIModule.default.workletsModule.makeShareableCloneRecursive((inputBuffers, outputBuffers, framesToProcess, currentTime) => {
68
69
  'worklet';
69
70
 
70
71
  const inputData = inputBuffers.map(buffer => new Float32Array(buffer, 0, framesToProcess));
@@ -75,7 +76,7 @@ class BaseAudioContext {
75
76
  }
76
77
  createWorkletSourceNode(callback, workletRuntime = 'AudioRuntime') {
77
78
  (0, _utils.assertWorkletsEnabled)();
78
- const shareableWorklet = _utils.workletsModule.makeShareableCloneRecursive((audioBuffers, framesToProcess, currentTime, startOffset) => {
79
+ const shareableWorklet = _AudioAPIModule.default.workletsModule.makeShareableCloneRecursive((audioBuffers, framesToProcess, currentTime, startOffset) => {
79
80
  'worklet';
80
81
 
81
82
  const floatAudioData = audioBuffers.map(buffer => new Float32Array(buffer));
@@ -1 +1 @@
1
- {"version":3,"names":["_errors","require","_utils","_WorkletSourceNode","_interopRequireDefault","_WorkletProcessingNode","_AnalyserNode","_AudioBuffer","_AudioBufferQueueSourceNode","_ConvolverNode","_AudioBufferSourceNode","_AudioDestinationNode","_BiquadFilterNode","_ConstantSourceNode","_GainNode","_OscillatorNode","_PeriodicWave","_RecorderAdapterNode","_StereoPannerNode","_StreamerNode","_WorkletNode","_AudioDecoder","e","__esModule","default","BaseAudioContext","constructor","context","destination","AudioDestinationNode","sampleRate","currentTime","state","decodeAudioData","input","ArrayBuffer","TypeError","decodePCMInBase64","base64String","inputSampleRate","inputChannelCount","isInterleaved","createWorkletNode","callback","bufferLength","workletRuntime","NotSupportedError","assertWorkletsEnabled","shareableWorklet","workletsModule","makeShareableCloneRecursive","audioBuffers","channelCount","floatAudioData","map","buffer","Float32Array","WorkletNode","createWorkletProcessingNode","inputBuffers","outputBuffers","framesToProcess","inputData","outputData","WorkletProcessingNode","createWorkletSourceNode","startOffset","WorkletSourceNode","createRecorderAdapter","RecorderAdapterNode","createOscillator","OscillatorNode","createStreamer","StreamerNode","createConstantSource","ConstantSourceNode","createGain","GainNode","createStereoPanner","StereoPannerNode","createBiquadFilter","BiquadFilterNode","createBufferSource","options","pitchCorrection","AudioBufferSourceNode","createBufferQueueSource","AudioBufferQueueSourceNode","createBuffer","numOfChannels","length","AudioBuffer","createPeriodicWave","real","imag","constraints","InvalidAccessError","disableNormalization","PeriodicWave","createAnalyser","AnalyserNode","createConvolver","numberOfChannels","ConvolverNode","exports"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_AudioAPIModule","_interopRequireDefault","require","_errors","_utils","_AnalyserNode","_AudioBuffer","_AudioBufferQueueSourceNode","_AudioBufferSourceNode","_AudioDecoder","_AudioDestinationNode","_BiquadFilterNode","_ConstantSourceNode","_ConvolverNode","_GainNode","_OscillatorNode","_PeriodicWave","_RecorderAdapterNode","_StereoPannerNode","_StreamerNode","_WorkletNode","_WorkletProcessingNode","_WorkletSourceNode","e","__esModule","default","BaseAudioContext","constructor","context","destination","AudioDestinationNode","sampleRate","currentTime","state","decodeAudioData","input","ArrayBuffer","TypeError","decodePCMInBase64","base64String","inputSampleRate","inputChannelCount","isInterleaved","createWorkletNode","callback","bufferLength","workletRuntime","NotSupportedError","assertWorkletsEnabled","shareableWorklet","AudioAPIModule","workletsModule","makeShareableCloneRecursive","audioBuffers","channelCount","floatAudioData","map","buffer","Float32Array","WorkletNode","createWorkletProcessingNode","inputBuffers","outputBuffers","framesToProcess","inputData","outputData","WorkletProcessingNode","createWorkletSourceNode","startOffset","WorkletSourceNode","createRecorderAdapter","RecorderAdapterNode","createOscillator","OscillatorNode","createStreamer","StreamerNode","createConstantSource","ConstantSourceNode","createGain","GainNode","createStereoPanner","StereoPannerNode","createBiquadFilter","BiquadFilterNode","createBufferSource","options","pitchCorrection","AudioBufferSourceNode","createBufferQueueSource","AudioBufferQueueSourceNode","createBuffer","numOfChannels","length","AudioBuffer","createPeriodicWave","real","imag","constraints","InvalidAccessError","disableNormalization","PeriodicWave","createAnalyser","AnalyserNode","createConvolver","numberOfChannels","ConvolverNode","exports"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}