react-native-audio-api 0.2.0 → 0.3.0-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/src/main/cpp/AudioPlayer/AudioPlayer.cpp +16 -7
- package/android/src/main/cpp/AudioPlayer/AudioPlayer.h +3 -2
- package/common/cpp/AudioAPIInstaller/AudioAPIInstallerHostObject.cpp +5 -3
- package/common/cpp/AudioAPIInstaller/AudioAPIInstallerHostObject.h +5 -1
- package/common/cpp/HostObjects/AudioBufferHostObject.cpp +6 -0
- package/common/cpp/HostObjects/AudioContextHostObject.cpp +2 -2
- package/common/cpp/HostObjects/AudioContextHostObject.h +4 -3
- package/common/cpp/HostObjects/BaseAudioContextHostObject.cpp +28 -2
- package/common/cpp/HostObjects/BaseAudioContextHostObject.h +3 -1
- package/common/cpp/core/AudioArray.cpp +28 -14
- package/common/cpp/core/AudioArray.h +20 -14
- package/common/cpp/core/AudioBuffer.cpp +14 -11
- package/common/cpp/core/AudioBuffer.h +1 -0
- package/common/cpp/core/AudioBufferSourceNode.cpp +29 -19
- package/common/cpp/core/AudioBufferSourceNode.h +1 -1
- package/common/cpp/core/AudioBus.cpp +276 -115
- package/common/cpp/core/AudioBus.h +29 -9
- package/common/cpp/core/AudioContext.cpp +5 -9
- package/common/cpp/core/AudioDestinationNode.cpp +10 -8
- package/common/cpp/core/AudioDestinationNode.h +4 -4
- package/common/cpp/core/AudioNode.cpp +25 -17
- package/common/cpp/core/AudioNode.h +5 -5
- package/common/cpp/core/AudioNodeManager.cpp +10 -7
- package/common/cpp/core/AudioNodeManager.h +11 -4
- package/common/cpp/core/AudioScheduledSourceNode.cpp +2 -2
- package/common/cpp/core/BaseAudioContext.cpp +46 -12
- package/common/cpp/core/BaseAudioContext.h +12 -5
- package/common/cpp/core/BiquadFilterNode.cpp +5 -3
- package/common/cpp/core/GainNode.cpp +1 -1
- package/common/cpp/core/OscillatorNode.cpp +4 -4
- package/common/cpp/core/OscillatorNode.h +2 -2
- package/common/cpp/core/StereoPannerNode.cpp +10 -7
- package/common/cpp/core/StereoPannerNode.h +1 -1
- package/common/cpp/utils/FFTFrame.h +5 -1
- package/common/cpp/utils/JsiPromise.cpp +59 -0
- package/common/cpp/utils/JsiPromise.h +42 -0
- package/common/cpp/utils/Locker.h +8 -6
- package/common/cpp/utils/VectorMath.cpp +71 -55
- package/common/cpp/utils/android/FFTFrame.cpp +12 -11
- package/common/cpp/utils/ios/FFTFrame.cpp +6 -1
- package/common/cpp/wrappers/BaseAudioContextWrapper.cpp +7 -0
- package/common/cpp/wrappers/BaseAudioContextWrapper.h +1 -0
- package/ios/AudioAPIModule.mm +3 -1
- package/ios/AudioDecoder/AudioDecoder.h +17 -0
- package/ios/AudioDecoder/AudioDecoder.m +167 -0
- package/ios/AudioDecoder/IOSAudioDecoder.h +26 -0
- package/ios/AudioDecoder/IOSAudioDecoder.mm +40 -0
- package/ios/AudioPlayer/AudioPlayer.h +1 -1
- package/ios/AudioPlayer/AudioPlayer.m +0 -1
- package/ios/AudioPlayer/IOSAudioPlayer.h +5 -5
- package/ios/AudioPlayer/IOSAudioPlayer.mm +4 -3
- package/lib/module/core/BaseAudioContext.js +5 -0
- package/lib/module/core/BaseAudioContext.js.map +1 -1
- package/lib/module/index.js +235 -17
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.native.js +18 -0
- package/lib/module/index.native.js.map +1 -0
- package/lib/module/utils/resolveAudioSource.js +10 -0
- package/lib/module/utils/resolveAudioSource.js.map +1 -0
- package/lib/typescript/core/BaseAudioContext.d.ts +2 -1
- package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
- package/lib/typescript/core/types.d.ts +6 -0
- package/lib/typescript/core/types.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +100 -13
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.native.d.ts +14 -0
- package/lib/typescript/index.native.d.ts.map +1 -0
- package/lib/typescript/interfaces.d.ts +1 -0
- package/lib/typescript/interfaces.d.ts.map +1 -1
- package/lib/typescript/utils/resolveAudioSource.d.ts +3 -0
- package/lib/typescript/utils/resolveAudioSource.d.ts.map +1 -0
- package/package.json +4 -2
- package/src/core/BaseAudioContext.ts +12 -1
- package/src/core/types.ts +7 -0
- package/src/index.native.ts +25 -0
- package/src/index.ts +413 -19
- package/src/interfaces.ts +1 -0
- package/src/utils/resolveAudioSource.ts +14 -0
|
@@ -15,12 +15,13 @@ class AudioBus;
|
|
|
15
15
|
|
|
16
16
|
class IOSAudioPlayer {
|
|
17
17
|
protected:
|
|
18
|
-
AudioBus*
|
|
19
|
-
AudioPlayer*
|
|
20
|
-
std::function<void(AudioBus*, int)> renderAudio_;
|
|
18
|
+
AudioBus *audioBus_;
|
|
19
|
+
AudioPlayer *audioPlayer_;
|
|
20
|
+
std::function<void(AudioBus *, int)> renderAudio_;
|
|
21
21
|
|
|
22
22
|
public:
|
|
23
|
-
explicit IOSAudioPlayer(
|
|
23
|
+
explicit IOSAudioPlayer(
|
|
24
|
+
const std::function<void(AudioBus *, int)> &renderAudio);
|
|
24
25
|
~IOSAudioPlayer();
|
|
25
26
|
|
|
26
27
|
int getSampleRate() const;
|
|
@@ -28,6 +29,5 @@ class IOSAudioPlayer {
|
|
|
28
29
|
|
|
29
30
|
void start();
|
|
30
31
|
void stop();
|
|
31
|
-
|
|
32
32
|
};
|
|
33
33
|
} // namespace audioapi
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
#import <AVFoundation/AVFoundation.h>
|
|
2
2
|
|
|
3
|
+
#include <AudioArray.h>
|
|
3
4
|
#include <AudioBus.h>
|
|
4
5
|
#include <Constants.h>
|
|
5
|
-
#include <AudioArray.h>
|
|
6
6
|
#include <IOSAudioPlayer.h>
|
|
7
7
|
|
|
8
8
|
namespace audioapi {
|
|
9
9
|
|
|
10
|
-
IOSAudioPlayer::IOSAudioPlayer(const std::function<void(AudioBus*, int)> &renderAudio)
|
|
10
|
+
IOSAudioPlayer::IOSAudioPlayer(const std::function<void(AudioBus *, int)> &renderAudio)
|
|
11
|
+
: renderAudio_(renderAudio), audioBus_(0)
|
|
11
12
|
{
|
|
12
|
-
RenderAudioBlock renderAudioBlock = ^(AudioBufferList*
|
|
13
|
+
RenderAudioBlock renderAudioBlock = ^(AudioBufferList *outputData, int numFrames) {
|
|
13
14
|
renderAudio_(audioBus_, numFrames);
|
|
14
15
|
|
|
15
16
|
for (int i = 0; i < outputData->mNumberBuffers; i += 1) {
|
|
@@ -7,6 +7,7 @@ import AudioBufferSourceNode from './AudioBufferSourceNode';
|
|
|
7
7
|
import AudioBuffer from './AudioBuffer';
|
|
8
8
|
import PeriodicWave from './PeriodicWave';
|
|
9
9
|
import { InvalidAccessError } from '../errors';
|
|
10
|
+
import { resolveAudioSource } from '../utils/resolveAudioSource';
|
|
10
11
|
export default class BaseAudioContext {
|
|
11
12
|
constructor(context) {
|
|
12
13
|
this.context = context;
|
|
@@ -53,5 +54,9 @@ export default class BaseAudioContext {
|
|
|
53
54
|
const disableNormalization = constraints?.disableNormalization ?? false;
|
|
54
55
|
return new PeriodicWave(this.context.createPeriodicWave(real, imag, disableNormalization));
|
|
55
56
|
}
|
|
57
|
+
async decodeAudioDataSource(source) {
|
|
58
|
+
const buffer = await this.context.decodeAudioDataSource(resolveAudioSource(source));
|
|
59
|
+
return new AudioBuffer(buffer);
|
|
60
|
+
}
|
|
56
61
|
}
|
|
57
62
|
//# sourceMappingURL=BaseAudioContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioDestinationNode","OscillatorNode","GainNode","StereoPannerNode","BiquadFilterNode","AudioBufferSourceNode","AudioBuffer","PeriodicWave","InvalidAccessError","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","length","RangeError","createPeriodicWave","real","imag","constraints","disableNormalization"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"AAEA,OAAOA,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,SAASC,kBAAkB,QAAQ,WAAW;
|
|
1
|
+
{"version":3,"names":["AudioDestinationNode","OscillatorNode","GainNode","StereoPannerNode","BiquadFilterNode","AudioBufferSourceNode","AudioBuffer","PeriodicWave","InvalidAccessError","resolveAudioSource","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","length","RangeError","createPeriodicWave","real","imag","constraints","disableNormalization","decodeAudioDataSource","source","buffer"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"AAEA,OAAOA,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,SAASC,kBAAkB,QAAQ,WAAW;AAC9C,SAASC,kBAAkB,QAAQ,6BAA6B;AAEhE,eAAe,MAAMC,gBAAgB,CAAC;EAKpCC,WAAWA,CAACC,OAA0B,EAAE;IACtC,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,WAAW,GAAG,IAAIb,oBAAoB,CAAC,IAAI,EAAEY,OAAO,CAACC,WAAW,CAAC;IACtE,IAAI,CAACC,UAAU,GAAGF,OAAO,CAACE,UAAU;EACtC;EAEA,IAAWC,WAAWA,CAAA,EAAW;IAC/B,OAAO,IAAI,CAACH,OAAO,CAACG,WAAW;EACjC;EAEA,IAAWC,KAAKA,CAAA,EAAiB;IAC/B,OAAO,IAAI,CAACJ,OAAO,CAACI,KAAK;EAC3B;EAEAC,gBAAgBA,CAAA,EAAmB;IACjC,OAAO,IAAIhB,cAAc,CAAC,IAAI,EAAE,IAAI,CAACW,OAAO,CAACK,gBAAgB,CAAC,CAAC,CAAC;EAClE;EAEAC,UAAUA,CAAA,EAAa;IACrB,OAAO,IAAIhB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAACU,OAAO,CAACM,UAAU,CAAC,CAAC,CAAC;EACtD;EAEAC,kBAAkBA,CAAA,EAAqB;IACrC,OAAO,IAAIhB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAACS,OAAO,CAACO,kBAAkB,CAAC,CAAC,CAAC;EACtE;EAEAC,kBAAkBA,CAAA,EAAqB;IACrC,OAAO,IAAIhB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAACQ,OAAO,CAACQ,kBAAkB,CAAC,CAAC,CAAC;EACtE;EAEAC,kBAAkBA,CAAA,EAA0B;IAC1C,OAAO,IAAIhB,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAACO,OAAO,CAACS,kBAAkB,CAAC,CAAC,CAAC;EAC3E;EAEAC,YAAYA,CACVC,aAAqB,EACrBC,MAAc,EACdV,UAAkB,EACL;IACb,IAAIS,aAAa,GAAG,CAAC,IAAIA,aAAa,GAAG,CAAC,EAAE;MAC1C,MAAM,IAAIE,UAAU,CAClB,oCAAoCF,aAAa,+BACnD,CAAC;IACH;IAEA,IAAIC,MAAM,IAAI,CAAC,EAAE;MACf,MAAM,IAAIC,UAAU,CAClB,kCAAkCD,MAAM,kDAC1C,CAAC;IACH;IAEA,IAAIV,UAAU,IAAI,CAAC,EAAE;MACnB,MAAM,IAAIW,UAAU,CAClB,6BAA6BX,UAAU,uCACzC,CAAC;IACH;IAEA,OAAO,IAAIR,WAAW,CACpB,IAAI,CAACM,OAAO,CAACU,YAAY,CAACC,aAAa,EAAEC,MAAM,EAAEV,UAAU,CAC7D,CAAC;EACH;EAEAY,kBAAkBA,CAChBC,IAAc,EACdC,IAAc,EACdC,WAAqC,EACvB;IACd,IAAIF,IAAI,CAACH,MAAM,KAAKI,IAAI,CAACJ,MAAM,EAAE;MAC/B,MAAM,IAAIhB,kBAAkB,CAC1B,4BAA4BmB,IAAI,CAACH,MAAM,oBAAoBI,IAAI,CAACJ,MAAM,sBACxE,CAAC;IACH;IAEA,MAAMM,oBAAoB,GAAGD,WAAW,EAAEC,oBAAoB,IAAI,KAAK;IAEvE,OAAO,IAAIvB,YAAY,CACrB,IAAI,CAACK,OAAO,CAACc,kBAAkB,CAACC,IAAI,EAAEC,IAAI,EAAEE,oBAAoB,CAClE,CAAC;EACH;EAEA,MAAMC,qBAAqBA,CACzBC,MAA4B,EACN;IACtB,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACrB,OAAO,CAACmB,qBAAqB,CACrDtB,kBAAkB,CAACuB,MAAM,CAC3B,CAAC;IAED,OAAO,IAAI1B,WAAW,CAAC2B,MAAM,CAAC;EAChC;AACF","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,18 +1,236 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
export class AudioBuffer {
|
|
2
|
+
constructor(buffer) {
|
|
3
|
+
this.buffer = buffer;
|
|
4
|
+
this.length = buffer.length;
|
|
5
|
+
this.duration = buffer.duration;
|
|
6
|
+
this.sampleRate = buffer.sampleRate;
|
|
7
|
+
this.numberOfChannels = buffer.numberOfChannels;
|
|
8
|
+
}
|
|
9
|
+
getChannelData(channel) {
|
|
10
|
+
if (channel < 0 || channel >= this.numberOfChannels) {
|
|
11
|
+
throw new Error(`The channel number provided (${channel}) is outside the range [0, ${this.numberOfChannels - 1}]`);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// TODO: we probably will want to move to Float32Array on native side too
|
|
15
|
+
return Array.from(this.buffer.getChannelData(channel));
|
|
16
|
+
}
|
|
17
|
+
copyFromChannel(destination, channelNumber, startInChannel = 0) {
|
|
18
|
+
if (channelNumber < 0 || channelNumber >= this.numberOfChannels) {
|
|
19
|
+
throw new Error(`The channel number provided (${channelNumber}) is outside the range [0, ${this.numberOfChannels - 1}]`);
|
|
20
|
+
}
|
|
21
|
+
if (startInChannel < 0 || startInChannel >= this.length) {
|
|
22
|
+
throw new Error(`The startInChannel number provided (${startInChannel}) is outside the range [0, ${this.length - 1}]`);
|
|
23
|
+
}
|
|
24
|
+
this.buffer.copyFromChannel(new Float32Array(destination), channelNumber, startInChannel);
|
|
25
|
+
}
|
|
26
|
+
copyToChannel(source, channelNumber, startInChannel = 0) {
|
|
27
|
+
if (channelNumber < 0 || channelNumber >= this.numberOfChannels) {
|
|
28
|
+
throw new Error(`The channel number provided (${channelNumber}) is outside the range [0, ${this.numberOfChannels - 1}]`);
|
|
29
|
+
}
|
|
30
|
+
if (startInChannel < 0 || startInChannel >= this.length) {
|
|
31
|
+
throw new Error(`The startInChannel number provided (${startInChannel}) is outside the range [0, ${this.length - 1}]`);
|
|
32
|
+
}
|
|
33
|
+
this.buffer.copyToChannel(new Float32Array(source), channelNumber, startInChannel);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export class AudioNode {
|
|
37
|
+
constructor(context, node) {
|
|
38
|
+
this.context = context;
|
|
39
|
+
this.node = node;
|
|
40
|
+
this.numberOfInputs = this.node.numberOfInputs;
|
|
41
|
+
this.numberOfOutputs = this.node.numberOfOutputs;
|
|
42
|
+
this.channelCount = this.node.channelCount;
|
|
43
|
+
this.channelCountMode = this.node.channelCountMode;
|
|
44
|
+
this.channelInterpretation = this.node.channelInterpretation;
|
|
45
|
+
}
|
|
46
|
+
connect(node) {
|
|
47
|
+
if (this.context !== node.context) {
|
|
48
|
+
throw new Error('The AudioNodes are from different BaseAudioContexts');
|
|
49
|
+
}
|
|
50
|
+
this.node.connect(node.node);
|
|
51
|
+
}
|
|
52
|
+
disconnect(node) {
|
|
53
|
+
this.node.disconnect(node.node);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export class AudioScheduledSourceNode extends AudioNode {
|
|
57
|
+
hasBeenStarted = false;
|
|
58
|
+
constructor(context, node) {
|
|
59
|
+
super(context, node);
|
|
60
|
+
}
|
|
61
|
+
start(when = 0) {
|
|
62
|
+
if (when < 0) {
|
|
63
|
+
throw new RangeError(`Time must be a finite non-negative number: ${when}`);
|
|
64
|
+
}
|
|
65
|
+
if (this.hasBeenStarted) {
|
|
66
|
+
throw new Error('Cannot call start more than once');
|
|
67
|
+
}
|
|
68
|
+
this.hasBeenStarted = true;
|
|
69
|
+
this.node.start(when);
|
|
70
|
+
}
|
|
71
|
+
stop(when = 0) {
|
|
72
|
+
if (when < 0) {
|
|
73
|
+
throw new RangeError(`Time must be a finite non-negative number: ${when}`);
|
|
74
|
+
}
|
|
75
|
+
if (!this.hasBeenStarted) {
|
|
76
|
+
throw new Error('Cannot call stop without calling start first');
|
|
77
|
+
}
|
|
78
|
+
this.node.stop(when);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
export class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
82
|
+
constructor(context, node) {
|
|
83
|
+
super(context, node);
|
|
84
|
+
}
|
|
85
|
+
get buffer() {
|
|
86
|
+
const buffer = this.node.buffer;
|
|
87
|
+
if (!buffer) {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
return new AudioBuffer(buffer);
|
|
91
|
+
}
|
|
92
|
+
set buffer(buffer) {
|
|
93
|
+
if (!buffer) {
|
|
94
|
+
this.node = null;
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
this.node.buffer = buffer.buffer;
|
|
98
|
+
}
|
|
99
|
+
get loop() {
|
|
100
|
+
return this.node.loop;
|
|
101
|
+
}
|
|
102
|
+
set loop(value) {
|
|
103
|
+
this.node.loop = value;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
export class AudioDestinationNode extends AudioNode {
|
|
107
|
+
constructor(context, node) {
|
|
108
|
+
super(context, node);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
export class AudioParam {
|
|
112
|
+
constructor(param) {
|
|
113
|
+
this.param = param;
|
|
114
|
+
this.defaultValue = param.defaultValue;
|
|
115
|
+
this.minValue = param.minValue;
|
|
116
|
+
this.maxValue = param.maxValue;
|
|
117
|
+
}
|
|
118
|
+
get value() {
|
|
119
|
+
return this.param.value;
|
|
120
|
+
}
|
|
121
|
+
set value(value) {
|
|
122
|
+
this.param.value = value;
|
|
123
|
+
}
|
|
124
|
+
setValueAtTime(value, startTime) {
|
|
125
|
+
this.param.setValueAtTime(value, startTime);
|
|
126
|
+
}
|
|
127
|
+
linearRampToValueAtTime(value, endTime) {
|
|
128
|
+
this.param.linearRampToValueAtTime(value, endTime);
|
|
129
|
+
}
|
|
130
|
+
exponentialRampToValueAtTime(value, endTime) {
|
|
131
|
+
this.param.exponentialRampToValueAtTime(value, endTime);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
export class BiquadFilterNode extends AudioNode {
|
|
135
|
+
constructor(context, biquadFilter) {
|
|
136
|
+
super(context, biquadFilter);
|
|
137
|
+
this.frequency = new AudioParam(biquadFilter.frequency);
|
|
138
|
+
this.detune = new AudioParam(biquadFilter.detune);
|
|
139
|
+
this.Q = new AudioParam(biquadFilter.Q);
|
|
140
|
+
this.gain = new AudioParam(biquadFilter.gain);
|
|
141
|
+
}
|
|
142
|
+
get type() {
|
|
143
|
+
return this.node.type;
|
|
144
|
+
}
|
|
145
|
+
set type(value) {
|
|
146
|
+
this.node.type = value;
|
|
147
|
+
}
|
|
148
|
+
getFrequencyResponse(frequencyArray, magResponseOutput, phaseResponseOutput) {
|
|
149
|
+
if (frequencyArray.length !== magResponseOutput.length || frequencyArray.length !== phaseResponseOutput.length) {
|
|
150
|
+
throw new Error(`The lengths of the arrays are not the same frequencyArray: ${frequencyArray.length}, magResponseOutput: ${magResponseOutput.length}, phaseResponseOutput: ${phaseResponseOutput.length}`);
|
|
151
|
+
}
|
|
152
|
+
this.node.getFrequencyResponse(new Float32Array(frequencyArray), new Float32Array(magResponseOutput), new Float32Array(phaseResponseOutput));
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
export class PeriodicWave {
|
|
156
|
+
constructor(periodicWave) {
|
|
157
|
+
this.periodicWave = periodicWave;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
export class OscillatorNode extends AudioScheduledSourceNode {
|
|
161
|
+
constructor(context, node) {
|
|
162
|
+
super(context, node);
|
|
163
|
+
this.detune = new AudioParam(node.detune);
|
|
164
|
+
this.frequency = new AudioParam(node.frequency);
|
|
165
|
+
}
|
|
166
|
+
get type() {
|
|
167
|
+
return this.node.type;
|
|
168
|
+
}
|
|
169
|
+
set type(value) {
|
|
170
|
+
if (value === 'custom') {
|
|
171
|
+
throw new Error("'type' cannot be set directly to 'custom'. Use setPeriodicWave() to create a custom Oscillator type.");
|
|
172
|
+
}
|
|
173
|
+
this.node.type = value;
|
|
174
|
+
}
|
|
175
|
+
setPeriodicWave(wave) {
|
|
176
|
+
this.node.setPeriodicWave(wave.periodicWave);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
export class GainNode extends AudioNode {
|
|
180
|
+
constructor(context, gain) {
|
|
181
|
+
super(context, gain);
|
|
182
|
+
this.gain = new AudioParam(gain.gain);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
export class StereoPannerNode extends AudioNode {
|
|
186
|
+
constructor(context, pan) {
|
|
187
|
+
super(context, pan);
|
|
188
|
+
this.pan = new AudioParam(pan.pan);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
export class AudioContext {
|
|
192
|
+
constructor() {
|
|
193
|
+
this.context = new window.AudioContext();
|
|
194
|
+
this.sampleRate = this.context.sampleRate;
|
|
195
|
+
this.destination = new AudioDestinationNode(this, this.context.destination);
|
|
196
|
+
}
|
|
197
|
+
get currentTime() {
|
|
198
|
+
return this.context.currentTime;
|
|
199
|
+
}
|
|
200
|
+
get state() {
|
|
201
|
+
return this.context.state;
|
|
202
|
+
}
|
|
203
|
+
createOscillator() {
|
|
204
|
+
return new OscillatorNode(this, this.context.createOscillator());
|
|
205
|
+
}
|
|
206
|
+
createGain() {
|
|
207
|
+
return new GainNode(this, this.context.createGain());
|
|
208
|
+
}
|
|
209
|
+
createStereoPanner() {
|
|
210
|
+
return new StereoPannerNode(this, this.context.createStereoPanner());
|
|
211
|
+
}
|
|
212
|
+
createBiquadFilter() {
|
|
213
|
+
return new BiquadFilterNode(this, this.context.createBiquadFilter());
|
|
214
|
+
}
|
|
215
|
+
createBufferSource() {
|
|
216
|
+
return new AudioBufferSourceNode(this, this.context.createBufferSource());
|
|
217
|
+
}
|
|
218
|
+
createBuffer(numOfChannels, length, sampleRate) {
|
|
219
|
+
return new AudioBuffer(this.context.createBuffer(numOfChannels, length, sampleRate));
|
|
220
|
+
}
|
|
221
|
+
createPeriodicWave(real, imag, constraints) {
|
|
222
|
+
return new PeriodicWave(this.context.createPeriodicWave(real, imag, constraints));
|
|
223
|
+
}
|
|
224
|
+
async decodeAudioDataSource(source) {
|
|
225
|
+
if (typeof source === 'number') {
|
|
226
|
+
throw new Error('Not yet implemented');
|
|
227
|
+
}
|
|
228
|
+
const arrayBuffer = await fetch(source).then(response => response.arrayBuffer());
|
|
229
|
+
return new AudioBuffer(await this.context.decodeAudioData(arrayBuffer));
|
|
230
|
+
}
|
|
231
|
+
close() {
|
|
232
|
+
this.context.close();
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
export { ContextState, OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation } from './core/types';
|
|
18
236
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
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","AudioScheduledSourceNode","hasBeenStarted","start","when","RangeError","stop","AudioBufferSourceNode","loop","value","AudioDestinationNode","AudioParam","param","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","BiquadFilterNode","biquadFilter","frequency","detune","Q","gain","type","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","PeriodicWave","periodicWave","OscillatorNode","setPeriodicWave","wave","GainNode","StereoPannerNode","pan","AudioContext","window","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","createPeriodicWave","real","imag","constraints","decodeAudioDataSource","arrayBuffer","fetch","then","response","decodeAudioData","close","ContextState","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { installModule } from './utils/install';
|
|
2
|
+
if (global.__AudioAPIInstaller == null) {
|
|
3
|
+
installModule();
|
|
4
|
+
}
|
|
5
|
+
export { default as AudioBuffer } from './core/AudioBuffer';
|
|
6
|
+
export { default as AudioBufferSourceNode } from './core/AudioBufferSourceNode';
|
|
7
|
+
export { default as AudioContext } from './core/AudioContext';
|
|
8
|
+
export { default as AudioDestinationNode } from './core/AudioDestinationNode';
|
|
9
|
+
export { default as AudioNode } from './core/AudioNode';
|
|
10
|
+
export { default as AudioParam } from './core/AudioParam';
|
|
11
|
+
export { default as AudioScheduledSourceNode } from './core/AudioScheduledSourceNode';
|
|
12
|
+
export { default as BaseAudioContext } from './core/BaseAudioContext';
|
|
13
|
+
export { default as BiquadFilterNode } from './core/BiquadFilterNode';
|
|
14
|
+
export { default as GainNode } from './core/GainNode';
|
|
15
|
+
export { default as OscillatorNode } from './core/OscillatorNode';
|
|
16
|
+
export { default as StereoPannerNode } from './core/StereoPannerNode';
|
|
17
|
+
export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState } from './core/types';
|
|
18
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["installModule","global","__AudioAPIInstaller","default","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState"],"sourceRoot":"../../src","sources":["index.native.ts"],"mappings":"AAAA,SAASA,aAAa,QAAQ,iBAAiB;AAE/C,IAAIC,MAAM,CAACC,mBAAmB,IAAI,IAAI,EAAE;EACtCF,aAAa,CAAC,CAAC;AACjB;AAEA,SAASG,OAAO,IAAIC,WAAW,QAAQ,oBAAoB;AAC3D,SAASD,OAAO,IAAIE,qBAAqB,QAAQ,8BAA8B;AAC/E,SAASF,OAAO,IAAIG,YAAY,QAAQ,qBAAqB;AAC7D,SAASH,OAAO,IAAII,oBAAoB,QAAQ,6BAA6B;AAC7E,SAASJ,OAAO,IAAIK,SAAS,QAAQ,kBAAkB;AACvD,SAASL,OAAO,IAAIM,UAAU,QAAQ,mBAAmB;AACzD,SAASN,OAAO,IAAIO,wBAAwB,QAAQ,iCAAiC;AACrF,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,yBAAyB;AACrE,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,yBAAyB;AACrE,SAAST,OAAO,IAAIU,QAAQ,QAAQ,iBAAiB;AACrD,SAASV,OAAO,IAAIW,cAAc,QAAQ,uBAAuB;AACjE,SAASX,OAAO,IAAIY,gBAAgB,QAAQ,yBAAyB;AACrE,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,QACP,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// not sure if it works
|
|
2
|
+
// @ts-ignore
|
|
3
|
+
import resolveAssetSource from 'react-native/Libraries/Image/resolveAssetSource';
|
|
4
|
+
export function resolveAudioSource(source) {
|
|
5
|
+
if (typeof source === 'number') {
|
|
6
|
+
return resolveAssetSource(source);
|
|
7
|
+
}
|
|
8
|
+
return source;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=resolveAudioSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["resolveAssetSource","resolveAudioSource","source"],"sourceRoot":"../../../src","sources":["utils/resolveAudioSource.ts"],"mappings":"AACA;AACA;AACA,OAAOA,kBAAkB,MAAM,iDAAiD;AAEhF,OAAO,SAASC,kBAAkBA,CAChCC,MAAqC,EACxB;EACb,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAOF,kBAAkB,CAACE,MAAM,CAAC;EACnC;EAEA,OAAOA,MAAM;AACf","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IBaseAudioContext } from '../interfaces';
|
|
2
|
-
import { ContextState, PeriodicWaveConstraints } from './types';
|
|
2
|
+
import { ContextState, PeriodicWaveConstraints, AudioSource } from './types';
|
|
3
3
|
import AudioDestinationNode from './AudioDestinationNode';
|
|
4
4
|
import OscillatorNode from './OscillatorNode';
|
|
5
5
|
import GainNode from './GainNode';
|
|
@@ -22,5 +22,6 @@ export default class BaseAudioContext {
|
|
|
22
22
|
createBufferSource(): AudioBufferSourceNode;
|
|
23
23
|
createBuffer(numOfChannels: number, length: number, sampleRate: number): AudioBuffer;
|
|
24
24
|
createPeriodicWave(real: number[], imag: number[], constraints?: PeriodicWaveConstraints): PeriodicWave;
|
|
25
|
+
decodeAudioDataSource(source: AudioSource | number): Promise<AudioBuffer>;
|
|
25
26
|
}
|
|
26
27
|
//# sourceMappingURL=BaseAudioContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAudioContext.d.ts","sourceRoot":"","sources":["../../../src/core/BaseAudioContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseAudioContext.d.ts","sourceRoot":"","sources":["../../../src/core/BaseAudioContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAI1C,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;gBAElC,OAAO,EAAE,iBAAiB;IAMtC,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,KAAK,IAAI,YAAY,CAE/B;IAED,gBAAgB,IAAI,cAAc;IAIlC,UAAU,IAAI,QAAQ;IAItB,kBAAkB,IAAI,gBAAgB;IAItC,kBAAkB,IAAI,gBAAgB;IAItC,kBAAkB,IAAI,qBAAqB;IAI3C,YAAY,CACV,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,WAAW;IAwBd,kBAAkB,CAChB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,CAAC,EAAE,uBAAuB,GACpC,YAAY;IAcT,qBAAqB,CACzB,MAAM,EAAE,WAAW,GAAG,MAAM,GAC3B,OAAO,CAAC,WAAW,CAAC;CAOxB"}
|
|
@@ -6,4 +6,10 @@ export type OscillatorType = 'sine' | 'square' | 'sawtooth' | 'triangle' | 'cust
|
|
|
6
6
|
export interface PeriodicWaveConstraints {
|
|
7
7
|
disableNormalization: boolean;
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* A type that defines the source of the audio which can be expressed in several forms:
|
|
11
|
+
* 1. A string path, which could be an HTTPS URL or a local file path.
|
|
12
|
+
* 2. A string, which is a result of resolving an asset source.
|
|
13
|
+
*/
|
|
14
|
+
export type AudioSource = string;
|
|
9
15
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,aAAa,GAAG,UAAU,CAAC;AAElE,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,UAAU,CAAC;AAE5D,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,SAAS,GACT,OAAO,GACP,SAAS,CAAC;AAEd,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhD,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,QAAQ,GACR,UAAU,GACV,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,uBAAuB;IACtC,oBAAoB,EAAE,OAAO,CAAC;CAC/B"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,aAAa,GAAG,UAAU,CAAC;AAElE,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,UAAU,CAAC;AAE5D,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,SAAS,GACT,OAAO,GACP,SAAS,CAAC;AAEd,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhD,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,QAAQ,GACR,UAAU,GACV,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,uBAAuB;IACtC,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC"}
|
|
@@ -1,14 +1,101 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export
|
|
1
|
+
import { AudioSource, ContextState, PeriodicWaveConstraints } from './core/types';
|
|
2
|
+
export declare class AudioBuffer {
|
|
3
|
+
readonly length: number;
|
|
4
|
+
readonly duration: number;
|
|
5
|
+
readonly sampleRate: number;
|
|
6
|
+
readonly numberOfChannels: number;
|
|
7
|
+
readonly buffer: globalThis.AudioBuffer;
|
|
8
|
+
constructor(buffer: globalThis.AudioBuffer);
|
|
9
|
+
getChannelData(channel: number): number[];
|
|
10
|
+
copyFromChannel(destination: number[], channelNumber: number, startInChannel?: number): void;
|
|
11
|
+
copyToChannel(source: number[], channelNumber: number, startInChannel?: number): void;
|
|
12
|
+
}
|
|
13
|
+
export declare class AudioNode {
|
|
14
|
+
readonly context: AudioContext;
|
|
15
|
+
readonly numberOfInputs: number;
|
|
16
|
+
readonly numberOfOutputs: number;
|
|
17
|
+
readonly channelCount: number;
|
|
18
|
+
readonly channelCountMode: ChannelCountMode;
|
|
19
|
+
readonly channelInterpretation: ChannelInterpretation;
|
|
20
|
+
protected readonly node: globalThis.AudioNode;
|
|
21
|
+
constructor(context: AudioContext, node: globalThis.AudioNode);
|
|
22
|
+
connect(node: AudioNode): void;
|
|
23
|
+
disconnect(node: AudioNode): void;
|
|
24
|
+
}
|
|
25
|
+
export declare class AudioScheduledSourceNode extends AudioNode {
|
|
26
|
+
private hasBeenStarted;
|
|
27
|
+
constructor(context: AudioContext, node: globalThis.AudioScheduledSourceNode);
|
|
28
|
+
start(when?: number): void;
|
|
29
|
+
stop(when?: number): void;
|
|
30
|
+
}
|
|
31
|
+
export declare class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
32
|
+
constructor(context: AudioContext, node: globalThis.AudioBufferSourceNode);
|
|
33
|
+
get buffer(): AudioBuffer | null;
|
|
34
|
+
set buffer(buffer: AudioBuffer | null);
|
|
35
|
+
get loop(): boolean;
|
|
36
|
+
set loop(value: boolean);
|
|
37
|
+
}
|
|
38
|
+
export declare class AudioDestinationNode extends AudioNode {
|
|
39
|
+
constructor(context: AudioContext, node: globalThis.AudioDestinationNode);
|
|
40
|
+
}
|
|
41
|
+
export declare class AudioParam {
|
|
42
|
+
readonly defaultValue: number;
|
|
43
|
+
readonly minValue: number;
|
|
44
|
+
readonly maxValue: number;
|
|
45
|
+
private readonly param;
|
|
46
|
+
constructor(param: globalThis.AudioParam);
|
|
47
|
+
get value(): number;
|
|
48
|
+
set value(value: number);
|
|
49
|
+
setValueAtTime(value: number, startTime: number): void;
|
|
50
|
+
linearRampToValueAtTime(value: number, endTime: number): void;
|
|
51
|
+
exponentialRampToValueAtTime(value: number, endTime: number): void;
|
|
52
|
+
}
|
|
53
|
+
export declare class BiquadFilterNode extends AudioNode {
|
|
54
|
+
readonly frequency: AudioParam;
|
|
55
|
+
readonly detune: AudioParam;
|
|
56
|
+
readonly Q: AudioParam;
|
|
57
|
+
readonly gain: AudioParam;
|
|
58
|
+
constructor(context: AudioContext, biquadFilter: globalThis.BiquadFilterNode);
|
|
59
|
+
get type(): BiquadFilterType;
|
|
60
|
+
set type(value: BiquadFilterType);
|
|
61
|
+
getFrequencyResponse(frequencyArray: number[], magResponseOutput: number[], phaseResponseOutput: number[]): void;
|
|
62
|
+
}
|
|
63
|
+
export declare class PeriodicWave {
|
|
64
|
+
readonly periodicWave: globalThis.PeriodicWave;
|
|
65
|
+
constructor(periodicWave: globalThis.PeriodicWave);
|
|
66
|
+
}
|
|
67
|
+
export declare class OscillatorNode extends AudioScheduledSourceNode {
|
|
68
|
+
readonly frequency: AudioParam;
|
|
69
|
+
readonly detune: AudioParam;
|
|
70
|
+
constructor(context: AudioContext, node: globalThis.OscillatorNode);
|
|
71
|
+
get type(): OscillatorType;
|
|
72
|
+
set type(value: OscillatorType);
|
|
73
|
+
setPeriodicWave(wave: PeriodicWave): void;
|
|
74
|
+
}
|
|
75
|
+
export declare class GainNode extends AudioNode {
|
|
76
|
+
readonly gain: AudioParam;
|
|
77
|
+
constructor(context: AudioContext, gain: globalThis.GainNode);
|
|
78
|
+
}
|
|
79
|
+
export declare class StereoPannerNode extends AudioNode {
|
|
80
|
+
readonly pan: AudioParam;
|
|
81
|
+
constructor(context: AudioContext, pan: globalThis.StereoPannerNode);
|
|
82
|
+
}
|
|
83
|
+
export declare class AudioContext {
|
|
84
|
+
protected readonly context: globalThis.AudioContext;
|
|
85
|
+
readonly destination: AudioDestinationNode;
|
|
86
|
+
readonly sampleRate: number;
|
|
87
|
+
constructor();
|
|
88
|
+
get currentTime(): number;
|
|
89
|
+
get state(): ContextState;
|
|
90
|
+
createOscillator(): OscillatorNode;
|
|
91
|
+
createGain(): GainNode;
|
|
92
|
+
createStereoPanner(): StereoPannerNode;
|
|
93
|
+
createBiquadFilter(): BiquadFilterNode;
|
|
94
|
+
createBufferSource(): AudioBufferSourceNode;
|
|
95
|
+
createBuffer(numOfChannels: number, length: number, sampleRate: number): AudioBuffer;
|
|
96
|
+
createPeriodicWave(real: number[], imag: number[], constraints?: PeriodicWaveConstraints): PeriodicWave;
|
|
97
|
+
decodeAudioDataSource(source: AudioSource | number): Promise<AudioBuffer>;
|
|
98
|
+
close(): void;
|
|
99
|
+
}
|
|
100
|
+
export { ContextState, OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, } from './core/types';
|
|
14
101
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { default as AudioBuffer } from './core/AudioBuffer';
|
|
2
|
+
export { default as AudioBufferSourceNode } from './core/AudioBufferSourceNode';
|
|
3
|
+
export { default as AudioContext } from './core/AudioContext';
|
|
4
|
+
export { default as AudioDestinationNode } from './core/AudioDestinationNode';
|
|
5
|
+
export { default as AudioNode } from './core/AudioNode';
|
|
6
|
+
export { default as AudioParam } from './core/AudioParam';
|
|
7
|
+
export { default as AudioScheduledSourceNode } from './core/AudioScheduledSourceNode';
|
|
8
|
+
export { default as BaseAudioContext } from './core/BaseAudioContext';
|
|
9
|
+
export { default as BiquadFilterNode } from './core/BiquadFilterNode';
|
|
10
|
+
export { default as GainNode } from './core/GainNode';
|
|
11
|
+
export { default as OscillatorNode } from './core/OscillatorNode';
|
|
12
|
+
export { default as StereoPannerNode } from './core/StereoPannerNode';
|
|
13
|
+
export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, } from './core/types';
|
|
14
|
+
//# sourceMappingURL=index.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../src/index.native.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,GACb,MAAM,cAAc,CAAC"}
|
|
@@ -11,6 +11,7 @@ export interface IBaseAudioContext {
|
|
|
11
11
|
createBufferSource: () => IAudioBufferSourceNode;
|
|
12
12
|
createBuffer: (channels: number, length: number, sampleRate: number) => IAudioBuffer;
|
|
13
13
|
createPeriodicWave: (real: number[], imag: number[], disableNormalization: boolean) => IPeriodicWave;
|
|
14
|
+
decodeAudioDataSource: (source: string) => Promise<IAudioBuffer>;
|
|
14
15
|
}
|
|
15
16
|
export interface IAudioContext extends IBaseAudioContext {
|
|
16
17
|
close(): void;
|
|
@@ -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,EACtB,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;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|