react-native-audio-api 0.4.4 → 0.4.6
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/build.gradle +7 -0
- package/common/cpp/HostObjects/AudioBufferSourceNodeHostObject.h +18 -0
- package/common/cpp/HostObjects/AudioScheduledSourceNodeHostObject.h +2 -2
- package/common/cpp/HostObjects/BaseAudioContextHostObject.h +9 -13
- package/common/cpp/core/AudioBuffer.cpp +2 -2
- package/common/cpp/core/AudioBuffer.h +1 -1
- package/common/cpp/core/AudioBufferSourceNode.cpp +13 -0
- package/common/cpp/core/AudioBufferSourceNode.h +2 -3
- package/common/cpp/core/AudioContext.cpp +2 -2
- package/common/cpp/core/AudioNode.cpp +23 -31
- package/common/cpp/core/AudioNode.h +4 -3
- package/common/cpp/core/AudioNodeManager.cpp +14 -18
- package/common/cpp/core/AudioNodeManager.h +10 -5
- package/common/cpp/core/AudioScheduledSourceNode.cpp +4 -6
- package/common/cpp/core/AudioScheduledSourceNode.h +2 -2
- package/common/cpp/core/BaseAudioContext.cpp +18 -6
- package/common/cpp/jsi/JsiPromise.cpp +6 -3
- package/common/cpp/jsi/JsiPromise.h +7 -14
- package/lib/module/core/AudioBufferSourceNode.js +21 -0
- package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
- package/lib/module/core/AudioScheduledSourceNode.js +2 -2
- package/lib/module/core/AudioScheduledSourceNode.js.map +1 -1
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/core/AudioBufferSourceNode.d.ts +1 -0
- package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
- package/lib/typescript/core/AudioScheduledSourceNode.d.ts +1 -1
- package/lib/typescript/core/AudioScheduledSourceNode.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/interfaces.d.ts +3 -2
- package/lib/typescript/interfaces.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/AudioBufferSourceNode.ts +38 -0
- package/src/core/AudioScheduledSourceNode.ts +3 -3
- package/src/index.ts +8 -0
- package/src/interfaces.ts +4 -3
package/android/build.gradle
CHANGED
|
@@ -207,3 +207,10 @@ def assertMinimalReactNativeVersion = task assertMinimalReactNativeVersionTask {
|
|
|
207
207
|
tasks.preBuild {
|
|
208
208
|
dependsOn assertMinimalReactNativeVersion
|
|
209
209
|
}
|
|
210
|
+
|
|
211
|
+
task cleanCmakeCache() {
|
|
212
|
+
tasks.getByName("clean").dependsOn(cleanCmakeCache)
|
|
213
|
+
doFirst {
|
|
214
|
+
delete "${projectDir}/.cxx"
|
|
215
|
+
}
|
|
216
|
+
}
|
|
@@ -28,6 +28,12 @@ class AudioBufferSourceNodeHostObject
|
|
|
28
28
|
addSetters(
|
|
29
29
|
JSI_EXPORT_PROPERTY_SETTER(AudioBufferSourceNodeHostObject, loop),
|
|
30
30
|
JSI_EXPORT_PROPERTY_SETTER(AudioBufferSourceNodeHostObject, buffer));
|
|
31
|
+
|
|
32
|
+
// start method is overridden in this class
|
|
33
|
+
functions_->erase("start");
|
|
34
|
+
|
|
35
|
+
addFunctions(
|
|
36
|
+
JSI_EXPORT_FUNCTION(AudioBufferSourceNodeHostObject, start));
|
|
31
37
|
}
|
|
32
38
|
|
|
33
39
|
JSI_PROPERTY_GETTER(loop) {
|
|
@@ -111,6 +117,18 @@ class AudioBufferSourceNodeHostObject
|
|
|
111
117
|
std::static_pointer_cast<AudioBufferSourceNode>(node_);
|
|
112
118
|
audioBufferSourceNode->setLoopEnd(value.getNumber());
|
|
113
119
|
}
|
|
120
|
+
|
|
121
|
+
JSI_HOST_FUNCTION(start) {
|
|
122
|
+
auto when = args[0].getNumber();
|
|
123
|
+
auto offset = args[1].getNumber();
|
|
124
|
+
auto duration = args[2].getNumber();
|
|
125
|
+
|
|
126
|
+
auto audioBufferSourceNode =
|
|
127
|
+
std::static_pointer_cast<AudioBufferSourceNode>(node_);
|
|
128
|
+
audioBufferSourceNode->start(when, offset, duration);
|
|
129
|
+
|
|
130
|
+
return jsi::Value::undefined();
|
|
131
|
+
}
|
|
114
132
|
};
|
|
115
133
|
|
|
116
134
|
} // namespace audioapi
|
|
@@ -20,10 +20,10 @@ class AudioScheduledSourceNodeHostObject : public AudioNodeHostObject {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
JSI_HOST_FUNCTION(start) {
|
|
23
|
-
auto
|
|
23
|
+
auto when = args[0].getNumber();
|
|
24
24
|
auto audioScheduleSourceNode =
|
|
25
25
|
std::static_pointer_cast<AudioScheduledSourceNode>(node_);
|
|
26
|
-
audioScheduleSourceNode->start(
|
|
26
|
+
audioScheduleSourceNode->start(when);
|
|
27
27
|
return jsi::Value::undefined();
|
|
28
28
|
}
|
|
29
29
|
|
|
@@ -143,20 +143,16 @@ class BaseAudioContextHostObject : public JsiHostObject {
|
|
|
143
143
|
JSI_HOST_FUNCTION(decodeAudioDataSource) {
|
|
144
144
|
auto sourcePath = args[0].getString(runtime).utf8(runtime);
|
|
145
145
|
|
|
146
|
-
auto promise = promiseVendor_->createPromise(
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
auto audioBufferHostObject =
|
|
154
|
-
std::make_shared<AudioBufferHostObject>(results);
|
|
155
|
-
|
|
156
|
-
promise->resolve(jsi::Object::createFromHostObject(
|
|
157
|
-
runtime, audioBufferHostObject));
|
|
158
|
-
}).detach();
|
|
146
|
+
auto promise = promiseVendor_->createPromise([this, sourcePath](std::shared_ptr<Promise> promise) {
|
|
147
|
+
std::thread([this, sourcePath, promise = std::move(promise)]() {
|
|
148
|
+
auto results = context_->decodeAudioDataSource(sourcePath);
|
|
149
|
+
auto audioBufferHostObject = std::make_shared<AudioBufferHostObject>(results);
|
|
150
|
+
|
|
151
|
+
promise->resolve([audioBufferHostObject = std::move(audioBufferHostObject)](jsi::Runtime &runtime) {
|
|
152
|
+
return jsi::Object::createFromHostObject(runtime, audioBufferHostObject);
|
|
159
153
|
});
|
|
154
|
+
}).detach();
|
|
155
|
+
});
|
|
160
156
|
|
|
161
157
|
return promise;
|
|
162
158
|
}
|
|
@@ -27,8 +27,8 @@ float AudioBuffer::getSampleRate() const {
|
|
|
27
27
|
return bus_->getSampleRate();
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
return static_cast<
|
|
30
|
+
double AudioBuffer::getDuration() const {
|
|
31
|
+
return static_cast<double>(getLength()) / getSampleRate();
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
float *AudioBuffer::getChannelData(int channel) const {
|
|
@@ -17,7 +17,7 @@ class AudioBuffer : public std::enable_shared_from_this<AudioBuffer> {
|
|
|
17
17
|
|
|
18
18
|
[[nodiscard]] size_t getLength() const;
|
|
19
19
|
[[nodiscard]] float getSampleRate() const;
|
|
20
|
-
[[nodiscard]]
|
|
20
|
+
[[nodiscard]] double getDuration() const;
|
|
21
21
|
|
|
22
22
|
[[nodiscard]] int getNumberOfChannels() const;
|
|
23
23
|
[[nodiscard]] float *getChannelData(int channel) const;
|
|
@@ -80,6 +80,19 @@ void AudioBufferSourceNode::setBuffer(
|
|
|
80
80
|
alignedBus_->sum(buffer_->bus_.get());
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
+
void AudioBufferSourceNode::start(double when, double offset, double duration) {
|
|
84
|
+
AudioScheduledSourceNode::start(when);
|
|
85
|
+
|
|
86
|
+
offset = std::min(offset, buffer_->getDuration());
|
|
87
|
+
if (loop_) {
|
|
88
|
+
offset = std::min(offset, loopEnd_);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
vReadIndex_ = static_cast<double>(buffer_->getSampleRate() * offset);
|
|
92
|
+
|
|
93
|
+
AudioScheduledSourceNode::stop(when + duration);
|
|
94
|
+
}
|
|
95
|
+
|
|
83
96
|
void AudioBufferSourceNode::processNode(
|
|
84
97
|
AudioBus *processingBus,
|
|
85
98
|
int framesToProcess) {
|
|
@@ -18,18 +18,17 @@ class AudioBufferSourceNode : public AudioScheduledSourceNode {
|
|
|
18
18
|
[[nodiscard]] bool getLoop() const;
|
|
19
19
|
[[nodiscard]] double getLoopStart() const;
|
|
20
20
|
[[nodiscard]] double getLoopEnd() const;
|
|
21
|
-
|
|
22
21
|
[[nodiscard]] std::shared_ptr<AudioParam> getDetuneParam() const;
|
|
23
22
|
[[nodiscard]] std::shared_ptr<AudioParam> getPlaybackRateParam() const;
|
|
24
|
-
|
|
25
23
|
[[nodiscard]] std::shared_ptr<AudioBuffer> getBuffer() const;
|
|
26
24
|
|
|
27
25
|
void setLoop(bool loop);
|
|
28
26
|
void setLoopStart(double loopStart);
|
|
29
27
|
void setLoopEnd(double loopEnd);
|
|
30
|
-
|
|
31
28
|
void setBuffer(const std::shared_ptr<AudioBuffer> &buffer);
|
|
32
29
|
|
|
30
|
+
void start(double when, double offset, double duration);
|
|
31
|
+
|
|
33
32
|
protected:
|
|
34
33
|
void processNode(AudioBus *processingBus, int framesToProcess) override;
|
|
35
34
|
|
|
@@ -35,7 +35,7 @@ AudioContext::AudioContext(float sampleRate) : BaseAudioContext() {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
AudioContext::~AudioContext() {
|
|
38
|
-
if (
|
|
38
|
+
if (isClosed()) {
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -48,7 +48,7 @@ void AudioContext::close() {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
std::function<void(AudioBus *, int)> AudioContext::renderAudio() {
|
|
51
|
-
if (!isRunning()) {
|
|
51
|
+
if (!isRunning() || !destination_) {
|
|
52
52
|
return [](AudioBus *, int) {};
|
|
53
53
|
}
|
|
54
54
|
|
|
@@ -13,7 +13,6 @@ AudioNode::AudioNode(BaseAudioContext *context) : context_(context) {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
AudioNode::~AudioNode() {
|
|
16
|
-
isInitialized_ = false;
|
|
17
16
|
cleanup();
|
|
18
17
|
}
|
|
19
18
|
|
|
@@ -42,14 +41,9 @@ void AudioNode::connect(const std::shared_ptr<AudioNode> &node) {
|
|
|
42
41
|
shared_from_this(), node, AudioNodeManager::ConnectionType::CONNECT);
|
|
43
42
|
}
|
|
44
43
|
|
|
45
|
-
void AudioNode::connectNode(const std::shared_ptr<AudioNode> &node) {
|
|
46
|
-
outputNodes_.push_back(node);
|
|
47
|
-
node->onInputConnected(this);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
44
|
void AudioNode::disconnect() {
|
|
51
45
|
for (auto &outputNode : outputNodes_) {
|
|
52
|
-
|
|
46
|
+
disconnect(outputNode);
|
|
53
47
|
}
|
|
54
48
|
}
|
|
55
49
|
|
|
@@ -58,16 +52,6 @@ void AudioNode::disconnect(const std::shared_ptr<AudioNode> &node) {
|
|
|
58
52
|
shared_from_this(), node, AudioNodeManager::ConnectionType::DISCONNECT);
|
|
59
53
|
}
|
|
60
54
|
|
|
61
|
-
void AudioNode::disconnectNode(const std::shared_ptr<AudioNode> &node) {
|
|
62
|
-
node->onInputDisconnected(this);
|
|
63
|
-
|
|
64
|
-
auto position = std::find(outputNodes_.begin(), outputNodes_.end(), node);
|
|
65
|
-
|
|
66
|
-
if (position != outputNodes_.end()) {
|
|
67
|
-
outputNodes_.erase(position);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
55
|
bool AudioNode::isEnabled() const {
|
|
72
56
|
return isEnabled_;
|
|
73
57
|
}
|
|
@@ -186,10 +170,30 @@ AudioBus *AudioNode::processAudio(AudioBus *outputBus, int framesToProcess) {
|
|
|
186
170
|
}
|
|
187
171
|
|
|
188
172
|
void AudioNode::cleanup() {
|
|
173
|
+
isInitialized_ = false;
|
|
174
|
+
|
|
175
|
+
for (const auto &outputNode : outputNodes_) {
|
|
176
|
+
outputNode->onInputDisconnected(this);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
for (const auto &inputNode : inputNodes_) {
|
|
180
|
+
inputNode->disconnectNode(shared_from_this());
|
|
181
|
+
}
|
|
182
|
+
|
|
189
183
|
outputNodes_.clear();
|
|
190
184
|
inputNodes_.clear();
|
|
191
185
|
}
|
|
192
186
|
|
|
187
|
+
void AudioNode::connectNode(const std::shared_ptr<AudioNode> &node) {
|
|
188
|
+
outputNodes_.insert(node);
|
|
189
|
+
node->onInputConnected(this);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
void AudioNode::disconnectNode(const std::shared_ptr<AudioNode> &node) {
|
|
193
|
+
outputNodes_.erase(node);
|
|
194
|
+
node->onInputDisconnected(this);
|
|
195
|
+
}
|
|
196
|
+
|
|
193
197
|
void AudioNode::onInputEnabled() {
|
|
194
198
|
numberOfEnabledInputNodes_ += 1;
|
|
195
199
|
|
|
@@ -211,7 +215,7 @@ void AudioNode::onInputConnected(AudioNode *node) {
|
|
|
211
215
|
return;
|
|
212
216
|
}
|
|
213
217
|
|
|
214
|
-
inputNodes_.
|
|
218
|
+
inputNodes_.insert(node);
|
|
215
219
|
|
|
216
220
|
if (node->isEnabled()) {
|
|
217
221
|
onInputEnabled();
|
|
@@ -223,23 +227,11 @@ void AudioNode::onInputDisconnected(AudioNode *node) {
|
|
|
223
227
|
return;
|
|
224
228
|
}
|
|
225
229
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
if (position != inputNodes_.end()) {
|
|
229
|
-
inputNodes_.erase(position);
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
if (!inputNodes_.empty()) {
|
|
233
|
-
return;
|
|
234
|
-
}
|
|
230
|
+
inputNodes_.erase(node);
|
|
235
231
|
|
|
236
232
|
if (isEnabled()) {
|
|
237
233
|
node->onInputDisabled();
|
|
238
234
|
}
|
|
239
|
-
|
|
240
|
-
for (const auto &outputNode : outputNodes_) {
|
|
241
|
-
disconnectNode(outputNode);
|
|
242
|
-
}
|
|
243
235
|
}
|
|
244
236
|
|
|
245
237
|
} // namespace audioapi
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
#include <memory>
|
|
4
4
|
#include <string>
|
|
5
|
-
#include <
|
|
5
|
+
#include <unordered_set>
|
|
6
6
|
#include <cstddef>
|
|
7
7
|
|
|
8
8
|
#include "ChannelCountMode.h"
|
|
@@ -18,6 +18,7 @@ class AudioNode : public std::enable_shared_from_this<AudioNode> {
|
|
|
18
18
|
public:
|
|
19
19
|
explicit AudioNode(BaseAudioContext *context);
|
|
20
20
|
virtual ~AudioNode();
|
|
21
|
+
|
|
21
22
|
int getNumberOfInputs() const;
|
|
22
23
|
int getNumberOfOutputs() const;
|
|
23
24
|
int getChannelCount() const;
|
|
@@ -45,8 +46,8 @@ class AudioNode : public std::enable_shared_from_this<AudioNode> {
|
|
|
45
46
|
ChannelInterpretation channelInterpretation_ =
|
|
46
47
|
ChannelInterpretation::SPEAKERS;
|
|
47
48
|
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
std::unordered_set<AudioNode *> inputNodes_ = {};
|
|
50
|
+
std::unordered_set<std::shared_ptr<AudioNode>> outputNodes_ = {};
|
|
50
51
|
|
|
51
52
|
int numberOfEnabledInputNodes_ = 0;
|
|
52
53
|
bool isInitialized_ = false;
|
|
@@ -7,7 +7,6 @@ namespace audioapi {
|
|
|
7
7
|
|
|
8
8
|
AudioNodeManager::~AudioNodeManager() {
|
|
9
9
|
audioNodesToConnect_.clear();
|
|
10
|
-
sourceNodes_.clear();
|
|
11
10
|
}
|
|
12
11
|
|
|
13
12
|
void AudioNodeManager::addPendingConnection(
|
|
@@ -19,31 +18,33 @@ void AudioNodeManager::addPendingConnection(
|
|
|
19
18
|
audioNodesToConnect_.emplace_back(from, to, type);
|
|
20
19
|
}
|
|
21
20
|
|
|
22
|
-
void AudioNodeManager::addSourceNode(const std::shared_ptr<AudioNode> &node) {
|
|
23
|
-
Locker lock(getGraphLock());
|
|
24
|
-
|
|
25
|
-
sourceNodes_.push_back(node);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
21
|
void AudioNodeManager::preProcessGraph() {
|
|
29
22
|
if (!Locker::tryLock(getGraphLock())) {
|
|
30
23
|
return;
|
|
31
24
|
}
|
|
32
25
|
|
|
33
26
|
settlePendingConnections();
|
|
34
|
-
|
|
27
|
+
prepareNodesForDestruction();
|
|
35
28
|
}
|
|
36
29
|
|
|
37
30
|
std::mutex &AudioNodeManager::getGraphLock() {
|
|
38
31
|
return graphLock_;
|
|
39
32
|
}
|
|
40
33
|
|
|
34
|
+
void AudioNodeManager::addNode(const std::shared_ptr<AudioNode> &node) {
|
|
35
|
+
Locker lock(getGraphLock());
|
|
36
|
+
|
|
37
|
+
nodes_.insert(node);
|
|
38
|
+
}
|
|
39
|
+
|
|
41
40
|
void AudioNodeManager::settlePendingConnections() {
|
|
42
41
|
for (auto &connection : audioNodesToConnect_) {
|
|
43
42
|
std::shared_ptr<AudioNode> from = std::get<0>(connection);
|
|
44
43
|
std::shared_ptr<AudioNode> to = std::get<1>(connection);
|
|
45
44
|
ConnectionType type = std::get<2>(connection);
|
|
46
45
|
|
|
46
|
+
// add assert to check if from and to are neither null nor uninitialized
|
|
47
|
+
|
|
47
48
|
if (type == ConnectionType::CONNECT) {
|
|
48
49
|
from->connectNode(to);
|
|
49
50
|
} else {
|
|
@@ -54,16 +55,11 @@ void AudioNodeManager::settlePendingConnections() {
|
|
|
54
55
|
audioNodesToConnect_.clear();
|
|
55
56
|
}
|
|
56
57
|
|
|
57
|
-
void AudioNodeManager::
|
|
58
|
-
for (auto it =
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
for (auto &outputNode : currentNode->outputNodes_) {
|
|
63
|
-
currentNode->disconnectNode(outputNode);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
it = sourceNodes_.erase(it);
|
|
58
|
+
void AudioNodeManager::prepareNodesForDestruction() {
|
|
59
|
+
for (auto it = nodes_.begin(); it != nodes_.end();) {
|
|
60
|
+
if (it->use_count() == 1) {
|
|
61
|
+
it->get()->cleanup();
|
|
62
|
+
it = nodes_.erase(it);
|
|
67
63
|
} else {
|
|
68
64
|
++it;
|
|
69
65
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
#include <mutex>
|
|
5
5
|
#include <tuple>
|
|
6
6
|
#include <vector>
|
|
7
|
+
#include <unordered_set>
|
|
7
8
|
|
|
8
9
|
namespace audioapi {
|
|
9
10
|
|
|
@@ -15,20 +16,24 @@ class AudioNodeManager {
|
|
|
15
16
|
AudioNodeManager() = default;
|
|
16
17
|
~AudioNodeManager();
|
|
17
18
|
|
|
19
|
+
std::mutex &getGraphLock();
|
|
20
|
+
|
|
18
21
|
void preProcessGraph();
|
|
22
|
+
|
|
19
23
|
void addPendingConnection(
|
|
20
24
|
const std::shared_ptr<AudioNode> &from,
|
|
21
25
|
const std::shared_ptr<AudioNode> &to,
|
|
22
26
|
ConnectionType type);
|
|
23
27
|
|
|
24
|
-
void
|
|
25
|
-
|
|
26
|
-
std::mutex &getGraphLock();
|
|
28
|
+
void addNode(const std::shared_ptr<AudioNode> &node);
|
|
27
29
|
|
|
28
30
|
private:
|
|
29
31
|
std::mutex graphLock_;
|
|
30
32
|
|
|
31
|
-
|
|
33
|
+
// all nodes created in the context
|
|
34
|
+
std::unordered_set<std::shared_ptr<AudioNode>> nodes_;
|
|
35
|
+
|
|
36
|
+
// connections to be settled
|
|
32
37
|
std::vector<std::tuple<
|
|
33
38
|
std::shared_ptr<AudioNode>,
|
|
34
39
|
std::shared_ptr<AudioNode>,
|
|
@@ -36,7 +41,7 @@ class AudioNodeManager {
|
|
|
36
41
|
audioNodesToConnect_;
|
|
37
42
|
|
|
38
43
|
void settlePendingConnections();
|
|
39
|
-
void
|
|
44
|
+
void prepareNodesForDestruction();
|
|
40
45
|
};
|
|
41
46
|
|
|
42
47
|
} // namespace audioapi
|
|
@@ -15,15 +15,13 @@ AudioScheduledSourceNode::AudioScheduledSourceNode(BaseAudioContext *context)
|
|
|
15
15
|
numberOfInputs_ = 0;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
void AudioScheduledSourceNode::start(double
|
|
18
|
+
void AudioScheduledSourceNode::start(double when) {
|
|
19
19
|
playbackState_ = PlaybackState::SCHEDULED;
|
|
20
|
-
startTime_ =
|
|
21
|
-
|
|
22
|
-
context_->getNodeManager()->addSourceNode(shared_from_this());
|
|
20
|
+
startTime_ = when;
|
|
23
21
|
}
|
|
24
22
|
|
|
25
|
-
void AudioScheduledSourceNode::stop(double
|
|
26
|
-
stopTime_ =
|
|
23
|
+
void AudioScheduledSourceNode::stop(double when) {
|
|
24
|
+
stopTime_ = when;
|
|
27
25
|
}
|
|
28
26
|
|
|
29
27
|
bool AudioScheduledSourceNode::isUnscheduled() {
|
|
@@ -19,8 +19,8 @@ class AudioScheduledSourceNode : public AudioNode {
|
|
|
19
19
|
enum class PlaybackState { UNSCHEDULED, SCHEDULED, PLAYING, FINISHED };
|
|
20
20
|
explicit AudioScheduledSourceNode(BaseAudioContext *context);
|
|
21
21
|
|
|
22
|
-
void start(double
|
|
23
|
-
void stop(double
|
|
22
|
+
void start(double when);
|
|
23
|
+
void stop(double when);
|
|
24
24
|
|
|
25
25
|
bool isUnscheduled();
|
|
26
26
|
bool isScheduled();
|
|
@@ -42,23 +42,33 @@ std::shared_ptr<AudioDestinationNode> BaseAudioContext::getDestination() {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
std::shared_ptr<OscillatorNode> BaseAudioContext::createOscillator() {
|
|
45
|
-
|
|
45
|
+
auto oscillator = std::make_shared<OscillatorNode>(this);
|
|
46
|
+
nodeManager_->addNode(oscillator);
|
|
47
|
+
return oscillator;
|
|
46
48
|
}
|
|
47
49
|
|
|
48
50
|
std::shared_ptr<GainNode> BaseAudioContext::createGain() {
|
|
49
|
-
|
|
51
|
+
auto gain = std::make_shared<GainNode>(this);
|
|
52
|
+
nodeManager_->addNode(gain);
|
|
53
|
+
return gain;
|
|
50
54
|
}
|
|
51
55
|
|
|
52
56
|
std::shared_ptr<StereoPannerNode> BaseAudioContext::createStereoPanner() {
|
|
53
|
-
|
|
57
|
+
auto stereoPanner = std::make_shared<StereoPannerNode>(this);
|
|
58
|
+
nodeManager_->addNode(stereoPanner);
|
|
59
|
+
return stereoPanner;
|
|
54
60
|
}
|
|
55
61
|
|
|
56
62
|
std::shared_ptr<BiquadFilterNode> BaseAudioContext::createBiquadFilter() {
|
|
57
|
-
|
|
63
|
+
auto biquadFilter = std::make_shared<BiquadFilterNode>(this);
|
|
64
|
+
nodeManager_->addNode(biquadFilter);
|
|
65
|
+
return biquadFilter;
|
|
58
66
|
}
|
|
59
67
|
|
|
60
68
|
std::shared_ptr<AudioBufferSourceNode> BaseAudioContext::createBufferSource() {
|
|
61
|
-
|
|
69
|
+
auto bufferSource = std::make_shared<AudioBufferSourceNode>(this);
|
|
70
|
+
nodeManager_->addNode(bufferSource);
|
|
71
|
+
return bufferSource;
|
|
62
72
|
}
|
|
63
73
|
|
|
64
74
|
std::shared_ptr<AudioBuffer> BaseAudioContext::createBuffer(
|
|
@@ -78,7 +88,9 @@ std::shared_ptr<PeriodicWave> BaseAudioContext::createPeriodicWave(
|
|
|
78
88
|
}
|
|
79
89
|
|
|
80
90
|
std::shared_ptr<AnalyserNode> BaseAudioContext::createAnalyser() {
|
|
81
|
-
|
|
91
|
+
auto analyser = std::make_shared<AnalyserNode>(this);
|
|
92
|
+
nodeManager_->addNode(analyser);
|
|
93
|
+
return analyser;
|
|
82
94
|
}
|
|
83
95
|
|
|
84
96
|
std::shared_ptr<AudioBuffer> BaseAudioContext::decodeAudioDataSource(
|
|
@@ -36,9 +36,12 @@ jsi::Value PromiseVendor::createPromise(
|
|
|
36
36
|
auto reject = std::make_shared<jsi::Function>(std::move(rejectLocal));
|
|
37
37
|
|
|
38
38
|
auto resolveWrapper =
|
|
39
|
-
[resolve, &runtime, callInvoker](
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
[resolve, &runtime, callInvoker](
|
|
40
|
+
const std::function<jsi::Value(jsi::Runtime &)> resolver)
|
|
41
|
+
-> void {
|
|
42
|
+
callInvoker->invokeAsync([resolve, &runtime, resolver]() -> void {
|
|
43
|
+
auto valueShared = std::make_shared<jsi::Value>(resolver(runtime));
|
|
44
|
+
|
|
42
45
|
resolve->call(runtime, *valueShared);
|
|
43
46
|
});
|
|
44
47
|
};
|
|
@@ -13,33 +13,26 @@ using namespace facebook;
|
|
|
13
13
|
|
|
14
14
|
class Promise {
|
|
15
15
|
public:
|
|
16
|
-
Promise(
|
|
17
|
-
std::function<void(jsi::Value)> resolve,
|
|
18
|
-
std::function<void(const std::string &)> reject)
|
|
19
|
-
: resolve_(std::move(resolve)), reject_(std::move(reject)) {}
|
|
16
|
+
Promise(std::function<void(const std::function<jsi::Value(jsi::Runtime&)>)> resolve, std::function<void(const std::string &)> reject) : resolve_(std::move(resolve)), reject_(std::move(reject)) {}
|
|
20
17
|
|
|
21
|
-
void resolve(jsi::Value
|
|
22
|
-
resolve_(std::forward<jsi::Value
|
|
18
|
+
void resolve(const std::function<jsi::Value(jsi::Runtime&)> &resolver) {
|
|
19
|
+
resolve_(std::forward<const std::function<jsi::Value(jsi::Runtime&)>>(resolver));
|
|
23
20
|
}
|
|
21
|
+
|
|
24
22
|
void reject(const std::string &errorMessage) {
|
|
25
23
|
reject_(errorMessage);
|
|
26
24
|
}
|
|
27
25
|
|
|
28
26
|
private:
|
|
29
|
-
std::function<void(jsi::Value)> resolve_;
|
|
27
|
+
std::function<void(const std::function<jsi::Value(jsi::Runtime&)>)> resolve_;
|
|
30
28
|
std::function<void(const std::string &)> reject_;
|
|
31
29
|
};
|
|
32
30
|
|
|
33
31
|
class PromiseVendor {
|
|
34
32
|
public:
|
|
35
|
-
PromiseVendor(
|
|
36
|
-
jsi::Runtime *runtime,
|
|
37
|
-
const std::shared_ptr<react::CallInvoker> &callInvoker)
|
|
38
|
-
: runtime_(runtime), callInvoker_(callInvoker) {}
|
|
33
|
+
PromiseVendor(jsi::Runtime *runtime, const std::shared_ptr<react::CallInvoker> &callInvoker): runtime_(runtime), callInvoker_(callInvoker) {}
|
|
39
34
|
|
|
40
|
-
|
|
41
|
-
jsi::Value createPromise(
|
|
42
|
-
const std::function<void(std::shared_ptr<Promise>)> &function);
|
|
35
|
+
jsi::Value createPromise(const std::function<void(std::shared_ptr<Promise>)> &function);
|
|
43
36
|
|
|
44
37
|
private:
|
|
45
38
|
jsi::Runtime *runtime_;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import AudioScheduledSourceNode from "./AudioScheduledSourceNode.js";
|
|
4
4
|
import AudioBuffer from "./AudioBuffer.js";
|
|
5
5
|
import AudioParam from "./AudioParam.js";
|
|
6
|
+
import { InvalidStateError, RangeError } from "../errors/index.js";
|
|
6
7
|
export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
7
8
|
constructor(context, node) {
|
|
8
9
|
super(context, node);
|
|
@@ -41,5 +42,25 @@ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
|
41
42
|
set loopEnd(value) {
|
|
42
43
|
this.node.loopEnd = value;
|
|
43
44
|
}
|
|
45
|
+
start(when = 0, offset = 0, duration) {
|
|
46
|
+
if (when < 0) {
|
|
47
|
+
throw new RangeError(`when must be a finite non-negative number: ${when}`);
|
|
48
|
+
}
|
|
49
|
+
if (offset < 0) {
|
|
50
|
+
throw new RangeError(`offset must be a finite non-negative number: ${when}`);
|
|
51
|
+
}
|
|
52
|
+
if (duration && duration < 0) {
|
|
53
|
+
throw new RangeError(`duration must be a finite non-negative number: ${when}`);
|
|
54
|
+
}
|
|
55
|
+
if (this.hasBeenStarted) {
|
|
56
|
+
throw new InvalidStateError('Cannot call start more than once');
|
|
57
|
+
}
|
|
58
|
+
this.hasBeenStarted = true;
|
|
59
|
+
if (duration) {
|
|
60
|
+
this.node.start(when, offset, duration);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
this.node.start(when, offset, this.buffer.duration);
|
|
64
|
+
}
|
|
44
65
|
}
|
|
45
66
|
//# sourceMappingURL=AudioBufferSourceNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioScheduledSourceNode","AudioBuffer","AudioParam","AudioBufferSourceNode","constructor","context","node","detune","playbackRate","buffer","loop","value","loopStart","loopEnd"],"sourceRoot":"../../../src","sources":["core/AudioBufferSourceNode.ts"],"mappings":";;AACA,OAAOA,wBAAwB,MAAM,+BAA4B;AAEjE,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,UAAU,MAAM,iBAAc;
|
|
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;IACzC,IAAI,CAACC,YAAY,GAAG,IAAIR,UAAU,CAACM,IAAI,CAACE,YAAY,CAAC;EACvD;EAEA,IAAWC,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,gDAAgDa,IAAI,EACtD,CAAC;IACH;IAEA,IAAIE,QAAQ,IAAIA,QAAQ,GAAG,CAAC,EAAE;MAC5B,MAAM,IAAIf,UAAU,CAClB,kDAAkDa,IAAI,EACxD,CAAC;IACH;IAEA,IAAI,IAAI,CAACG,cAAc,EAAE;MACvB,MAAM,IAAIjB,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACiB,cAAc,GAAG,IAAI;IAE1B,IAAID,QAAQ,EAAE;MACX,IAAI,CAACX,IAAI,CAA4BQ,KAAK,CAACC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,CAAC;MACnE;IACF;IAEC,IAAI,CAACX,IAAI,CAA4BQ,KAAK,CACzCC,IAAI,EACJC,MAAM,EACN,IAAI,CAACP,MAAM,CAAEQ,QACf,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ export default class AudioScheduledSourceNode extends AudioNode {
|
|
|
6
6
|
hasBeenStarted = false;
|
|
7
7
|
start(when = 0) {
|
|
8
8
|
if (when < 0) {
|
|
9
|
-
throw new RangeError(`
|
|
9
|
+
throw new RangeError(`when must be a finite non-negative number: ${when}`);
|
|
10
10
|
}
|
|
11
11
|
if (this.hasBeenStarted) {
|
|
12
12
|
throw new InvalidStateError('Cannot call start more than once');
|
|
@@ -16,7 +16,7 @@ export default class AudioScheduledSourceNode extends AudioNode {
|
|
|
16
16
|
}
|
|
17
17
|
stop(when = 0) {
|
|
18
18
|
if (when < 0) {
|
|
19
|
-
throw new RangeError(`
|
|
19
|
+
throw new RangeError(`when must be a finite non-negative number: ${when}`);
|
|
20
20
|
}
|
|
21
21
|
if (!this.hasBeenStarted) {
|
|
22
22
|
throw new InvalidStateError('Cannot call stop without calling start first');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","InvalidStateError","RangeError","AudioScheduledSourceNode","hasBeenStarted","start","when","node","stop"],"sourceRoot":"../../../src","sources":["core/AudioScheduledSourceNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,oBAAW;AAEzD,eAAe,MAAMC,wBAAwB,SAASH,SAAS,CAAC;
|
|
1
|
+
{"version":3,"names":["AudioNode","InvalidStateError","RangeError","AudioScheduledSourceNode","hasBeenStarted","start","when","node","stop"],"sourceRoot":"../../../src","sources":["core/AudioScheduledSourceNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,oBAAW;AAEzD,eAAe,MAAMC,wBAAwB,SAASH,SAAS,CAAC;EACpDI,cAAc,GAAY,KAAK;EAElCC,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAQ;IACnC,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIJ,UAAU,CAClB,8CAA8CI,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,IAAI,CAACF,cAAc,EAAE;MACvB,MAAM,IAAIH,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACG,cAAc,GAAG,IAAI;IACzB,IAAI,CAACG,IAAI,CAA+BF,KAAK,CAACC,IAAI,CAAC;EACtD;EAEOE,IAAIA,CAACF,IAAY,GAAG,CAAC,EAAQ;IAClC,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIJ,UAAU,CAClB,8CAA8CI,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE;MACxB,MAAM,IAAIH,iBAAiB,CACzB,8CACF,CAAC;IACH;IAEC,IAAI,CAACM,IAAI,CAA+BC,IAAI,CAACF,IAAI,CAAC;EACrD;AACF","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -149,6 +149,9 @@ export class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
|
149
149
|
set loopEnd(value) {
|
|
150
150
|
this.node.loopEnd = value;
|
|
151
151
|
}
|
|
152
|
+
start(when, offset, duration) {
|
|
153
|
+
this.node.start(when, offset, duration);
|
|
154
|
+
}
|
|
152
155
|
}
|
|
153
156
|
export class AudioDestinationNode extends AudioNode {}
|
|
154
157
|
export class AudioParam {
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","Error","Array","from","copyFromChannel","destination","channelNumber","startInChannel","Float32Array","copyToChannel","source","AudioNode","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","disconnect","undefined","AnalyserNode","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","window","value","console","log","getByteFrequencyData","array","Uint8Array","getByteTimeDomainData","getFloatFrequencyData","getFloatTimeDomainData","AudioScheduledSourceNode","hasBeenStarted","start","when","RangeError","stop","AudioBufferSourceNode","detune","AudioParam","playbackRate","loop","loopStart","loopEnd","AudioDestinationNode","param","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","cancelScheduledValues","cancelAndHoldAtTime","cancelTime","BiquadFilterNode","biquadFilter","frequency","Q","gain","type","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","PeriodicWave","periodicWave","OscillatorNode","setPeriodicWave","wave","GainNode","StereoPannerNode","pan","AudioContext","_sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","createPeriodicWave","real","imag","constraints","createAnalyser","decodeAudioDataSource","arrayBuffer","fetch","then","response","decodeAudioData","close","ContextState","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","Error","Array","from","copyFromChannel","destination","channelNumber","startInChannel","Float32Array","copyToChannel","source","AudioNode","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","disconnect","undefined","AnalyserNode","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","window","value","console","log","getByteFrequencyData","array","Uint8Array","getByteTimeDomainData","getFloatFrequencyData","getFloatTimeDomainData","AudioScheduledSourceNode","hasBeenStarted","start","when","RangeError","stop","AudioBufferSourceNode","detune","AudioParam","playbackRate","loop","loopStart","loopEnd","offset","AudioDestinationNode","param","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","cancelScheduledValues","cancelAndHoldAtTime","cancelTime","BiquadFilterNode","biquadFilter","frequency","Q","gain","type","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","PeriodicWave","periodicWave","OscillatorNode","setPeriodicWave","wave","GainNode","StereoPannerNode","pan","AudioContext","_sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","createPeriodicWave","real","imag","constraints","createAnalyser","decodeAudioDataSource","arrayBuffer","fetch","then","response","decodeAudioData","close","ContextState","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,5 +15,6 @@ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
|
15
15
|
set loopStart(value: number);
|
|
16
16
|
get loopEnd(): number;
|
|
17
17
|
set loopEnd(value: number);
|
|
18
|
+
start(when?: number, offset?: number, duration?: number): void;
|
|
18
19
|
}
|
|
19
20
|
//# sourceMappingURL=AudioBufferSourceNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioBufferSourceNode.d.ts","sourceRoot":"","sources":["../../../src/core/AudioBufferSourceNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,UAAU,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"AudioBufferSourceNode.d.ts","sourceRoot":"","sources":["../../../src/core/AudioBufferSourceNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,UAAU,MAAM,cAAc,CAAC;AAGtC,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,wBAAwB;IACzE,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAEhB,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,sBAAsB;IAOnE,IAAW,MAAM,IAAI,WAAW,GAAG,IAAI,CAMtC;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAO3C;IAED,IAAW,IAAI,IAAI,OAAO,CAEzB;IAED,IAAW,IAAI,CAAC,KAAK,EAAE,OAAO,EAE7B;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,SAAS,CAAC,KAAK,EAAE,MAAM,EAEjC;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAE/B;IAEM,KAAK,CAAC,IAAI,GAAE,MAAU,EAAE,MAAM,GAAE,MAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;CAoC5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioScheduledSourceNode.d.ts","sourceRoot":"","sources":["../../../src/core/AudioScheduledSourceNode.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,aAAa,CAAC;AAGpC,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,SAAS;IAC7D,
|
|
1
|
+
{"version":3,"file":"AudioScheduledSourceNode.d.ts","sourceRoot":"","sources":["../../../src/core/AudioScheduledSourceNode.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,aAAa,CAAC;AAGpC,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,SAAS;IAC7D,SAAS,CAAC,cAAc,EAAE,OAAO,CAAS;IAEnC,KAAK,CAAC,IAAI,GAAE,MAAU,GAAG,IAAI;IAe7B,IAAI,CAAC,IAAI,GAAE,MAAU,GAAG,IAAI;CAepC"}
|
|
@@ -54,6 +54,7 @@ export declare class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
|
54
54
|
set loopStart(value: number);
|
|
55
55
|
get loopEnd(): number;
|
|
56
56
|
set loopEnd(value: number);
|
|
57
|
+
start(when?: number, offset?: number, duration?: number): void;
|
|
57
58
|
}
|
|
58
59
|
export declare class AudioDestinationNode extends AudioNode {
|
|
59
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,8 +44,8 @@ export interface IBiquadFilterNode extends IAudioNode {
|
|
|
44
44
|
export interface IAudioDestinationNode extends IAudioNode {
|
|
45
45
|
}
|
|
46
46
|
export interface IAudioScheduledSourceNode extends IAudioNode {
|
|
47
|
-
start
|
|
48
|
-
stop: (
|
|
47
|
+
start(when?: number): void;
|
|
48
|
+
stop: (when: number) => void;
|
|
49
49
|
}
|
|
50
50
|
export interface IOscillatorNode extends IAudioScheduledSourceNode {
|
|
51
51
|
readonly frequency: IAudioParam;
|
|
@@ -60,6 +60,7 @@ export interface IAudioBufferSourceNode extends IAudioScheduledSourceNode {
|
|
|
60
60
|
loopEnd: number;
|
|
61
61
|
detune: IAudioParam;
|
|
62
62
|
playbackRate: IAudioParam;
|
|
63
|
+
start: (when?: number, offset?: number, duration?: number) => void;
|
|
63
64
|
}
|
|
64
65
|
export interface IAudioBuffer {
|
|
65
66
|
readonly length: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,gBAAgB,IAAI,eAAe,CAAC;IACpC,UAAU,IAAI,SAAS,CAAC;IACxB,kBAAkB,IAAI,iBAAiB,CAAC;IACxC,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;IAC5C,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;IACjD,YAAY,EAAE,CACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,KACf,YAAY,CAAC;IAClB,kBAAkB,EAAE,CAClB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,MAAM,EAAE,EACd,oBAAoB,EAAE,OAAO,KAC1B,aAAa,CAAC;IACnB,cAAc,EAAE,MAAM,aAAa,CAAC;IACpC,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,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;IAEtD,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACpC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,IAAI,EAAE,gBAAgB,CAAC;IAEvB,oBAAoB,CAClB,cAAc,EAAE,MAAM,EAAE,EACxB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,mBAAmB,EAAE,MAAM,EAAE,GAC5B,IAAI,CAAC;CACT;AAED,MAAM,WAAW,qBAAsB,SAAQ,UAAU;CAAG;AAE5D,MAAM,WAAW,yBAA0B,SAAQ,UAAU;IAC3D,KAAK,
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-audio-api",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.6",
|
|
4
4
|
"description": "react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -3,6 +3,7 @@ import AudioScheduledSourceNode from './AudioScheduledSourceNode';
|
|
|
3
3
|
import BaseAudioContext from './BaseAudioContext';
|
|
4
4
|
import AudioBuffer from './AudioBuffer';
|
|
5
5
|
import AudioParam from './AudioParam';
|
|
6
|
+
import { InvalidStateError, RangeError } from '../errors';
|
|
6
7
|
|
|
7
8
|
export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
8
9
|
readonly playbackRate: AudioParam;
|
|
@@ -55,4 +56,41 @@ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
|
55
56
|
public set loopEnd(value: number) {
|
|
56
57
|
(this.node as IAudioBufferSourceNode).loopEnd = value;
|
|
57
58
|
}
|
|
59
|
+
|
|
60
|
+
public start(when: number = 0, offset: number = 0, duration?: number): void {
|
|
61
|
+
if (when < 0) {
|
|
62
|
+
throw new RangeError(
|
|
63
|
+
`when must be a finite non-negative number: ${when}`
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (offset < 0) {
|
|
68
|
+
throw new RangeError(
|
|
69
|
+
`offset must be a finite non-negative number: ${when}`
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (duration && duration < 0) {
|
|
74
|
+
throw new RangeError(
|
|
75
|
+
`duration must be a finite non-negative number: ${when}`
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (this.hasBeenStarted) {
|
|
80
|
+
throw new InvalidStateError('Cannot call start more than once');
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
this.hasBeenStarted = true;
|
|
84
|
+
|
|
85
|
+
if (duration) {
|
|
86
|
+
(this.node as IAudioBufferSourceNode).start(when, offset, duration);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
(this.node as IAudioBufferSourceNode).start(
|
|
91
|
+
when,
|
|
92
|
+
offset,
|
|
93
|
+
this.buffer!.duration
|
|
94
|
+
);
|
|
95
|
+
}
|
|
58
96
|
}
|
|
@@ -3,12 +3,12 @@ import AudioNode from './AudioNode';
|
|
|
3
3
|
import { InvalidStateError, RangeError } from '../errors';
|
|
4
4
|
|
|
5
5
|
export default class AudioScheduledSourceNode extends AudioNode {
|
|
6
|
-
|
|
6
|
+
protected hasBeenStarted: boolean = false;
|
|
7
7
|
|
|
8
8
|
public start(when: number = 0): void {
|
|
9
9
|
if (when < 0) {
|
|
10
10
|
throw new RangeError(
|
|
11
|
-
`
|
|
11
|
+
`when must be a finite non-negative number: ${when}`
|
|
12
12
|
);
|
|
13
13
|
}
|
|
14
14
|
|
|
@@ -23,7 +23,7 @@ export default class AudioScheduledSourceNode extends AudioNode {
|
|
|
23
23
|
public stop(when: number = 0): void {
|
|
24
24
|
if (when < 0) {
|
|
25
25
|
throw new RangeError(
|
|
26
|
-
`
|
|
26
|
+
`when must be a finite non-negative number: ${when}`
|
|
27
27
|
);
|
|
28
28
|
}
|
|
29
29
|
|
package/src/index.ts
CHANGED
|
@@ -257,6 +257,14 @@ export class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
|
257
257
|
public set loopEnd(value: number) {
|
|
258
258
|
(this.node as globalThis.AudioBufferSourceNode).loopEnd = value;
|
|
259
259
|
}
|
|
260
|
+
|
|
261
|
+
public start(when?: number, offset?: number, duration?: number): void {
|
|
262
|
+
(this.node as globalThis.AudioBufferSourceNode).start(
|
|
263
|
+
when,
|
|
264
|
+
offset,
|
|
265
|
+
duration
|
|
266
|
+
);
|
|
267
|
+
}
|
|
260
268
|
}
|
|
261
269
|
|
|
262
270
|
export class AudioDestinationNode extends AudioNode {}
|
package/src/interfaces.ts
CHANGED
|
@@ -73,8 +73,8 @@ export interface IBiquadFilterNode extends IAudioNode {
|
|
|
73
73
|
export interface IAudioDestinationNode extends IAudioNode {}
|
|
74
74
|
|
|
75
75
|
export interface IAudioScheduledSourceNode extends IAudioNode {
|
|
76
|
-
start
|
|
77
|
-
stop: (
|
|
76
|
+
start(when?: number): void;
|
|
77
|
+
stop: (when: number) => void;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
export interface IOscillatorNode extends IAudioScheduledSourceNode {
|
|
@@ -90,9 +90,10 @@ export interface IAudioBufferSourceNode extends IAudioScheduledSourceNode {
|
|
|
90
90
|
loop: boolean;
|
|
91
91
|
loopStart: number;
|
|
92
92
|
loopEnd: number;
|
|
93
|
-
|
|
94
93
|
detune: IAudioParam;
|
|
95
94
|
playbackRate: IAudioParam;
|
|
95
|
+
|
|
96
|
+
start: (when?: number, offset?: number, duration?: number) => void;
|
|
96
97
|
}
|
|
97
98
|
|
|
98
99
|
export interface IAudioBuffer {
|