react-native-audio-api 0.5.0-rc.1 → 0.5.1
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/README.md +2 -2
- package/RNAudioAPI.podspec +1 -1
- package/android/src/main/cpp/audioapi/android/core/AudioDecoder.cpp +87 -5
- package/common/cpp/audioapi/HostObjects/AudioBufferHostObject.h +8 -7
- package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.h +25 -0
- package/common/cpp/audioapi/core/BaseAudioContext.cpp +12 -0
- package/common/cpp/audioapi/core/BaseAudioContext.h +1 -0
- package/common/cpp/audioapi/core/utils/AudioDecoder.h +2 -1
- package/common/cpp/audioapi/jsi/AudioArrayBuffer.cpp +13 -0
- package/common/cpp/audioapi/jsi/AudioArrayBuffer.h +23 -0
- package/ios/audioapi/ios/core/AudioDecoder.mm +45 -1
- package/lib/module/core/BaseAudioContext.js +3 -0
- package/lib/module/core/BaseAudioContext.js.map +1 -1
- package/lib/module/web-core/AudioContext.js +3 -0
- package/lib/module/web-core/AudioContext.js.map +1 -1
- package/lib/typescript/core/BaseAudioContext.d.ts +1 -0
- package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
- package/lib/typescript/interfaces.d.ts +1 -0
- package/lib/typescript/interfaces.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioContext.d.ts +1 -0
- package/lib/typescript/web-core/AudioContext.d.ts.map +1 -1
- package/lib/typescript/web-core/BaseAudioContext.d.ts +1 -0
- package/lib/typescript/web-core/BaseAudioContext.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/core/BaseAudioContext.ts +6 -0
- package/src/interfaces.ts +1 -0
- package/src/web-core/AudioContext.tsx +4 -0
- package/src/web-core/BaseAudioContext.tsx +1 -0
package/README.md
CHANGED
|
@@ -33,13 +33,13 @@ To learn more about expo development builds, please check out [Development Build
|
|
|
33
33
|
## Documentation
|
|
34
34
|
|
|
35
35
|
Check out our dedicated documentation page for info about this library, API reference and more:
|
|
36
|
-
[https://software-mansion
|
|
36
|
+
[https://software-mansion.github.io/react-native-audio-api/](https://software-mansion.github.io/react-native-audio-api/)
|
|
37
37
|
|
|
38
38
|
You can also check out [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API) for fully detailed description of the audio api.
|
|
39
39
|
|
|
40
40
|
## Coverage
|
|
41
41
|
|
|
42
|
-
Our current coverage of Web Audio API specification can be found here: [Web Audio API coverage](https://software-mansion
|
|
42
|
+
Our current coverage of Web Audio API specification can be found here: [Web Audio API coverage](https://software-mansion.github.io/react-native-audio-api/other/web-audio-api-coverage).
|
|
43
43
|
|
|
44
44
|
## Examples
|
|
45
45
|
|
package/RNAudioAPI.podspec
CHANGED
|
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
|
|
|
17
17
|
s.authors = package_json["author"]
|
|
18
18
|
|
|
19
19
|
s.platforms = { :ios => min_ios_version_supported }
|
|
20
|
-
s.source = { :git => "https://github.com/software-mansion
|
|
20
|
+
s.source = { :git => "https://github.com/software-mansion/react-native-audio-api.git", :tag => "#{s.version}" }
|
|
21
21
|
|
|
22
22
|
s.subspec "audioapi" do |ss|
|
|
23
23
|
ss.source_files = "common/cpp/audioapi/**/*.{cpp,c,h}"
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
#include <audioapi/utils/AudioArray.h>
|
|
3
3
|
#include <audioapi/utils/AudioBus.h>
|
|
4
4
|
|
|
5
|
-
#include <android/log.h>
|
|
6
|
-
|
|
7
5
|
#define MINIAUDIO_IMPLEMENTATION
|
|
8
6
|
#include <audioapi/libs/miniaudio/miniaudio.h>
|
|
9
7
|
|
|
8
|
+
#include <android/log.h>
|
|
9
|
+
|
|
10
10
|
namespace audioapi {
|
|
11
11
|
|
|
12
12
|
std::shared_ptr<AudioBus> AudioDecoder::decodeWithFilePath(
|
|
13
13
|
const std::string &path) const {
|
|
14
14
|
ma_decoder decoder;
|
|
15
15
|
ma_decoder_config config =
|
|
16
|
-
ma_decoder_config_init(ma_format_f32, 2, sampleRate_);
|
|
16
|
+
ma_decoder_config_init(ma_format_f32, 2, static_cast<int>(sampleRate_));
|
|
17
17
|
ma_result result = ma_decoder_init_file(path.c_str(), &config, &decoder);
|
|
18
18
|
if (result != MA_SUCCESS) {
|
|
19
19
|
__android_log_print(
|
|
@@ -37,11 +37,57 @@ std::shared_ptr<AudioBus> AudioDecoder::decodeWithFilePath(
|
|
|
37
37
|
ma_uint64 framesDecoded;
|
|
38
38
|
ma_decoder_read_pcm_frames(&decoder, buffer, totalFrameCount, &framesDecoded);
|
|
39
39
|
if (framesDecoded == 0) {
|
|
40
|
+
__android_log_print(ANDROID_LOG_ERROR, "AudioDecoder", "Failed to decode");
|
|
41
|
+
|
|
42
|
+
delete[] buffer;
|
|
43
|
+
ma_decoder_uninit(&decoder);
|
|
44
|
+
|
|
45
|
+
return nullptr;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
for (int i = 0; i < decoder.outputChannels; ++i) {
|
|
49
|
+
auto channelData = audioBus->getChannel(i)->getData();
|
|
50
|
+
|
|
51
|
+
for (ma_uint64 j = 0; j < framesDecoded; ++j) {
|
|
52
|
+
channelData[j] = buffer[j * decoder.outputChannels + i];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
delete[] buffer;
|
|
57
|
+
ma_decoder_uninit(&decoder);
|
|
58
|
+
|
|
59
|
+
return audioBus;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
std::shared_ptr<AudioBus> AudioDecoder::decodeWithMemoryBlock(
|
|
63
|
+
const void *data,
|
|
64
|
+
size_t size) const {
|
|
65
|
+
ma_decoder decoder;
|
|
66
|
+
ma_decoder_config config =
|
|
67
|
+
ma_decoder_config_init(ma_format_f32, 2, static_cast<int>(sampleRate_));
|
|
68
|
+
ma_result result = ma_decoder_init_memory(data, size, &config, &decoder);
|
|
69
|
+
if (result != MA_SUCCESS) {
|
|
40
70
|
__android_log_print(
|
|
41
71
|
ANDROID_LOG_ERROR,
|
|
42
72
|
"AudioDecoder",
|
|
43
|
-
"Failed to
|
|
44
|
-
|
|
73
|
+
"Failed to initialize decoder for memory block");
|
|
74
|
+
|
|
75
|
+
ma_decoder_uninit(&decoder);
|
|
76
|
+
|
|
77
|
+
return nullptr;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
ma_uint64 totalFrameCount;
|
|
81
|
+
ma_decoder_get_length_in_pcm_frames(&decoder, &totalFrameCount);
|
|
82
|
+
|
|
83
|
+
auto audioBus = std::make_shared<AudioBus>(
|
|
84
|
+
static_cast<int>(totalFrameCount), 2, sampleRate_);
|
|
85
|
+
auto *buffer = new float[totalFrameCount * 2];
|
|
86
|
+
|
|
87
|
+
ma_uint64 framesDecoded;
|
|
88
|
+
ma_decoder_read_pcm_frames(&decoder, buffer, totalFrameCount, &framesDecoded);
|
|
89
|
+
if (framesDecoded == 0) {
|
|
90
|
+
__android_log_print(ANDROID_LOG_ERROR, "AudioDecoder", "Failed to decode");
|
|
45
91
|
|
|
46
92
|
delete[] buffer;
|
|
47
93
|
ma_decoder_uninit(&decoder);
|
|
@@ -62,4 +108,40 @@ std::shared_ptr<AudioBus> AudioDecoder::decodeWithFilePath(
|
|
|
62
108
|
|
|
63
109
|
return audioBus;
|
|
64
110
|
}
|
|
111
|
+
|
|
112
|
+
// std::shared_ptr<AudioBus> AudioDecoder::decode(ma_decoder &decoder) const {
|
|
113
|
+
// ma_uint64 totalFrameCount;
|
|
114
|
+
// ma_decoder_get_length_in_pcm_frames(&decoder, &totalFrameCount);
|
|
115
|
+
//
|
|
116
|
+
// auto audioBus = std::make_shared<AudioBus>(
|
|
117
|
+
// static_cast<int>(totalFrameCount), 2, sampleRate_);
|
|
118
|
+
// auto *buffer = new float[totalFrameCount * 2];
|
|
119
|
+
//
|
|
120
|
+
// ma_uint64 framesDecoded;
|
|
121
|
+
// ma_decoder_read_pcm_frames(&decoder, buffer, totalFrameCount,
|
|
122
|
+
// &framesDecoded); if (framesDecoded == 0) {
|
|
123
|
+
// __android_log_print(
|
|
124
|
+
// ANDROID_LOG_ERROR,
|
|
125
|
+
// "AudioDecoder",
|
|
126
|
+
// "Failed to decode");
|
|
127
|
+
//
|
|
128
|
+
// delete[] buffer;
|
|
129
|
+
// ma_decoder_uninit(&decoder);
|
|
130
|
+
//
|
|
131
|
+
// return nullptr;
|
|
132
|
+
// }
|
|
133
|
+
//
|
|
134
|
+
// for (int i = 0; i < decoder.outputChannels; ++i) {
|
|
135
|
+
// auto channelData = audioBus->getChannel(i)->getData();
|
|
136
|
+
//
|
|
137
|
+
// for (ma_uint64 j = 0; j < framesDecoded; ++j) {
|
|
138
|
+
// channelData[j] = buffer[j * decoder.outputChannels + i];
|
|
139
|
+
// }
|
|
140
|
+
// }
|
|
141
|
+
//
|
|
142
|
+
// delete[] buffer;
|
|
143
|
+
// ma_decoder_uninit(&decoder);
|
|
144
|
+
//
|
|
145
|
+
// return audioBus;
|
|
146
|
+
// }
|
|
65
147
|
} // namespace audioapi
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
3
|
#include <audioapi/jsi/JsiHostObject.h>
|
|
4
|
+
#include <audioapi/jsi/AudioArrayBuffer.h>
|
|
4
5
|
#include <audioapi/core/sources/AudioBuffer.h>
|
|
5
6
|
|
|
6
7
|
#include <jsi/jsi.h>
|
|
@@ -47,21 +48,21 @@ class AudioBufferHostObject : public JsiHostObject {
|
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
JSI_HOST_FUNCTION(getChannelData) {
|
|
51
|
+
// this method could cause a crash if channelData is already deallocated,
|
|
52
|
+
// but we handle deallocation internally so it should be safe
|
|
50
53
|
auto channel = static_cast<int>(args[0].getNumber());
|
|
51
|
-
auto
|
|
54
|
+
auto channelData = reinterpret_cast<uint8_t *>(audioBuffer_->getChannelData(channel));
|
|
52
55
|
auto length = static_cast<int>(audioBuffer_->getLength());
|
|
53
56
|
auto size = static_cast<int>(length * sizeof(float));
|
|
54
57
|
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
// reading or writing from this ArrayBuffer could cause a crash
|
|
59
|
+
// if underlying channelData is deallocated
|
|
60
|
+
auto audioArrayBuffer = std::make_shared<AudioArrayBuffer>(channelData, size);
|
|
61
|
+
auto arrayBuffer = jsi::ArrayBuffer(runtime, audioArrayBuffer);
|
|
57
62
|
|
|
58
63
|
auto float32ArrayCtor = runtime.global().getPropertyAsFunction(runtime, "Float32Array");
|
|
59
64
|
auto float32Array = float32ArrayCtor.callAsConstructor(runtime, arrayBuffer).getObject(runtime);
|
|
60
65
|
|
|
61
|
-
auto data = reinterpret_cast<float *>(arrayBuffer.data(runtime));
|
|
62
|
-
|
|
63
|
-
memcpy(data, channelData, size);
|
|
64
|
-
|
|
65
66
|
return float32Array;
|
|
66
67
|
}
|
|
67
68
|
|
|
@@ -46,6 +46,7 @@ class BaseAudioContextHostObject : public JsiHostObject {
|
|
|
46
46
|
JSI_EXPORT_FUNCTION(BaseAudioContextHostObject, createBuffer),
|
|
47
47
|
JSI_EXPORT_FUNCTION(BaseAudioContextHostObject, createPeriodicWave),
|
|
48
48
|
JSI_EXPORT_FUNCTION(BaseAudioContextHostObject, createAnalyser),
|
|
49
|
+
JSI_EXPORT_FUNCTION(BaseAudioContextHostObject, decodeAudioData),
|
|
49
50
|
JSI_EXPORT_FUNCTION(BaseAudioContextHostObject, decodeAudioDataSource));
|
|
50
51
|
}
|
|
51
52
|
|
|
@@ -165,6 +166,30 @@ class BaseAudioContextHostObject : public JsiHostObject {
|
|
|
165
166
|
return promise;
|
|
166
167
|
}
|
|
167
168
|
|
|
169
|
+
JSI_HOST_FUNCTION(decodeAudioData) {
|
|
170
|
+
auto arrayBuffer = args[0].getObject(runtime).getPropertyAsObject(runtime, "buffer").getArrayBuffer(runtime);
|
|
171
|
+
auto data = arrayBuffer.data(runtime);
|
|
172
|
+
auto size = static_cast<int>(arrayBuffer.size(runtime));
|
|
173
|
+
|
|
174
|
+
auto promise = promiseVendor_->createPromise([this, data, size](std::shared_ptr<Promise> promise) {
|
|
175
|
+
std::thread([this, data, size, promise = std::move(promise)]() {
|
|
176
|
+
auto results = context_->decodeAudioData(data, size);
|
|
177
|
+
auto audioBufferHostObject = std::make_shared<AudioBufferHostObject>(results);
|
|
178
|
+
|
|
179
|
+
if (!results) {
|
|
180
|
+
promise->reject("Failed to decode audio data source.");
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
promise->resolve([audioBufferHostObject = std::move(audioBufferHostObject)](jsi::Runtime &runtime) {
|
|
185
|
+
return jsi::Object::createFromHostObject(runtime, audioBufferHostObject);
|
|
186
|
+
});
|
|
187
|
+
}).detach();
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
return promise;
|
|
191
|
+
}
|
|
192
|
+
|
|
168
193
|
protected:
|
|
169
194
|
std::shared_ptr<BaseAudioContext> context_;
|
|
170
195
|
std::shared_ptr<PromiseVendor> promiseVendor_;
|
|
@@ -105,6 +105,18 @@ std::shared_ptr<AudioBuffer> BaseAudioContext::decodeAudioDataSource(
|
|
|
105
105
|
return std::make_shared<AudioBuffer>(audioBus);
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
+
std::shared_ptr<AudioBuffer> BaseAudioContext::decodeAudioData(
|
|
109
|
+
const void *data,
|
|
110
|
+
size_t size) {
|
|
111
|
+
auto audioBus = audioDecoder_->decodeWithMemoryBlock(data, size);
|
|
112
|
+
|
|
113
|
+
if (!audioBus) {
|
|
114
|
+
return nullptr;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return std::make_shared<AudioBuffer>(audioBus);
|
|
118
|
+
}
|
|
119
|
+
|
|
108
120
|
AudioNodeManager *BaseAudioContext::getNodeManager() {
|
|
109
121
|
return nodeManager_.get();
|
|
110
122
|
}
|
|
@@ -52,6 +52,7 @@ class BaseAudioContext {
|
|
|
52
52
|
std::shared_ptr<AnalyserNode> createAnalyser();
|
|
53
53
|
|
|
54
54
|
std::shared_ptr<AudioBuffer> decodeAudioDataSource(const std::string &path);
|
|
55
|
+
std::shared_ptr<AudioBuffer> decodeAudioData(const void *data, size_t size);
|
|
55
56
|
|
|
56
57
|
std::shared_ptr<PeriodicWave> getBasicWaveForm(OscillatorType type);
|
|
57
58
|
[[nodiscard]] float getNyquistFrequency() const;
|
|
@@ -9,9 +9,10 @@ class AudioBus;
|
|
|
9
9
|
|
|
10
10
|
class AudioDecoder {
|
|
11
11
|
public:
|
|
12
|
-
explicit AudioDecoder(float sampleRate)
|
|
12
|
+
explicit AudioDecoder(float sampleRate): sampleRate_(sampleRate) {}
|
|
13
13
|
|
|
14
14
|
[[nodiscard]] std::shared_ptr<AudioBus> decodeWithFilePath(const std::string &path) const;
|
|
15
|
+
[[nodiscard]] std::shared_ptr<AudioBus> decodeWithMemoryBlock(const void *data, size_t size) const;
|
|
15
16
|
|
|
16
17
|
private:
|
|
17
18
|
float sampleRate_;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <jsi/jsi.h>
|
|
4
|
+
|
|
5
|
+
namespace audioapi {
|
|
6
|
+
|
|
7
|
+
using namespace facebook;
|
|
8
|
+
|
|
9
|
+
class AudioArrayBuffer : public jsi::MutableBuffer {
|
|
10
|
+
public:
|
|
11
|
+
AudioArrayBuffer(uint8_t *data, const size_t size): data_(data), size_(size) {}
|
|
12
|
+
~AudioArrayBuffer() override = default;
|
|
13
|
+
|
|
14
|
+
[[nodiscard]] size_t size() const override;
|
|
15
|
+
uint8_t *data() override;
|
|
16
|
+
|
|
17
|
+
private:
|
|
18
|
+
uint8_t *data_;
|
|
19
|
+
const size_t size_;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
} // namespace audioapi
|
|
23
|
+
|
|
@@ -29,7 +29,51 @@ std::shared_ptr<AudioBus> AudioDecoder::decodeWithFilePath(const std::string &pa
|
|
|
29
29
|
ma_uint64 framesDecoded;
|
|
30
30
|
ma_decoder_read_pcm_frames(&decoder, buffer, totalFrameCount, &framesDecoded);
|
|
31
31
|
if (framesDecoded == 0) {
|
|
32
|
-
NSLog(@"Failed to decode
|
|
32
|
+
NSLog(@"Failed to decode");
|
|
33
|
+
|
|
34
|
+
delete[] buffer;
|
|
35
|
+
ma_decoder_uninit(&decoder);
|
|
36
|
+
|
|
37
|
+
return nullptr;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
for (int i = 0; i < decoder.outputChannels; ++i) {
|
|
41
|
+
float *channelData = audioBus->getChannel(i)->getData();
|
|
42
|
+
|
|
43
|
+
for (ma_uint64 j = 0; j < framesDecoded; ++j) {
|
|
44
|
+
channelData[j] = buffer[j * decoder.outputChannels + i];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
delete[] buffer;
|
|
49
|
+
ma_decoder_uninit(&decoder);
|
|
50
|
+
|
|
51
|
+
return audioBus;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
std::shared_ptr<AudioBus> AudioDecoder::decodeWithMemoryBlock(const void *data, size_t size) const
|
|
55
|
+
{
|
|
56
|
+
ma_decoder decoder;
|
|
57
|
+
ma_decoder_config config = ma_decoder_config_init(ma_format_f32, 2, sampleRate_);
|
|
58
|
+
ma_result result = ma_decoder_init_memory(data, size, &config, &decoder);
|
|
59
|
+
if (result != MA_SUCCESS) {
|
|
60
|
+
NSLog(@"Failed to initialize decoder for memory block");
|
|
61
|
+
|
|
62
|
+
ma_decoder_uninit(&decoder);
|
|
63
|
+
|
|
64
|
+
return nullptr;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
ma_uint64 totalFrameCount;
|
|
68
|
+
ma_decoder_get_length_in_pcm_frames(&decoder, &totalFrameCount);
|
|
69
|
+
|
|
70
|
+
auto audioBus = std::make_shared<AudioBus>(static_cast<int>(totalFrameCount), 2, sampleRate_);
|
|
71
|
+
auto *buffer = new float[totalFrameCount * 2];
|
|
72
|
+
|
|
73
|
+
ma_uint64 framesDecoded;
|
|
74
|
+
ma_decoder_read_pcm_frames(&decoder, buffer, totalFrameCount, &framesDecoded);
|
|
75
|
+
if (framesDecoded == 0) {
|
|
76
|
+
NSLog(@"Failed to decode");
|
|
33
77
|
|
|
34
78
|
delete[] buffer;
|
|
35
79
|
ma_decoder_uninit(&decoder);
|
|
@@ -67,5 +67,8 @@ export default class BaseAudioContext {
|
|
|
67
67
|
}
|
|
68
68
|
return new AudioBuffer(await this.context.decodeAudioDataSource(sourcePath));
|
|
69
69
|
}
|
|
70
|
+
async decodeAudioData(arrayBuffer) {
|
|
71
|
+
return new AudioBuffer(await this.context.decodeAudioData(new Uint8Array(arrayBuffer)));
|
|
72
|
+
}
|
|
70
73
|
}
|
|
71
74
|
//# sourceMappingURL=BaseAudioContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioDestinationNode","OscillatorNode","GainNode","StereoPannerNode","BiquadFilterNode","AudioBufferSourceNode","AudioBuffer","PeriodicWave","AnalyserNode","InvalidAccessError","NotSupportedError","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","options","pitchCorrection","createBuffer","numOfChannels","length","createPeriodicWave","real","imag","constraints","disableNormalization","createAnalyser","decodeAudioDataSource","sourcePath","startsWith","replace"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["AudioDestinationNode","OscillatorNode","GainNode","StereoPannerNode","BiquadFilterNode","AudioBufferSourceNode","AudioBuffer","PeriodicWave","AnalyserNode","InvalidAccessError","NotSupportedError","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","options","pitchCorrection","createBuffer","numOfChannels","length","createPeriodicWave","real","imag","constraints","disableNormalization","createAnalyser","decodeAudioDataSource","sourcePath","startsWith","replace","decodeAudioData","arrayBuffer","Uint8Array"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -69,6 +69,9 @@ export default class AudioContext {
|
|
|
69
69
|
}
|
|
70
70
|
async decodeAudioDataSource(source) {
|
|
71
71
|
const arrayBuffer = await fetch(source).then(response => response.arrayBuffer());
|
|
72
|
+
return this.decodeAudioData(arrayBuffer);
|
|
73
|
+
}
|
|
74
|
+
async decodeAudioData(arrayBuffer) {
|
|
72
75
|
return new AudioBuffer(await this.context.decodeAudioData(arrayBuffer));
|
|
73
76
|
}
|
|
74
77
|
async close() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InvalidAccessError","NotSupportedError","AnalyserNode","AudioDestinationNode","AudioBuffer","AudioBufferSourceNode","BiquadFilterNode","GainNode","OscillatorNode","PeriodicWave","StereoPannerNode","globalWasmPromise","globalTag","AudioContext","constructor","options","sampleRate","context","window","destination","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","pitchCorrection","wasmStretch","createBuffer","numOfChannels","length","createPeriodicWave","real","imag","constraints","createAnalyser","decodeAudioDataSource","source","arrayBuffer","fetch","then","response","decodeAudioData","close","resume","suspend"],"sourceRoot":"../../../src","sources":["web-core/AudioContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["InvalidAccessError","NotSupportedError","AnalyserNode","AudioDestinationNode","AudioBuffer","AudioBufferSourceNode","BiquadFilterNode","GainNode","OscillatorNode","PeriodicWave","StereoPannerNode","globalWasmPromise","globalTag","AudioContext","constructor","options","sampleRate","context","window","destination","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","pitchCorrection","wasmStretch","createBuffer","numOfChannels","length","createPeriodicWave","real","imag","constraints","createAnalyser","decodeAudioDataSource","source","arrayBuffer","fetch","then","response","decodeAudioData","close","resume","suspend"],"sourceRoot":"../../../src","sources":["web-core/AudioContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -25,5 +25,6 @@ export default class BaseAudioContext {
|
|
|
25
25
|
createPeriodicWave(real: Float32Array, imag: Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave;
|
|
26
26
|
createAnalyser(): AnalyserNode;
|
|
27
27
|
decodeAudioDataSource(sourcePath: string): Promise<AudioBuffer>;
|
|
28
|
+
decodeAudioData(arrayBuffer: ArrayBuffer): Promise<AudioBuffer>;
|
|
28
29
|
}
|
|
29
30
|
//# 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,EACL,YAAY,EACZ,uBAAuB,EACvB,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAClB,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;AAC1C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C,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,CAChB,OAAO,CAAC,EAAE,4BAA4B,GACrC,qBAAqB;IASxB,YAAY,CACV,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,WAAW;IAwBd,kBAAkB,CAChB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,YAAY,EAClB,WAAW,CAAC,EAAE,uBAAuB,GACpC,YAAY;IAcf,cAAc,IAAI,YAAY;IAIxB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,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,EACL,YAAY,EACZ,uBAAuB,EACvB,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAClB,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;AAC1C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C,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,CAChB,OAAO,CAAC,EAAE,4BAA4B,GACrC,qBAAqB;IASxB,YAAY,CACV,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,WAAW;IAwBd,kBAAkB,CAChB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,YAAY,EAClB,WAAW,CAAC,EAAE,uBAAuB,GACpC,YAAY;IAcf,cAAc,IAAI,YAAY;IAIxB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAW/D,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAKtE"}
|
|
@@ -16,6 +16,7 @@ export interface IBaseAudioContext {
|
|
|
16
16
|
createPeriodicWave: (real: Float32Array, imag: Float32Array, disableNormalization: boolean) => IPeriodicWave;
|
|
17
17
|
createAnalyser: () => IAnalyserNode;
|
|
18
18
|
decodeAudioDataSource: (sourcePath: string) => Promise<IAudioBuffer>;
|
|
19
|
+
decodeAudioData: (arrayBuffer: ArrayBuffer) => Promise<IAudioBuffer>;
|
|
19
20
|
}
|
|
20
21
|
export interface IAudioContext extends IBaseAudioContext {
|
|
21
22
|
close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
|
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,SAAS,CAAC;AAEjB,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;CAC5D;AAED,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,CAAC,eAAe,EAAE,OAAO,KAAK,sBAAsB,CAAC;IACzE,YAAY,EAAE,CACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,KACf,YAAY,CAAC;IAClB,kBAAkB,EAAE,CAClB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,YAAY,EAClB,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;IACrE,eAAe,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;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,YAAY,EAC5B,iBAAiB,EAAE,YAAY,EAC/B,mBAAmB,EAAE,YAAY,GAChC,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;IAC7B,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CACxC;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,YAAY,CAAC;IAC9C,eAAe,CACb,WAAW,EAAE,YAAY,EACzB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB,IAAI,CAAC;IACR,aAAa,CACX,MAAM,EAAE,YAAY,EACpB,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,YAAY,EACpB,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,YAAY,KAAK,IAAI,CAAC;IACrD,oBAAoB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAClD,sBAAsB,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACtD,qBAAqB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACpD"}
|
|
@@ -25,6 +25,7 @@ export default class AudioContext implements BaseAudioContext {
|
|
|
25
25
|
createPeriodicWave(real: Float32Array, imag: Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave;
|
|
26
26
|
createAnalyser(): AnalyserNode;
|
|
27
27
|
decodeAudioDataSource(source: string): Promise<AudioBuffer>;
|
|
28
|
+
decodeAudioData(arrayBuffer: ArrayBuffer): Promise<AudioBuffer>;
|
|
28
29
|
close(): Promise<void>;
|
|
29
30
|
resume(): Promise<void>;
|
|
30
31
|
suspend(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioContext.d.ts","sourceRoot":"","sources":["../../../src/web-core/AudioContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAElB,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAIlD,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,gBAAgB;IAC3D,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC;IAE1C,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,OAAO,CAAC,EAAE,mBAAmB;IAazC,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;IAIhC,kBAAkB,CACtB,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,qBAAqB,CAAC;IAgBjC,YAAY,CACV,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,WAAW;IAwBd,kBAAkB,CAChB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,YAAY,EAClB,WAAW,CAAC,EAAE,uBAAuB,GACpC,YAAY;IAYf,cAAc,IAAI,YAAY;IAIxB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|
|
1
|
+
{"version":3,"file":"AudioContext.d.ts","sourceRoot":"","sources":["../../../src/web-core/AudioContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAElB,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAIlD,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,gBAAgB;IAC3D,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC;IAE1C,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,OAAO,CAAC,EAAE,mBAAmB;IAazC,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;IAIhC,kBAAkB,CACtB,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,qBAAqB,CAAC;IAgBjC,YAAY,CACV,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,WAAW;IAwBd,kBAAkB,CAChB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,YAAY,EAClB,WAAW,CAAC,EAAE,uBAAuB,GACpC,YAAY;IAYf,cAAc,IAAI,YAAY;IAIxB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ3D,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAI/D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|
|
@@ -23,5 +23,6 @@ export default interface BaseAudioContext {
|
|
|
23
23
|
createPeriodicWave(real: Float32Array, imag: Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave;
|
|
24
24
|
createAnalyser(): AnalyserNode;
|
|
25
25
|
decodeAudioDataSource(source: string): Promise<AudioBuffer>;
|
|
26
|
+
decodeAudioData(arrayBuffer: ArrayBuffer): Promise<AudioBuffer>;
|
|
26
27
|
}
|
|
27
28
|
//# sourceMappingURL=BaseAudioContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAudioContext.d.ts","sourceRoot":"","sources":["../../../src/web-core/BaseAudioContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,OAAO,WAAW,gBAAgB;IACvC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC;IAE9C,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,IAAI,WAAW,IAAI,MAAM,CAAC;IAC1B,IAAI,KAAK,IAAI,YAAY,CAAC;IAC1B,gBAAgB,IAAI,cAAc,CAAC;IACnC,UAAU,IAAI,QAAQ,CAAC;IACvB,kBAAkB,IAAI,gBAAgB,CAAC;IACvC,kBAAkB,IAAI,gBAAgB,CAAC;IACvC,kBAAkB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACrD,YAAY,CACV,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,WAAW,CAAC;IACf,kBAAkB,CAChB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,YAAY,EAClB,WAAW,CAAC,EAAE,uBAAuB,GACpC,YAAY,CAAC;IAChB,cAAc,IAAI,YAAY,CAAC;IAC/B,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseAudioContext.d.ts","sourceRoot":"","sources":["../../../src/web-core/BaseAudioContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,OAAO,WAAW,gBAAgB;IACvC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC;IAE9C,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,IAAI,WAAW,IAAI,MAAM,CAAC;IAC1B,IAAI,KAAK,IAAI,YAAY,CAAC;IAC1B,gBAAgB,IAAI,cAAc,CAAC;IACnC,UAAU,IAAI,QAAQ,CAAC;IACvB,kBAAkB,IAAI,gBAAgB,CAAC;IACvC,kBAAkB,IAAI,gBAAgB,CAAC;IACvC,kBAAkB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACrD,YAAY,CACV,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,WAAW,CAAC;IACf,kBAAkB,CAChB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,YAAY,EAClB,WAAW,CAAC,EAAE,uBAAuB,GACpC,YAAY,CAAC;IAChB,cAAc,IAAI,YAAY,CAAC;IAC/B,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5D,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACjE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-audio-api",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification",
|
|
5
5
|
"bin": {
|
|
6
6
|
"setup-rn-audio-api-web": "./scripts/setup-rn-audio-api-web.js"
|
|
@@ -65,14 +65,14 @@
|
|
|
65
65
|
],
|
|
66
66
|
"repository": {
|
|
67
67
|
"type": "git",
|
|
68
|
-
"url": "git+https://github.com/software-mansion
|
|
68
|
+
"url": "git+https://github.com/software-mansion/react-native-audio-api.git"
|
|
69
69
|
},
|
|
70
|
-
"author": "Software Mansion Labs (https://github.com/software-mansion
|
|
70
|
+
"author": "Software Mansion Labs (https://github.com/software-mansion)",
|
|
71
71
|
"license": "MIT",
|
|
72
72
|
"bugs": {
|
|
73
|
-
"url": "https://github.com/software-mansion
|
|
73
|
+
"url": "https://github.com/software-mansion/react-native-audio-api/issues"
|
|
74
74
|
},
|
|
75
|
-
"homepage": "https://github.com/software-mansion
|
|
75
|
+
"homepage": "https://github.com/software-mansion/react-native-audio-api#readme",
|
|
76
76
|
"publishConfig": {
|
|
77
77
|
"registry": "https://registry.npmjs.org/"
|
|
78
78
|
},
|
|
@@ -121,4 +121,10 @@ export default class BaseAudioContext {
|
|
|
121
121
|
await this.context.decodeAudioDataSource(sourcePath)
|
|
122
122
|
);
|
|
123
123
|
}
|
|
124
|
+
|
|
125
|
+
async decodeAudioData(arrayBuffer: ArrayBuffer): Promise<AudioBuffer> {
|
|
126
|
+
return new AudioBuffer(
|
|
127
|
+
await this.context.decodeAudioData(new Uint8Array(arrayBuffer))
|
|
128
|
+
);
|
|
129
|
+
}
|
|
124
130
|
}
|
package/src/interfaces.ts
CHANGED
|
@@ -34,6 +34,7 @@ export interface IBaseAudioContext {
|
|
|
34
34
|
) => IPeriodicWave;
|
|
35
35
|
createAnalyser: () => IAnalyserNode;
|
|
36
36
|
decodeAudioDataSource: (sourcePath: string) => Promise<IAudioBuffer>;
|
|
37
|
+
decodeAudioData: (arrayBuffer: ArrayBuffer) => Promise<IAudioBuffer>;
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
export interface IAudioContext extends IBaseAudioContext {
|
|
@@ -132,6 +132,10 @@ export default class AudioContext implements BaseAudioContext {
|
|
|
132
132
|
response.arrayBuffer()
|
|
133
133
|
);
|
|
134
134
|
|
|
135
|
+
return this.decodeAudioData(arrayBuffer);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
async decodeAudioData(arrayBuffer: ArrayBuffer): Promise<AudioBuffer> {
|
|
135
139
|
return new AudioBuffer(await this.context.decodeAudioData(arrayBuffer));
|
|
136
140
|
}
|
|
137
141
|
|