react-native-audio-api 0.6.2-rc.2 → 0.6.2-rc.4
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/java/com/swmansion/audioapi/AudioAPIModule.kt +1 -0
- package/android/src/oldarch/NativeAudioAPIModuleSpec.java +1 -1
- package/common/cpp/audioapi/HostObjects/AudioBufferQueueSourceNodeHostObject.h +6 -5
- package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.cpp +8 -6
- package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.h +2 -2
- package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.h +2 -2
- package/lib/commonjs/core/AudioBufferQueueSourceNode.js +6 -0
- package/lib/commonjs/core/AudioBufferQueueSourceNode.js.map +1 -1
- package/lib/module/core/AudioBufferQueueSourceNode.js +6 -0
- package/lib/module/core/AudioBufferQueueSourceNode.js.map +1 -1
- package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts +1 -0
- package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/AudioBufferQueueSourceNode.ts +10 -0
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
|
|
49
49
|
@ReactMethod
|
|
50
50
|
@DoNotStrip
|
|
51
|
-
public abstract void setAudioSessionOptions(String category, String mode, ReadableArray options);
|
|
51
|
+
public abstract void setAudioSessionOptions(String category, String mode, ReadableArray options, boolean allowHaptics);
|
|
52
52
|
|
|
53
53
|
@ReactMethod
|
|
54
54
|
@DoNotStrip
|
|
@@ -71,13 +71,14 @@ class AudioBufferQueueSourceNodeHostObject
|
|
|
71
71
|
auto audioBufferQueueSourceNode =
|
|
72
72
|
std::static_pointer_cast<AudioBufferQueueSourceNode>(node_);
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
audioBufferQueueSourceNode->start(when, offset);
|
|
74
|
+
double offset = -1.0;
|
|
75
|
+
|
|
76
|
+
if (args[1].isNumber()) {
|
|
77
|
+
offset = args[1].asNumber();
|
|
79
78
|
}
|
|
80
79
|
|
|
80
|
+
audioBufferQueueSourceNode->start(when, offset);
|
|
81
|
+
|
|
81
82
|
return jsi::Value::undefined();
|
|
82
83
|
}
|
|
83
84
|
|
|
@@ -47,15 +47,17 @@ std::shared_ptr<AudioParam> AudioBufferQueueSourceNode::getPlaybackRateParam()
|
|
|
47
47
|
return playbackRateParam_;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
void AudioBufferQueueSourceNode::start(double when) {
|
|
50
|
+
void AudioBufferQueueSourceNode::start(double when, double offset) {
|
|
51
51
|
AudioScheduledSourceNode::start(when);
|
|
52
|
-
isPaused_ = false;
|
|
53
|
-
}
|
|
54
52
|
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
if (offset >= 0.0) {
|
|
54
|
+
vReadIndex_ = static_cast<double>(context_->getSampleRate() * offset);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
void AudioBufferQueueSourceNode::stop(double when) {
|
|
59
|
+
AudioScheduledSourceNode::stop(when);
|
|
60
|
+
isPaused_ = false;
|
|
59
61
|
}
|
|
60
62
|
|
|
61
63
|
void AudioBufferQueueSourceNode::pause() {
|
|
@@ -23,8 +23,8 @@ class AudioBufferQueueSourceNode : public AudioScheduledSourceNode {
|
|
|
23
23
|
[[nodiscard]] std::shared_ptr<AudioParam> getDetuneParam() const;
|
|
24
24
|
[[nodiscard]] std::shared_ptr<AudioParam> getPlaybackRateParam() const;
|
|
25
25
|
|
|
26
|
-
void start(double when) override;
|
|
27
26
|
void start(double when, double offset);
|
|
27
|
+
void stop(double when) override;
|
|
28
28
|
void pause();
|
|
29
29
|
|
|
30
30
|
void enqueueBuffer(const std::shared_ptr<AudioBuffer> &buffer, int bufferId, bool isLastBuffer);
|
|
@@ -63,7 +63,7 @@ class AudioBufferQueueSourceNode : public AudioScheduledSourceNode {
|
|
|
63
63
|
uint64_t onPositionChangedCallbackId_ = 0;
|
|
64
64
|
int onPositionChangedInterval_;
|
|
65
65
|
int onPositionChangedTime_ = 0;
|
|
66
|
-
|
|
66
|
+
double position_ = 0;
|
|
67
67
|
|
|
68
68
|
void processWithPitchCorrection(const std::shared_ptr<AudioBus> &processingBus,
|
|
69
69
|
int framesToProcess);
|
|
@@ -28,8 +28,8 @@ class AudioScheduledSourceNode : public AudioNode {
|
|
|
28
28
|
enum class PlaybackState { UNSCHEDULED, SCHEDULED, PLAYING, STOP_SCHEDULED, FINISHED };
|
|
29
29
|
explicit AudioScheduledSourceNode(BaseAudioContext *context);
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
void stop(double when);
|
|
31
|
+
void start(double when);
|
|
32
|
+
virtual void stop(double when);
|
|
33
33
|
|
|
34
34
|
bool isUnscheduled();
|
|
35
35
|
bool isScheduled();
|
|
@@ -28,6 +28,12 @@ class AudioBufferQueueSourceNode extends _AudioScheduledSourceNode.default {
|
|
|
28
28
|
}
|
|
29
29
|
this.node.start(when, offset);
|
|
30
30
|
}
|
|
31
|
+
stop(when = 0) {
|
|
32
|
+
if (when < 0) {
|
|
33
|
+
throw new _errors.RangeError(`when must be a finite non-negative number: ${when}`);
|
|
34
|
+
}
|
|
35
|
+
this.node.stop(when);
|
|
36
|
+
}
|
|
31
37
|
pause() {
|
|
32
38
|
this.node.pause();
|
|
33
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_AudioScheduledSourceNode","_interopRequireDefault","require","_AudioParam","_errors","e","__esModule","default","AudioBufferQueueSourceNode","AudioScheduledSourceNode","constructor","context","node","detune","AudioParam","playbackRate","enqueueBuffer","buffer","bufferId","isLastBuffer","start","when","offset","RangeError","pause","onPositionChanged","callback","subscription","audioEventEmitter","addAudioEventListener","subscriptionId","onPositionChangedInterval","value","exports"],"sourceRoot":"../../../src","sources":["core/AudioBufferQueueSourceNode.ts"],"mappings":";;;;;;AACA,IAAAA,yBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAAuC,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGxB,MAAMG,0BAA0B,SAASC,iCAAwB,CAAC;EAI/EC,WAAWA,CAACC,OAAyB,EAAEC,IAAiC,EAAE;IACxE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIC,mBAAU,CAACF,IAAI,CAACC,MAAM,EAAEF,OAAO,CAAC;IAClD,IAAI,CAACI,YAAY,GAAG,IAAID,mBAAU,CAACF,IAAI,CAACG,YAAY,EAAEJ,OAAO,CAAC;EAChE;EAEOK,aAAaA,CAClBC,MAAmB,EACnBC,QAAgB,GAAG,CAAC,EACpBC,YAAqB,GAAG,KAAK,EACvB;IACL,IAAI,CAACP,IAAI,CAAiCI,aAAa,CACtDC,MAAM,CAACA,MAAM,EACbC,QAAQ,EACRC,YACF,CAAC;EACH;EAEgBC,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAEC,MAAe,EAAQ;IAC7D,IAAID,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIE,kBAAU,CAClB,8CAA8CF,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,EAAE;MACV,IAAIA,MAAM,GAAG,CAAC,EAAE;QACd,MAAM,IAAIC,kBAAU,CAClB,gDAAgDD,MAAM,EACxD,CAAC;MACH;IACF;IAEC,IAAI,CAACV,IAAI,CAAiCQ,KAAK,CAACC,IAAI,EAAEC,MAAM,CAAC;EAChE;
|
|
1
|
+
{"version":3,"names":["_AudioScheduledSourceNode","_interopRequireDefault","require","_AudioParam","_errors","e","__esModule","default","AudioBufferQueueSourceNode","AudioScheduledSourceNode","constructor","context","node","detune","AudioParam","playbackRate","enqueueBuffer","buffer","bufferId","isLastBuffer","start","when","offset","RangeError","stop","pause","onPositionChanged","callback","subscription","audioEventEmitter","addAudioEventListener","subscriptionId","onPositionChangedInterval","value","exports"],"sourceRoot":"../../../src","sources":["core/AudioBufferQueueSourceNode.ts"],"mappings":";;;;;;AACA,IAAAA,yBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAAuC,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGxB,MAAMG,0BAA0B,SAASC,iCAAwB,CAAC;EAI/EC,WAAWA,CAACC,OAAyB,EAAEC,IAAiC,EAAE;IACxE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIC,mBAAU,CAACF,IAAI,CAACC,MAAM,EAAEF,OAAO,CAAC;IAClD,IAAI,CAACI,YAAY,GAAG,IAAID,mBAAU,CAACF,IAAI,CAACG,YAAY,EAAEJ,OAAO,CAAC;EAChE;EAEOK,aAAaA,CAClBC,MAAmB,EACnBC,QAAgB,GAAG,CAAC,EACpBC,YAAqB,GAAG,KAAK,EACvB;IACL,IAAI,CAACP,IAAI,CAAiCI,aAAa,CACtDC,MAAM,CAACA,MAAM,EACbC,QAAQ,EACRC,YACF,CAAC;EACH;EAEgBC,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAEC,MAAe,EAAQ;IAC7D,IAAID,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIE,kBAAU,CAClB,8CAA8CF,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,EAAE;MACV,IAAIA,MAAM,GAAG,CAAC,EAAE;QACd,MAAM,IAAIC,kBAAU,CAClB,gDAAgDD,MAAM,EACxD,CAAC;MACH;IACF;IAEC,IAAI,CAACV,IAAI,CAAiCQ,KAAK,CAACC,IAAI,EAAEC,MAAM,CAAC;EAChE;EAEgBE,IAAIA,CAACH,IAAY,GAAG,CAAC,EAAQ;IAC3C,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIE,kBAAU,CAClB,8CAA8CF,IAAI,EACpD,CAAC;IACH;IAEC,IAAI,CAACT,IAAI,CAAiCY,IAAI,CAACH,IAAI,CAAC;EACvD;EAEOI,KAAKA,CAAA,EAAS;IAClB,IAAI,CAACb,IAAI,CAAiCa,KAAK,CAAC,CAAC;EACpD;;EAEA;EACA,IAAWC,iBAAiBA,CAACC,QAA6C,EAAE;IAC1E,MAAMC,YAAY,GAAG,IAAI,CAACC,iBAAiB,CAACC,qBAAqB,CAC/D,iBAAiB,EACjBH,QACF,CAAC;IAEA,IAAI,CAACf,IAAI,CAAiCc,iBAAiB,GAC1DE,YAAY,CAACG,cAAc;EAC/B;;EAEA;EACA,IAAWC,yBAAyBA,CAACC,KAAa,EAAE;IACjD,IAAI,CAACrB,IAAI,CAAiCoB,yBAAyB,GAClEC,KAAK;EACT;AACF;AAACC,OAAA,CAAA3B,OAAA,GAAAC,0BAAA","ignoreList":[]}
|
|
@@ -23,6 +23,12 @@ export default class AudioBufferQueueSourceNode extends AudioScheduledSourceNode
|
|
|
23
23
|
}
|
|
24
24
|
this.node.start(when, offset);
|
|
25
25
|
}
|
|
26
|
+
stop(when = 0) {
|
|
27
|
+
if (when < 0) {
|
|
28
|
+
throw new RangeError(`when must be a finite non-negative number: ${when}`);
|
|
29
|
+
}
|
|
30
|
+
this.node.stop(when);
|
|
31
|
+
}
|
|
26
32
|
pause() {
|
|
27
33
|
this.node.pause();
|
|
28
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioScheduledSourceNode","AudioParam","RangeError","AudioBufferQueueSourceNode","constructor","context","node","detune","playbackRate","enqueueBuffer","buffer","bufferId","isLastBuffer","start","when","offset","pause","onPositionChanged","callback","subscription","audioEventEmitter","addAudioEventListener","subscriptionId","onPositionChangedInterval","value"],"sourceRoot":"../../../src","sources":["core/AudioBufferQueueSourceNode.ts"],"mappings":";;AACA,OAAOA,wBAAwB,MAAM,+BAA4B;AAGjE,OAAOC,UAAU,MAAM,iBAAc;AACrC,SAASC,UAAU,QAAQ,oBAAW;AAGtC,eAAe,MAAMC,0BAA0B,SAASH,wBAAwB,CAAC;EAI/EI,WAAWA,CAACC,OAAyB,EAAEC,IAAiC,EAAE;IACxE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIN,UAAU,CAACK,IAAI,CAACC,MAAM,EAAEF,OAAO,CAAC;IAClD,IAAI,CAACG,YAAY,GAAG,IAAIP,UAAU,CAACK,IAAI,CAACE,YAAY,EAAEH,OAAO,CAAC;EAChE;EAEOI,aAAaA,CAClBC,MAAmB,EACnBC,QAAgB,GAAG,CAAC,EACpBC,YAAqB,GAAG,KAAK,EACvB;IACL,IAAI,CAACN,IAAI,CAAiCG,aAAa,CACtDC,MAAM,CAACA,MAAM,EACbC,QAAQ,EACRC,YACF,CAAC;EACH;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,EAAEC,MAAM,CAAC;EAChE;
|
|
1
|
+
{"version":3,"names":["AudioScheduledSourceNode","AudioParam","RangeError","AudioBufferQueueSourceNode","constructor","context","node","detune","playbackRate","enqueueBuffer","buffer","bufferId","isLastBuffer","start","when","offset","stop","pause","onPositionChanged","callback","subscription","audioEventEmitter","addAudioEventListener","subscriptionId","onPositionChangedInterval","value"],"sourceRoot":"../../../src","sources":["core/AudioBufferQueueSourceNode.ts"],"mappings":";;AACA,OAAOA,wBAAwB,MAAM,+BAA4B;AAGjE,OAAOC,UAAU,MAAM,iBAAc;AACrC,SAASC,UAAU,QAAQ,oBAAW;AAGtC,eAAe,MAAMC,0BAA0B,SAASH,wBAAwB,CAAC;EAI/EI,WAAWA,CAACC,OAAyB,EAAEC,IAAiC,EAAE;IACxE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIN,UAAU,CAACK,IAAI,CAACC,MAAM,EAAEF,OAAO,CAAC;IAClD,IAAI,CAACG,YAAY,GAAG,IAAIP,UAAU,CAACK,IAAI,CAACE,YAAY,EAAEH,OAAO,CAAC;EAChE;EAEOI,aAAaA,CAClBC,MAAmB,EACnBC,QAAgB,GAAG,CAAC,EACpBC,YAAqB,GAAG,KAAK,EACvB;IACL,IAAI,CAACN,IAAI,CAAiCG,aAAa,CACtDC,MAAM,CAACA,MAAM,EACbC,QAAQ,EACRC,YACF,CAAC;EACH;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,EAAEC,MAAM,CAAC;EAChE;EAEgBC,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;;EAEA;EACA,IAAWC,iBAAiBA,CAACC,QAA6C,EAAE;IAC1E,MAAMC,YAAY,GAAG,IAAI,CAACC,iBAAiB,CAACC,qBAAqB,CAC/D,iBAAiB,EACjBH,QACF,CAAC;IAEA,IAAI,CAACb,IAAI,CAAiCY,iBAAiB,GAC1DE,YAAY,CAACG,cAAc;EAC/B;;EAEA;EACA,IAAWC,yBAAyBA,CAACC,KAAa,EAAE;IACjD,IAAI,CAACnB,IAAI,CAAiCkB,yBAAyB,GAClEC,KAAK;EACT;AACF","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ export default class AudioBufferQueueSourceNode extends AudioScheduledSourceNode
|
|
|
10
10
|
constructor(context: BaseAudioContext, node: IAudioBufferQueueSourceNode);
|
|
11
11
|
enqueueBuffer(buffer: AudioBuffer, bufferId?: number, isLastBuffer?: boolean): void;
|
|
12
12
|
start(when?: number, offset?: number): void;
|
|
13
|
+
stop(when?: number): void;
|
|
13
14
|
pause(): void;
|
|
14
15
|
set onPositionChanged(callback: (event: EventTypeWithValue) => void);
|
|
15
16
|
set onPositionChangedInterval(value: number);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioBufferQueueSourceNode.d.ts","sourceRoot":"","sources":["../../../src/core/AudioBufferQueueSourceNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,wBAAwB;IAC9E,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAEhB,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,2BAA2B;IAOjE,aAAa,CAClB,MAAM,EAAE,WAAW,EACnB,QAAQ,GAAE,MAAU,EACpB,YAAY,GAAE,OAAe,GAC5B,IAAI;IAQS,KAAK,CAAC,IAAI,GAAE,MAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"AudioBufferQueueSourceNode.d.ts","sourceRoot":"","sources":["../../../src/core/AudioBufferQueueSourceNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,wBAAwB;IAC9E,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAEhB,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,2BAA2B;IAOjE,aAAa,CAClB,MAAM,EAAE,WAAW,EACnB,QAAQ,GAAE,MAAU,EACpB,YAAY,GAAE,OAAe,GAC5B,IAAI;IAQS,KAAK,CAAC,IAAI,GAAE,MAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAkB9C,IAAI,CAAC,IAAI,GAAE,MAAU,GAAG,IAAI;IAUrC,KAAK,IAAI,IAAI;IAKpB,IAAW,iBAAiB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,EAQzE;IAGD,IAAW,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAGjD;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-audio-api",
|
|
3
|
-
"version": "0.6.2-rc.
|
|
3
|
+
"version": "0.6.2-rc.4",
|
|
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"
|
|
@@ -47,6 +47,16 @@ export default class AudioBufferQueueSourceNode extends AudioScheduledSourceNode
|
|
|
47
47
|
(this.node as IAudioBufferQueueSourceNode).start(when, offset);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
+
public override stop(when: number = 0): void {
|
|
51
|
+
if (when < 0) {
|
|
52
|
+
throw new RangeError(
|
|
53
|
+
`when must be a finite non-negative number: ${when}`
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
(this.node as IAudioBufferQueueSourceNode).stop(when);
|
|
58
|
+
}
|
|
59
|
+
|
|
50
60
|
public pause(): void {
|
|
51
61
|
(this.node as IAudioBufferQueueSourceNode).pause();
|
|
52
62
|
}
|