react-native-audio-api 0.7.1-nightly-a771e30-20250807 → 0.7.1-nightly-5a218c6-20250809
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/common/cpp/audioapi/HostObjects/AudioBufferQueueSourceNodeHostObject.h +21 -0
- package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.cpp +30 -0
- package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.h +2 -0
- package/lib/commonjs/core/AudioBufferQueueSourceNode.js +10 -0
- package/lib/commonjs/core/AudioBufferQueueSourceNode.js.map +1 -1
- package/lib/commonjs/plugin/withAudioAPI.js +11 -0
- package/lib/commonjs/plugin/withAudioAPI.js.map +1 -1
- package/lib/module/core/AudioBufferQueueSourceNode.js +10 -0
- package/lib/module/core/AudioBufferQueueSourceNode.js.map +1 -1
- package/lib/module/plugin/withAudioAPI.js +11 -0
- package/lib/module/plugin/withAudioAPI.js.map +1 -1
- package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts +2 -0
- package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts.map +1 -1
- package/lib/typescript/interfaces.d.ts +2 -0
- package/lib/typescript/interfaces.d.ts.map +1 -1
- package/lib/typescript/plugin/withAudioAPI.d.ts +1 -0
- package/lib/typescript/plugin/withAudioAPI.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/AudioBufferQueueSourceNode.ts +14 -0
- package/src/interfaces.ts +3 -0
- package/src/plugin/withAudioAPI.ts +15 -0
|
@@ -41,6 +41,27 @@ class AudioBufferQueueSourceNodeHostObject
|
|
|
41
41
|
|
|
42
42
|
return jsi::String::createFromUtf8(runtime, bufferId);
|
|
43
43
|
}
|
|
44
|
+
|
|
45
|
+
JSI_HOST_FUNCTION(dequeueBuffer) {
|
|
46
|
+
auto audioBufferQueueSourceNode =
|
|
47
|
+
std::static_pointer_cast<AudioBufferQueueSourceNode>(node_);
|
|
48
|
+
|
|
49
|
+
auto bufferId =
|
|
50
|
+
args[0].getNumber();
|
|
51
|
+
|
|
52
|
+
audioBufferQueueSourceNode->dequeueBuffer(bufferId);
|
|
53
|
+
|
|
54
|
+
return jsi::Value::undefined();
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
JSI_HOST_FUNCTION(clearBuffers) {
|
|
58
|
+
auto audioBufferQueueSourceNode =
|
|
59
|
+
std::static_pointer_cast<AudioBufferQueueSourceNode>(node_);
|
|
60
|
+
|
|
61
|
+
audioBufferQueueSourceNode->clearBuffers();
|
|
62
|
+
|
|
63
|
+
return jsi::Value::undefined();
|
|
64
|
+
}
|
|
44
65
|
};
|
|
45
66
|
|
|
46
67
|
} // namespace audioapi
|
|
@@ -43,6 +43,36 @@ std::string AudioBufferQueueSourceNode::enqueueBuffer(
|
|
|
43
43
|
return std::to_string(bufferId_++);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
void AudioBufferQueueSourceNode::dequeueBuffer(const size_t bufferId) {
|
|
47
|
+
auto locker = Locker(getBufferLock());
|
|
48
|
+
if (buffers_.empty()) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (buffers_.front().first == bufferId) {
|
|
53
|
+
buffers_.pop();
|
|
54
|
+
vReadIndex_ = 0.0;
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// If the buffer is not at the front, we need to remove it from the queue.
|
|
59
|
+
// And keep vReadIndex_ at the same position.
|
|
60
|
+
std::queue<std::pair<size_t, std::shared_ptr<AudioBuffer>>> newQueue;
|
|
61
|
+
while (!buffers_.empty()) {
|
|
62
|
+
if (buffers_.front().first != bufferId) {
|
|
63
|
+
newQueue.push(buffers_.front());
|
|
64
|
+
}
|
|
65
|
+
buffers_.pop();
|
|
66
|
+
}
|
|
67
|
+
std::swap(buffers_, newQueue);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
void AudioBufferQueueSourceNode::clearBuffers() {
|
|
71
|
+
auto locker = Locker(getBufferLock());
|
|
72
|
+
buffers_ = {};
|
|
73
|
+
vReadIndex_ = 0.0;
|
|
74
|
+
}
|
|
75
|
+
|
|
46
76
|
void AudioBufferQueueSourceNode::disable() {
|
|
47
77
|
if (isPaused_) {
|
|
48
78
|
playbackState_ = PlaybackState::UNSCHEDULED;
|
|
@@ -24,6 +24,8 @@ class AudioBufferQueueSourceNode : public AudioBufferBaseSourceNode {
|
|
|
24
24
|
void pause();
|
|
25
25
|
|
|
26
26
|
std::string enqueueBuffer(const std::shared_ptr<AudioBuffer> &buffer);
|
|
27
|
+
void dequeueBuffer(const size_t bufferId);
|
|
28
|
+
void clearBuffers();
|
|
27
29
|
void disable() override;
|
|
28
30
|
|
|
29
31
|
protected:
|
|
@@ -11,6 +11,16 @@ class AudioBufferQueueSourceNode extends _AudioBufferBaseSourceNode.default {
|
|
|
11
11
|
enqueueBuffer(buffer) {
|
|
12
12
|
return this.node.enqueueBuffer(buffer.buffer);
|
|
13
13
|
}
|
|
14
|
+
dequeueBuffer(bufferId) {
|
|
15
|
+
const id = parseInt(bufferId, 10);
|
|
16
|
+
if (isNaN(id) || id < 0) {
|
|
17
|
+
throw new _errors.RangeError(`bufferId must be a non-negative integer: ${bufferId}`);
|
|
18
|
+
}
|
|
19
|
+
this.node.dequeueBuffer(id);
|
|
20
|
+
}
|
|
21
|
+
clearBuffers() {
|
|
22
|
+
this.node.clearBuffers();
|
|
23
|
+
}
|
|
14
24
|
start(when = 0, offset) {
|
|
15
25
|
if (when < 0) {
|
|
16
26
|
throw new _errors.RangeError(`when must be a finite non-negative number: ${when}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_AudioBufferBaseSourceNode","_interopRequireDefault","require","_errors","e","__esModule","default","AudioBufferQueueSourceNode","AudioBufferBaseSourceNode","enqueueBuffer","buffer","node","
|
|
1
|
+
{"version":3,"names":["_AudioBufferBaseSourceNode","_interopRequireDefault","require","_errors","e","__esModule","default","AudioBufferQueueSourceNode","AudioBufferBaseSourceNode","enqueueBuffer","buffer","node","dequeueBuffer","bufferId","id","parseInt","isNaN","RangeError","clearBuffers","start","when","offset","stop","pause","exports"],"sourceRoot":"../../../src","sources":["core/AudioBufferQueueSourceNode.ts"],"mappings":";;;;;;AACA,IAAAA,0BAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAAuC,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExB,MAAMG,0BAA0B,SAASC,kCAAyB,CAAC;EACzEC,aAAaA,CAACC,MAAmB,EAAU;IAChD,OAAQ,IAAI,CAACC,IAAI,CAAiCF,aAAa,CAC7DC,MAAM,CAACA,MACT,CAAC;EACH;EAEOE,aAAaA,CAACC,QAAgB,EAAQ;IAC3C,MAAMC,EAAE,GAAGC,QAAQ,CAACF,QAAQ,EAAE,EAAE,CAAC;IACjC,IAAIG,KAAK,CAACF,EAAE,CAAC,IAAIA,EAAE,GAAG,CAAC,EAAE;MACvB,MAAM,IAAIG,kBAAU,CAClB,4CAA4CJ,QAAQ,EACtD,CAAC;IACH;IACC,IAAI,CAACF,IAAI,CAAiCC,aAAa,CAACE,EAAE,CAAC;EAC9D;EAEOI,YAAYA,CAAA,EAAS;IACzB,IAAI,CAACP,IAAI,CAAiCO,YAAY,CAAC,CAAC;EAC3D;EAEgBC,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAEC,MAAe,EAAQ;IAC7D,IAAID,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIH,kBAAU,CAClB,8CAA8CG,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,EAAE;MACV,IAAIA,MAAM,GAAG,CAAC,EAAE;QACd,MAAM,IAAIJ,kBAAU,CAClB,gDAAgDI,MAAM,EACxD,CAAC;MACH;IACF;IAEC,IAAI,CAACV,IAAI,CAAiCQ,KAAK,CAACC,IAAI,CAAC;EACxD;EAEgBE,IAAIA,CAACF,IAAY,GAAG,CAAC,EAAQ;IAC3C,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIH,kBAAU,CAClB,8CAA8CG,IAAI,EACpD,CAAC;IACH;IAEC,IAAI,CAACT,IAAI,CAAiCW,IAAI,CAACF,IAAI,CAAC;EACvD;EAEOG,KAAKA,CAAA,EAAS;IAClB,IAAI,CAACZ,IAAI,CAAiCY,KAAK,CAAC,CAAC;EACpD;AACF;AAACC,OAAA,CAAAlB,OAAA,GAAAC,0BAAA","ignoreList":[]}
|
|
@@ -21,6 +21,14 @@ const withBackgroundAudio = config => {
|
|
|
21
21
|
return iosConfig;
|
|
22
22
|
});
|
|
23
23
|
};
|
|
24
|
+
const withIosMicrophonePermission = (config, {
|
|
25
|
+
iosMicrophonePermission
|
|
26
|
+
}) => {
|
|
27
|
+
return (0, _configPlugins.withInfoPlist)(config, iosConfig => {
|
|
28
|
+
iosConfig.modResults.NSMicrophoneUsageDescription = iosMicrophonePermission;
|
|
29
|
+
return iosConfig;
|
|
30
|
+
});
|
|
31
|
+
};
|
|
24
32
|
const withAndroidPermissions = (config, {
|
|
25
33
|
androidPermissions
|
|
26
34
|
}) => {
|
|
@@ -57,6 +65,9 @@ const withAudioAPI = (config, optionsIn) => {
|
|
|
57
65
|
if (options.androidForegroundService) {
|
|
58
66
|
config = withForegroundService(config, options);
|
|
59
67
|
}
|
|
68
|
+
if (options.iosMicrophonePermission) {
|
|
69
|
+
config = withIosMicrophonePermission(config, options);
|
|
70
|
+
}
|
|
60
71
|
return config;
|
|
61
72
|
};
|
|
62
73
|
var _default = exports.default = (0, _configPlugins.createRunOncePlugin)(withAudioAPI, pkg.name, pkg.version);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_configPlugins","require","pkg","withDefaultOptions","options","iosBackgroundMode","androidPermissions","androidForegroundService","androidFSTypes","withBackgroundAudio","config","withInfoPlist","iosConfig","modResults","UIBackgroundModes","Array","from","Set","withAndroidPermissions","AndroidConfig","Permissions","withPermissions","withForegroundService","withAndroidManifest","mod","manifest","mainApplication","Manifest","getMainApplicationOrThrow","SFTypes","join","serviceElement","$","intentFilter","service","push","withAudioAPI","optionsIn","_default","exports","default","createRunOncePlugin","name","version"],"sourceRoot":"../../../src","sources":["plugin/withAudioAPI.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAOA,MAAMC,GAAG,GAAGD,OAAO,CAAC,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"names":["_configPlugins","require","pkg","withDefaultOptions","options","iosBackgroundMode","androidPermissions","androidForegroundService","androidFSTypes","withBackgroundAudio","config","withInfoPlist","iosConfig","modResults","UIBackgroundModes","Array","from","Set","withIosMicrophonePermission","iosMicrophonePermission","NSMicrophoneUsageDescription","withAndroidPermissions","AndroidConfig","Permissions","withPermissions","withForegroundService","withAndroidManifest","mod","manifest","mainApplication","Manifest","getMainApplicationOrThrow","SFTypes","join","serviceElement","$","intentFilter","service","push","withAudioAPI","optionsIn","_default","exports","default","createRunOncePlugin","name","version"],"sourceRoot":"../../../src","sources":["plugin/withAudioAPI.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,16 @@ export default class AudioBufferQueueSourceNode extends AudioBufferBaseSourceNod
|
|
|
6
6
|
enqueueBuffer(buffer) {
|
|
7
7
|
return this.node.enqueueBuffer(buffer.buffer);
|
|
8
8
|
}
|
|
9
|
+
dequeueBuffer(bufferId) {
|
|
10
|
+
const id = parseInt(bufferId, 10);
|
|
11
|
+
if (isNaN(id) || id < 0) {
|
|
12
|
+
throw new RangeError(`bufferId must be a non-negative integer: ${bufferId}`);
|
|
13
|
+
}
|
|
14
|
+
this.node.dequeueBuffer(id);
|
|
15
|
+
}
|
|
16
|
+
clearBuffers() {
|
|
17
|
+
this.node.clearBuffers();
|
|
18
|
+
}
|
|
9
19
|
start(when = 0, offset) {
|
|
10
20
|
if (when < 0) {
|
|
11
21
|
throw new RangeError(`when must be a finite non-negative number: ${when}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioBufferBaseSourceNode","RangeError","AudioBufferQueueSourceNode","enqueueBuffer","buffer","node","start","when","offset","stop","pause"],"sourceRoot":"../../../src","sources":["core/AudioBufferQueueSourceNode.ts"],"mappings":";;AACA,OAAOA,yBAAyB,MAAM,gCAA6B;AAEnE,SAASC,UAAU,QAAQ,oBAAW;AAEtC,eAAe,MAAMC,0BAA0B,SAASF,yBAAyB,CAAC;EACzEG,aAAaA,CAACC,MAAmB,EAAU;IAChD,OAAQ,IAAI,CAACC,IAAI,CAAiCF,aAAa,CAC7DC,MAAM,CAACA,MACT,CAAC;EACH;
|
|
1
|
+
{"version":3,"names":["AudioBufferBaseSourceNode","RangeError","AudioBufferQueueSourceNode","enqueueBuffer","buffer","node","dequeueBuffer","bufferId","id","parseInt","isNaN","clearBuffers","start","when","offset","stop","pause"],"sourceRoot":"../../../src","sources":["core/AudioBufferQueueSourceNode.ts"],"mappings":";;AACA,OAAOA,yBAAyB,MAAM,gCAA6B;AAEnE,SAASC,UAAU,QAAQ,oBAAW;AAEtC,eAAe,MAAMC,0BAA0B,SAASF,yBAAyB,CAAC;EACzEG,aAAaA,CAACC,MAAmB,EAAU;IAChD,OAAQ,IAAI,CAACC,IAAI,CAAiCF,aAAa,CAC7DC,MAAM,CAACA,MACT,CAAC;EACH;EAEOE,aAAaA,CAACC,QAAgB,EAAQ;IAC3C,MAAMC,EAAE,GAAGC,QAAQ,CAACF,QAAQ,EAAE,EAAE,CAAC;IACjC,IAAIG,KAAK,CAACF,EAAE,CAAC,IAAIA,EAAE,GAAG,CAAC,EAAE;MACvB,MAAM,IAAIP,UAAU,CAClB,4CAA4CM,QAAQ,EACtD,CAAC;IACH;IACC,IAAI,CAACF,IAAI,CAAiCC,aAAa,CAACE,EAAE,CAAC;EAC9D;EAEOG,YAAYA,CAAA,EAAS;IACzB,IAAI,CAACN,IAAI,CAAiCM,YAAY,CAAC,CAAC;EAC3D;EAEgBC,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAEC,MAAe,EAAQ;IAC7D,IAAID,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIZ,UAAU,CAClB,8CAA8CY,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,EAAE;MACV,IAAIA,MAAM,GAAG,CAAC,EAAE;QACd,MAAM,IAAIb,UAAU,CAClB,gDAAgDa,MAAM,EACxD,CAAC;MACH;IACF;IAEC,IAAI,CAACT,IAAI,CAAiCO,KAAK,CAACC,IAAI,CAAC;EACxD;EAEgBE,IAAIA,CAACF,IAAY,GAAG,CAAC,EAAQ;IAC3C,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIZ,UAAU,CAClB,8CAA8CY,IAAI,EACpD,CAAC;IACH;IAEC,IAAI,CAACR,IAAI,CAAiCU,IAAI,CAACF,IAAI,CAAC;EACvD;EAEOG,KAAKA,CAAA,EAAS;IAClB,IAAI,CAACX,IAAI,CAAiCW,KAAK,CAAC,CAAC;EACpD;AACF","ignoreList":[]}
|
|
@@ -17,6 +17,14 @@ const withBackgroundAudio = config => {
|
|
|
17
17
|
return iosConfig;
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
|
+
const withIosMicrophonePermission = (config, {
|
|
21
|
+
iosMicrophonePermission
|
|
22
|
+
}) => {
|
|
23
|
+
return withInfoPlist(config, iosConfig => {
|
|
24
|
+
iosConfig.modResults.NSMicrophoneUsageDescription = iosMicrophonePermission;
|
|
25
|
+
return iosConfig;
|
|
26
|
+
});
|
|
27
|
+
};
|
|
20
28
|
const withAndroidPermissions = (config, {
|
|
21
29
|
androidPermissions
|
|
22
30
|
}) => {
|
|
@@ -53,6 +61,9 @@ const withAudioAPI = (config, optionsIn) => {
|
|
|
53
61
|
if (options.androidForegroundService) {
|
|
54
62
|
config = withForegroundService(config, options);
|
|
55
63
|
}
|
|
64
|
+
if (options.iosMicrophonePermission) {
|
|
65
|
+
config = withIosMicrophonePermission(config, options);
|
|
66
|
+
}
|
|
56
67
|
return config;
|
|
57
68
|
};
|
|
58
69
|
export default createRunOncePlugin(withAudioAPI, pkg.name, pkg.version);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AndroidConfig","createRunOncePlugin","withInfoPlist","withAndroidManifest","pkg","require","withDefaultOptions","options","iosBackgroundMode","androidPermissions","androidForegroundService","androidFSTypes","withBackgroundAudio","config","iosConfig","modResults","UIBackgroundModes","Array","from","Set","withAndroidPermissions","Permissions","withPermissions","withForegroundService","mod","manifest","mainApplication","Manifest","getMainApplicationOrThrow","SFTypes","join","serviceElement","$","intentFilter","service","push","withAudioAPI","optionsIn","name","version"],"sourceRoot":"../../../src","sources":["plugin/withAudioAPI.ts"],"mappings":";;AAAA,SACEA,aAAa,EACbC,mBAAmB,EAEnBC,aAAa,EACbC,mBAAmB,QACd,sBAAsB;AAC7B,MAAMC,GAAG,GAAGC,OAAO,CAAC,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"names":["AndroidConfig","createRunOncePlugin","withInfoPlist","withAndroidManifest","pkg","require","withDefaultOptions","options","iosBackgroundMode","androidPermissions","androidForegroundService","androidFSTypes","withBackgroundAudio","config","iosConfig","modResults","UIBackgroundModes","Array","from","Set","withIosMicrophonePermission","iosMicrophonePermission","NSMicrophoneUsageDescription","withAndroidPermissions","Permissions","withPermissions","withForegroundService","mod","manifest","mainApplication","Manifest","getMainApplicationOrThrow","SFTypes","join","serviceElement","$","intentFilter","service","push","withAudioAPI","optionsIn","name","version"],"sourceRoot":"../../../src","sources":["plugin/withAudioAPI.ts"],"mappings":";;AAAA,SACEA,aAAa,EACbC,mBAAmB,EAEnBC,aAAa,EACbC,mBAAmB,QACd,sBAAsB;AAC7B,MAAMC,GAAG,GAAGC,OAAO,CAAC,qCAAqC,CAAC;AAU1D,MAAMC,kBAAkB,GAAIC,OAAyB,IAAc;EACjE,OAAO;IACLC,iBAAiB,EAAE,IAAI;IACvBC,kBAAkB,EAAE,CAClB,uCAAuC,EACvC,sDAAsD,CACvD;IACDC,wBAAwB,EAAE,IAAI;IAC9BC,cAAc,EAAE,CAAC,eAAe,CAAC;IACjC,GAAGJ;EACL,CAAC;AACH,CAAC;AAED,MAAMK,mBAAiC,GAAIC,MAAM,IAAK;EACpD,OAAOX,aAAa,CAACW,MAAM,EAAGC,SAAS,IAAK;IAC1CA,SAAS,CAACC,UAAU,CAACC,iBAAiB,GAAG,CACvC,GAAGC,KAAK,CAACC,IAAI,CACX,IAAIC,GAAG,CAAC,CAAC,IAAIL,SAAS,CAACC,UAAU,CAACC,iBAAiB,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CACtE,CAAC,CACF;IAED,OAAOF,SAAS;EAClB,CAAC,CAAC;AACJ,CAAC;AAED,MAAMM,2BAAkD,GAAGA,CACzDP,MAAM,EACN;EAAEQ;AAAwB,CAAC,KACxB;EACH,OAAOnB,aAAa,CAACW,MAAM,EAAGC,SAAS,IAAK;IAC1CA,SAAS,CAACC,UAAU,CAACO,4BAA4B,GAAGD,uBAAuB;IAC3E,OAAOP,SAAS;EAClB,CAAC,CAAC;AACJ,CAAC;AAED,MAAMS,sBAA6C,GAAGA,CACpDV,MAAM,EACN;EAAEJ;AAA4B,CAAC,KAC5B;EACH,OAAOT,aAAa,CAACwB,WAAW,CAACC,eAAe,CAACZ,MAAM,EAAEJ,kBAAkB,CAAC;AAC9E,CAAC;AAED,MAAMiB,qBAA4C,GAAGA,CACnDb,MAAM,EACN;EAAEF;AAAwB,CAAC,KACxB;EACH,OAAOR,mBAAmB,CAACU,MAAM,EAAGc,GAAG,IAAK;IAC1C,MAAMC,QAAQ,GAAGD,GAAG,CAACZ,UAAU;IAC/B,MAAMc,eAAe,GACnB7B,aAAa,CAAC8B,QAAQ,CAACC,yBAAyB,CAACH,QAAQ,CAAC;IAE5D,MAAMI,OAAO,GAAGrB,cAAc,CAACsB,IAAI,CAAC,GAAG,CAAC;IAExC,MAAMC,cAAc,GAAG;MACrBC,CAAC,EAAE;QACD,cAAc,EACZ,4EAA4E;QAC9E,sBAAsB,EAAE,MAAM;QAC9B,+BAA+B,EAAEH;MACnC,CAAC;MACDI,YAAY,EAAE;IAChB,CAAC;IAED,IAAI,CAACP,eAAe,CAACQ,OAAO,EAAE;MAC5BR,eAAe,CAACQ,OAAO,GAAG,EAAE;IAC9B;IAEAR,eAAe,CAACQ,OAAO,CAACC,IAAI,CAACJ,cAAc,CAAC;IAE5C,OAAOP,GAAG;EACZ,CAAC,CAAC;AACJ,CAAC;AAED,MAAMY,YAAmC,GAAGA,CAAC1B,MAAM,EAAE2B,SAAS,KAAK;EACjE,MAAMjC,OAAO,GAAGD,kBAAkB,CAACkC,SAAS,IAAI,CAAC,CAAC,CAAC;EAEnD,IAAIjC,OAAO,CAACC,iBAAiB,EAAE;IAC7BK,MAAM,GAAGD,mBAAmB,CAACC,MAAM,CAAC;EACtC;EAEAA,MAAM,GAAGU,sBAAsB,CAACV,MAAM,EAAEN,OAAO,CAAC;EAEhD,IAAIA,OAAO,CAACG,wBAAwB,EAAE;IACpCG,MAAM,GAAGa,qBAAqB,CAACb,MAAM,EAAEN,OAAO,CAAC;EACjD;EAEA,IAAIA,OAAO,CAACc,uBAAuB,EAAE;IACnCR,MAAM,GAAGO,2BAA2B,CAACP,MAAM,EAAEN,OAAO,CAAC;EACvD;EAEA,OAAOM,MAAM;AACf,CAAC;AAED,eAAeZ,mBAAmB,CAACsC,YAAY,EAAEnC,GAAG,CAACqC,IAAI,EAAErC,GAAG,CAACsC,OAAO,CAAC","ignoreList":[]}
|
|
@@ -2,6 +2,8 @@ import AudioBufferBaseSourceNode from './AudioBufferBaseSourceNode';
|
|
|
2
2
|
import AudioBuffer from './AudioBuffer';
|
|
3
3
|
export default class AudioBufferQueueSourceNode extends AudioBufferBaseSourceNode {
|
|
4
4
|
enqueueBuffer(buffer: AudioBuffer): string;
|
|
5
|
+
dequeueBuffer(bufferId: string): void;
|
|
6
|
+
clearBuffers(): void;
|
|
5
7
|
start(when?: number, offset?: number): void;
|
|
6
8
|
stop(when?: number): void;
|
|
7
9
|
pause(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioBufferQueueSourceNode.d.ts","sourceRoot":"","sources":["../../../src/core/AudioBufferQueueSourceNode.ts"],"names":[],"mappings":"AACA,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,WAAW,MAAM,eAAe,CAAC;AAGxC,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,yBAAyB;IACxE,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"AudioBufferQueueSourceNode.d.ts","sourceRoot":"","sources":["../../../src/core/AudioBufferQueueSourceNode.ts"],"names":[],"mappings":"AACA,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,WAAW,MAAM,eAAe,CAAC;AAGxC,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,yBAAyB;IACxE,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAM1C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAUrC,YAAY,IAAI,IAAI;IAIX,KAAK,CAAC,IAAI,GAAE,MAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAkB9C,IAAI,CAAC,IAAI,GAAE,MAAU,GAAG,IAAI;IAUrC,KAAK,IAAI,IAAI;CAGrB"}
|
|
@@ -82,6 +82,8 @@ export interface IAudioBufferSourceNode extends IAudioBufferBaseSourceNode {
|
|
|
82
82
|
setBuffer: (audioBuffer: IAudioBuffer | null) => void;
|
|
83
83
|
}
|
|
84
84
|
export interface IAudioBufferQueueSourceNode extends IAudioBufferBaseSourceNode {
|
|
85
|
+
dequeueBuffer: (bufferId: number) => void;
|
|
86
|
+
clearBuffers: () => void;
|
|
85
87
|
enqueueBuffer: (audioBuffer: IAudioBuffer) => string;
|
|
86
88
|
pause: () => void;
|
|
87
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpE,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,qBAAqB,IAAI,oBAAoB,CAAC;IAC9C,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,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;IAC3D,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;IACrE,0BAA0B,EAAE,CAC1B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;CACzC;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,WAAW,EAAE,UAAU,GAAG,WAAW,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,WAAW,KAAK,IAAI,CAAC;CAC9D;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,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAG7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA2B,SAAQ,yBAAyB;IAC3E,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,WAAW,CAAC;IAG1B,iBAAiB,EAAE,MAAM,CAAC;IAE1B,yBAAyB,EAAE,MAAM,CAAC;CACnC;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,0BAA0B;IACxE,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnE,SAAS,EAAE,CAAC,WAAW,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,2BACf,SAAQ,0BAA0B;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withAudioAPI.d.ts","sourceRoot":"","sources":["../../../src/plugin/withAudioAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAGb,MAAM,sBAAsB,CAAC;AAG9B,UAAU,OAAO;IACf,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,wBAAwB,EAAE,OAAO,CAAC;IAClC,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;;
|
|
1
|
+
{"version":3,"file":"withAudioAPI.d.ts","sourceRoot":"","sources":["../../../src/plugin/withAudioAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAGb,MAAM,sBAAsB,CAAC;AAG9B,UAAU,OAAO;IACf,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,wBAAwB,EAAE,OAAO,CAAC;IAClC,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;;AA+FD,wBAAwE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-audio-api",
|
|
3
|
-
"version": "0.7.1-nightly-
|
|
3
|
+
"version": "0.7.1-nightly-5a218c6-20250809",
|
|
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"
|
|
@@ -10,6 +10,20 @@ export default class AudioBufferQueueSourceNode extends AudioBufferBaseSourceNod
|
|
|
10
10
|
);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
public dequeueBuffer(bufferId: string): void {
|
|
14
|
+
const id = parseInt(bufferId, 10);
|
|
15
|
+
if (isNaN(id) || id < 0) {
|
|
16
|
+
throw new RangeError(
|
|
17
|
+
`bufferId must be a non-negative integer: ${bufferId}`
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
(this.node as IAudioBufferQueueSourceNode).dequeueBuffer(id);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public clearBuffers(): void {
|
|
24
|
+
(this.node as IAudioBufferQueueSourceNode).clearBuffers();
|
|
25
|
+
}
|
|
26
|
+
|
|
13
27
|
public override start(when: number = 0, offset?: number): void {
|
|
14
28
|
if (when < 0) {
|
|
15
29
|
throw new RangeError(
|
package/src/interfaces.ts
CHANGED
|
@@ -127,6 +127,9 @@ export interface IAudioBufferSourceNode extends IAudioBufferBaseSourceNode {
|
|
|
127
127
|
|
|
128
128
|
export interface IAudioBufferQueueSourceNode
|
|
129
129
|
extends IAudioBufferBaseSourceNode {
|
|
130
|
+
dequeueBuffer: (bufferId: number) => void;
|
|
131
|
+
clearBuffers: () => void;
|
|
132
|
+
|
|
130
133
|
// returns bufferId
|
|
131
134
|
enqueueBuffer: (audioBuffer: IAudioBuffer) => string;
|
|
132
135
|
pause: () => void;
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
const pkg = require('react-native-audio-api/package.json');
|
|
9
9
|
|
|
10
10
|
interface Options {
|
|
11
|
+
iosMicrophonePermission?: string;
|
|
11
12
|
iosBackgroundMode: boolean;
|
|
12
13
|
androidPermissions: string[];
|
|
13
14
|
androidForegroundService: boolean;
|
|
@@ -39,6 +40,16 @@ const withBackgroundAudio: ConfigPlugin = (config) => {
|
|
|
39
40
|
});
|
|
40
41
|
};
|
|
41
42
|
|
|
43
|
+
const withIosMicrophonePermission: ConfigPlugin<Options> = (
|
|
44
|
+
config,
|
|
45
|
+
{ iosMicrophonePermission }
|
|
46
|
+
) => {
|
|
47
|
+
return withInfoPlist(config, (iosConfig) => {
|
|
48
|
+
iosConfig.modResults.NSMicrophoneUsageDescription = iosMicrophonePermission;
|
|
49
|
+
return iosConfig;
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
|
|
42
53
|
const withAndroidPermissions: ConfigPlugin<Options> = (
|
|
43
54
|
config,
|
|
44
55
|
{ androidPermissions }: Options
|
|
@@ -90,6 +101,10 @@ const withAudioAPI: ConfigPlugin<Options> = (config, optionsIn) => {
|
|
|
90
101
|
config = withForegroundService(config, options);
|
|
91
102
|
}
|
|
92
103
|
|
|
104
|
+
if (options.iosMicrophonePermission) {
|
|
105
|
+
config = withIosMicrophonePermission(config, options);
|
|
106
|
+
}
|
|
107
|
+
|
|
93
108
|
return config;
|
|
94
109
|
};
|
|
95
110
|
|