react-native-audio-api 0.4.5 → 0.4.7-rc1
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/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/AudioScheduledSourceNode.cpp +4 -4
- package/common/cpp/core/AudioScheduledSourceNode.h +2 -2
- 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 +51 -6
- 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 +2 -1
- 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 +79 -20
- 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
|
|
|
@@ -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
|
|
|
@@ -15,13 +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_ =
|
|
20
|
+
startTime_ = when;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
void AudioScheduledSourceNode::stop(double
|
|
24
|
-
stopTime_ =
|
|
23
|
+
void AudioScheduledSourceNode::stop(double when) {
|
|
24
|
+
stopTime_ = when;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
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();
|
|
@@ -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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { InvalidStateError } from "./errors/index.js";
|
|
3
4
|
export class AudioBuffer {
|
|
4
5
|
/** @internal */
|
|
5
6
|
|
|
@@ -25,7 +26,11 @@ export class AudioBuffer {
|
|
|
25
26
|
if (startInChannel < 0 || startInChannel >= this.length) {
|
|
26
27
|
throw new Error(`The startInChannel number provided (${startInChannel}) is outside the range [0, ${this.length - 1}]`);
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
+
const array = new Float32Array(destination);
|
|
30
|
+
this.buffer.copyFromChannel(array, channelNumber, startInChannel);
|
|
31
|
+
for (let i = 0; i < destination.length; i++) {
|
|
32
|
+
destination[i] = array[i];
|
|
33
|
+
}
|
|
29
34
|
}
|
|
30
35
|
copyToChannel(source, channelNumber, startInChannel = 0) {
|
|
31
36
|
if (channelNumber < 0 || channelNumber >= this.numberOfChannels) {
|
|
@@ -77,16 +82,32 @@ export class AnalyserNode extends AudioNode {
|
|
|
77
82
|
console.log('React Native Audio API: setting window is not supported on web');
|
|
78
83
|
}
|
|
79
84
|
getByteFrequencyData(array) {
|
|
80
|
-
|
|
85
|
+
const data = new Uint8Array(array);
|
|
86
|
+
this.node.getByteFrequencyData(data);
|
|
87
|
+
for (let i = 0; i < array.length; i++) {
|
|
88
|
+
array[i] = data[i];
|
|
89
|
+
}
|
|
81
90
|
}
|
|
82
91
|
getByteTimeDomainData(array) {
|
|
83
|
-
|
|
92
|
+
const data = new Uint8Array(array);
|
|
93
|
+
this.node.getByteTimeDomainData(data);
|
|
94
|
+
for (let i = 0; i < array.length; i++) {
|
|
95
|
+
array[i] = data[i];
|
|
96
|
+
}
|
|
84
97
|
}
|
|
85
98
|
getFloatFrequencyData(array) {
|
|
86
|
-
|
|
99
|
+
const data = new Float32Array(array);
|
|
100
|
+
this.node.getFloatFrequencyData(data);
|
|
101
|
+
for (let i = 0; i < array.length; i++) {
|
|
102
|
+
array[i] = data[i];
|
|
103
|
+
}
|
|
87
104
|
}
|
|
88
105
|
getFloatTimeDomainData(array) {
|
|
89
|
-
|
|
106
|
+
const data = new Float32Array(array);
|
|
107
|
+
this.node.getFloatTimeDomainData(data);
|
|
108
|
+
for (let i = 0; i < array.length; i++) {
|
|
109
|
+
array[i] = data[i];
|
|
110
|
+
}
|
|
90
111
|
}
|
|
91
112
|
}
|
|
92
113
|
export class AudioScheduledSourceNode extends AudioNode {
|
|
@@ -149,6 +170,22 @@ export class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
|
149
170
|
set loopEnd(value) {
|
|
150
171
|
this.node.loopEnd = value;
|
|
151
172
|
}
|
|
173
|
+
start(when, offset, duration) {
|
|
174
|
+
if (when && when < 0) {
|
|
175
|
+
throw new RangeError(`when must be a finite non-negative number: ${when}`);
|
|
176
|
+
}
|
|
177
|
+
if (offset && offset < 0) {
|
|
178
|
+
throw new RangeError(`offset must be a finite non-negative number: ${when}`);
|
|
179
|
+
}
|
|
180
|
+
if (duration && duration < 0) {
|
|
181
|
+
throw new RangeError(`duration must be a finite non-negative number: ${when}`);
|
|
182
|
+
}
|
|
183
|
+
if (this.hasBeenStarted) {
|
|
184
|
+
throw new InvalidStateError('Cannot call start more than once');
|
|
185
|
+
}
|
|
186
|
+
this.hasBeenStarted = true;
|
|
187
|
+
this.node.start(when, offset, duration);
|
|
188
|
+
}
|
|
152
189
|
}
|
|
153
190
|
export class AudioDestinationNode extends AudioNode {}
|
|
154
191
|
export class AudioParam {
|
|
@@ -204,7 +241,15 @@ export class BiquadFilterNode extends AudioNode {
|
|
|
204
241
|
if (frequencyArray.length !== magResponseOutput.length || frequencyArray.length !== phaseResponseOutput.length) {
|
|
205
242
|
throw new Error(`The lengths of the arrays are not the same frequencyArray: ${frequencyArray.length}, magResponseOutput: ${magResponseOutput.length}, phaseResponseOutput: ${phaseResponseOutput.length}`);
|
|
206
243
|
}
|
|
207
|
-
|
|
244
|
+
const magData = new Float32Array(magResponseOutput);
|
|
245
|
+
const phaseData = new Float32Array(phaseResponseOutput);
|
|
246
|
+
this.node.getFrequencyResponse(new Float32Array(frequencyArray), magData, phaseData);
|
|
247
|
+
for (let i = 0; i < magData.length; i++) {
|
|
248
|
+
magResponseOutput[i] = magData[i];
|
|
249
|
+
}
|
|
250
|
+
for (let i = 0; i < phaseData.length; i++) {
|
|
251
|
+
phaseResponseOutput[i] = phaseData[i];
|
|
252
|
+
}
|
|
208
253
|
}
|
|
209
254
|
}
|
|
210
255
|
export class PeriodicWave {
|
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":["InvalidStateError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","Error","Array","from","copyFromChannel","destination","channelNumber","startInChannel","array","Float32Array","i","copyToChannel","source","AudioNode","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","disconnect","undefined","AnalyserNode","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","window","value","console","log","getByteFrequencyData","data","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","magData","phaseData","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"}
|
|
@@ -38,7 +38,7 @@ export declare class AnalyserNode extends AudioNode {
|
|
|
38
38
|
getFloatTimeDomainData(array: number[]): void;
|
|
39
39
|
}
|
|
40
40
|
export declare class AudioScheduledSourceNode extends AudioNode {
|
|
41
|
-
|
|
41
|
+
protected hasBeenStarted: boolean;
|
|
42
42
|
start(when?: number): void;
|
|
43
43
|
stop(when?: number): void;
|
|
44
44
|
}
|
|
@@ -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":"AAAA,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,UAAU,EACX,MAAM,cAAc,CAAC;
|
|
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":"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,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,eAAgB,SAAQ,yBAAyB;IAChE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,IAAI,EAAE,cAAc,CAAC;IAErB,eAAe,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,sBAAuB,SAAQ,yBAAyB;IACvE,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,WAAW,CAAC;IAE1B,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1C,eAAe,CACb,WAAW,EAAE,MAAM,EAAE,EACrB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB,IAAI,CAAC;IACR,aAAa,CACX,MAAM,EAAE,MAAM,EAAE,EAChB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB,IAAI,CAAC;CACT;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IAEjB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,4BAA4B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvE,eAAe,EAAE,CACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,KACjB,IAAI,CAAC;IACV,mBAAmB,EAAE,CACnB,MAAM,EAAE,MAAM,EAAE,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,KACb,IAAI,CAAC;IACV,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,mBAAmB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,aAAa;CAAG;AAEjC,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,UAAU,CAAC;IAEnB,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACjD,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAChD,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAClD,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAClD"}
|
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.7-rc1",
|
|
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
|
@@ -4,6 +4,8 @@ import {
|
|
|
4
4
|
WindowType,
|
|
5
5
|
} from './core/types';
|
|
6
6
|
|
|
7
|
+
import { InvalidStateError } from './errors';
|
|
8
|
+
|
|
7
9
|
export class AudioBuffer {
|
|
8
10
|
readonly length: number;
|
|
9
11
|
readonly duration: number;
|
|
@@ -49,11 +51,13 @@ export class AudioBuffer {
|
|
|
49
51
|
);
|
|
50
52
|
}
|
|
51
53
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
)
|
|
54
|
+
const array = new Float32Array(destination);
|
|
55
|
+
|
|
56
|
+
this.buffer.copyFromChannel(array, channelNumber, startInChannel);
|
|
57
|
+
|
|
58
|
+
for (let i = 0; i < destination.length; i++) {
|
|
59
|
+
destination[i] = array[i];
|
|
60
|
+
}
|
|
57
61
|
}
|
|
58
62
|
|
|
59
63
|
public copyToChannel(
|
|
@@ -147,32 +151,46 @@ export class AnalyserNode extends AudioNode {
|
|
|
147
151
|
}
|
|
148
152
|
|
|
149
153
|
public getByteFrequencyData(array: number[]): void {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
);
|
|
154
|
+
const data = new Uint8Array(array);
|
|
155
|
+
|
|
156
|
+
(this.node as globalThis.AnalyserNode).getByteFrequencyData(data);
|
|
157
|
+
|
|
158
|
+
for (let i = 0; i < array.length; i++) {
|
|
159
|
+
array[i] = data[i];
|
|
160
|
+
}
|
|
153
161
|
}
|
|
154
162
|
|
|
155
163
|
public getByteTimeDomainData(array: number[]): void {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
);
|
|
164
|
+
const data = new Uint8Array(array);
|
|
165
|
+
|
|
166
|
+
(this.node as globalThis.AnalyserNode).getByteTimeDomainData(data);
|
|
167
|
+
|
|
168
|
+
for (let i = 0; i < array.length; i++) {
|
|
169
|
+
array[i] = data[i];
|
|
170
|
+
}
|
|
159
171
|
}
|
|
160
172
|
|
|
161
173
|
public getFloatFrequencyData(array: number[]): void {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
174
|
+
const data = new Float32Array(array);
|
|
175
|
+
(this.node as globalThis.AnalyserNode).getFloatFrequencyData(data);
|
|
176
|
+
|
|
177
|
+
for (let i = 0; i < array.length; i++) {
|
|
178
|
+
array[i] = data[i];
|
|
179
|
+
}
|
|
165
180
|
}
|
|
166
181
|
|
|
167
182
|
public getFloatTimeDomainData(array: number[]): void {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
183
|
+
const data = new Float32Array(array);
|
|
184
|
+
(this.node as globalThis.AnalyserNode).getFloatTimeDomainData(data);
|
|
185
|
+
|
|
186
|
+
for (let i = 0; i < array.length; i++) {
|
|
187
|
+
array[i] = data[i];
|
|
188
|
+
}
|
|
171
189
|
}
|
|
172
190
|
}
|
|
173
191
|
|
|
174
192
|
export class AudioScheduledSourceNode extends AudioNode {
|
|
175
|
-
|
|
193
|
+
protected hasBeenStarted: boolean = false;
|
|
176
194
|
|
|
177
195
|
public start(when: number = 0): void {
|
|
178
196
|
if (when < 0) {
|
|
@@ -257,6 +275,37 @@ export class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
|
257
275
|
public set loopEnd(value: number) {
|
|
258
276
|
(this.node as globalThis.AudioBufferSourceNode).loopEnd = value;
|
|
259
277
|
}
|
|
278
|
+
|
|
279
|
+
public start(when?: number, offset?: number, duration?: number): void {
|
|
280
|
+
if (when && when < 0) {
|
|
281
|
+
throw new RangeError(
|
|
282
|
+
`when must be a finite non-negative number: ${when}`
|
|
283
|
+
);
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
if (offset && offset < 0) {
|
|
287
|
+
throw new RangeError(
|
|
288
|
+
`offset must be a finite non-negative number: ${when}`
|
|
289
|
+
);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
if (duration && duration < 0) {
|
|
293
|
+
throw new RangeError(
|
|
294
|
+
`duration must be a finite non-negative number: ${when}`
|
|
295
|
+
);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
if (this.hasBeenStarted) {
|
|
299
|
+
throw new InvalidStateError('Cannot call start more than once');
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
this.hasBeenStarted = true;
|
|
303
|
+
(this.node as globalThis.AudioBufferSourceNode).start(
|
|
304
|
+
when,
|
|
305
|
+
offset,
|
|
306
|
+
duration
|
|
307
|
+
);
|
|
308
|
+
}
|
|
260
309
|
}
|
|
261
310
|
|
|
262
311
|
export class AudioDestinationNode extends AudioNode {}
|
|
@@ -362,12 +411,22 @@ export class BiquadFilterNode extends AudioNode {
|
|
|
362
411
|
`The lengths of the arrays are not the same frequencyArray: ${frequencyArray.length}, magResponseOutput: ${magResponseOutput.length}, phaseResponseOutput: ${phaseResponseOutput.length}`
|
|
363
412
|
);
|
|
364
413
|
}
|
|
414
|
+
const magData = new Float32Array(magResponseOutput);
|
|
415
|
+
const phaseData = new Float32Array(phaseResponseOutput);
|
|
365
416
|
|
|
366
417
|
(this.node as globalThis.BiquadFilterNode).getFrequencyResponse(
|
|
367
418
|
new Float32Array(frequencyArray),
|
|
368
|
-
|
|
369
|
-
|
|
419
|
+
magData,
|
|
420
|
+
phaseData
|
|
370
421
|
);
|
|
422
|
+
|
|
423
|
+
for (let i = 0; i < magData.length; i++) {
|
|
424
|
+
magResponseOutput[i] = magData[i];
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
for (let i = 0; i < phaseData.length; i++) {
|
|
428
|
+
phaseResponseOutput[i] = phaseData[i];
|
|
429
|
+
}
|
|
371
430
|
}
|
|
372
431
|
}
|
|
373
432
|
|
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 {
|