react-native-audio-api 0.13.3 → 0.13.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/system/AudioEvent.kt +1 -0
- package/common/cpp/audioapi/HostObjects/sources/AudioFileSourceNodeHostObject.cpp +8 -2
- package/common/cpp/audioapi/HostObjects/sources/AudioFileSourceNodeHostObject.h +1 -0
- package/common/cpp/audioapi/HostObjects/utils/JsEnumParser.cpp +2 -0
- package/common/cpp/audioapi/core/sources/AudioFileSourceNode.cpp +15 -1
- package/common/cpp/audioapi/core/sources/AudioFileSourceNode.h +19 -0
- package/common/cpp/audioapi/core/sources/RecorderAdapterNode.cpp +12 -1
- package/common/cpp/audioapi/core/sources/RecorderAdapterNode.h +7 -0
- package/common/cpp/audioapi/core/utils/param/ParamQueueBase.hpp +1 -1
- package/common/cpp/audioapi/core/utils/param/ParamRenderQueue.cpp +35 -12
- package/common/cpp/audioapi/core/utils/param/ParamRenderQueue.h +9 -0
- package/common/cpp/audioapi/core/utils/worklets/SafeIncludes.h +3 -3
- package/common/cpp/audioapi/core/utils/worklets/WorkletsRunner.cpp +2 -2
- package/common/cpp/audioapi/events/AudioEvent.h +1 -0
- package/common/cpp/audioapi/events/AudioEventPayload.h +11 -0
- package/common/cpp/audioapi/events/AudioEventPayloadMapping.h +1 -0
- package/common/cpp/audioapi/utils/events/BufferingStateDispatcher.cpp +49 -0
- package/common/cpp/audioapi/utils/events/BufferingStateDispatcher.h +42 -0
- package/ios/audioapi/ios/core/IOSAudioRecorder.h +12 -1
- package/ios/audioapi/ios/core/IOSAudioRecorder.mm +179 -63
- package/ios/audioapi/ios/core/NativeAudioRecorder.h +2 -0
- package/ios/audioapi/ios/core/NativeAudioRecorder.m +37 -12
- package/ios/audioapi/ios/core/utils/IOSFileWriter.h +3 -0
- package/ios/audioapi/ios/core/utils/IOSFileWriter.mm +17 -0
- package/ios/audioapi/ios/core/utils/IOSRotatingFileWriter.h +3 -0
- package/ios/audioapi/ios/core/utils/IOSRotatingFileWriter.mm +21 -0
- package/ios/audioapi/ios/system/AudioEngine.h +2 -1
- package/ios/audioapi/ios/system/AudioEngine.mm +49 -23
- package/ios/audioapi/ios/system/SystemNotificationManager.mm +10 -0
- package/lib/commonjs/Audio/Audio.js +30 -3
- package/lib/commonjs/Audio/Audio.js.map +1 -1
- package/lib/commonjs/Audio/Audio.web.js +21 -3
- package/lib/commonjs/Audio/Audio.web.js.map +1 -1
- package/lib/commonjs/Audio/AudioFileSourceNode.js +20 -0
- package/lib/commonjs/Audio/AudioFileSourceNode.js.map +1 -1
- package/lib/commonjs/Audio/controls/AudioControls.js +90 -94
- package/lib/commonjs/Audio/controls/AudioControls.js.map +1 -1
- package/lib/commonjs/Audio/controls/audioControlUtils.js +48 -18
- package/lib/commonjs/Audio/controls/audioControlUtils.js.map +1 -1
- package/lib/commonjs/Audio/index.js +7 -0
- package/lib/commonjs/Audio/index.js.map +1 -1
- package/lib/commonjs/Audio/utils.js +16 -5
- package/lib/commonjs/Audio/utils.js.map +1 -1
- package/lib/commonjs/AudioAPIModule/AudioAPIModule.js +1 -1
- package/lib/commonjs/core/AudioDecoder.js +4 -1
- package/lib/commonjs/core/AudioDecoder.js.map +1 -1
- package/lib/module/Audio/Audio.js +30 -3
- package/lib/module/Audio/Audio.js.map +1 -1
- package/lib/module/Audio/Audio.web.js +21 -3
- package/lib/module/Audio/Audio.web.js.map +1 -1
- package/lib/module/Audio/AudioFileSourceNode.js +20 -0
- package/lib/module/Audio/AudioFileSourceNode.js.map +1 -1
- package/lib/module/Audio/controls/AudioControls.js +92 -96
- package/lib/module/Audio/controls/AudioControls.js.map +1 -1
- package/lib/module/Audio/controls/audioControlUtils.js +48 -19
- package/lib/module/Audio/controls/audioControlUtils.js.map +1 -1
- package/lib/module/Audio/index.js +1 -0
- package/lib/module/Audio/index.js.map +1 -1
- package/lib/module/Audio/utils.js +15 -5
- package/lib/module/Audio/utils.js.map +1 -1
- package/lib/module/AudioAPIModule/AudioAPIModule.js +1 -1
- package/lib/module/core/AudioDecoder.js +4 -1
- package/lib/module/core/AudioDecoder.js.map +1 -1
- package/lib/typescript/Audio/Audio.d.ts.map +1 -1
- package/lib/typescript/Audio/Audio.web.d.ts.map +1 -1
- package/lib/typescript/Audio/AudioFileSourceNode.d.ts +2 -0
- package/lib/typescript/Audio/AudioFileSourceNode.d.ts.map +1 -1
- package/lib/typescript/Audio/controls/AudioControls.d.ts.map +1 -1
- package/lib/typescript/Audio/controls/audioControlUtils.d.ts +11 -4
- package/lib/typescript/Audio/controls/audioControlUtils.d.ts.map +1 -1
- package/lib/typescript/Audio/index.d.ts +1 -0
- package/lib/typescript/Audio/index.d.ts.map +1 -1
- package/lib/typescript/Audio/types.d.ts +15 -1
- package/lib/typescript/Audio/types.d.ts.map +1 -1
- package/lib/typescript/Audio/utils.d.ts +2 -1
- package/lib/typescript/Audio/utils.d.ts.map +1 -1
- package/lib/typescript/core/AudioDecoder.d.ts.map +1 -1
- package/lib/typescript/events/types.d.ts +5 -0
- package/lib/typescript/events/types.d.ts.map +1 -1
- package/lib/typescript/jsi-interfaces.d.ts +1 -0
- package/lib/typescript/jsi-interfaces.d.ts.map +1 -1
- package/package.json +8 -8
- package/scripts/validate-worklets-version.js +1 -1
- package/src/Audio/Audio.tsx +38 -2
- package/src/Audio/Audio.web.tsx +26 -2
- package/src/Audio/AudioFileSourceNode.ts +28 -0
- package/src/Audio/controls/AudioControls.tsx +117 -116
- package/src/Audio/controls/audioControlUtils.ts +63 -31
- package/src/Audio/index.ts +1 -0
- package/src/Audio/types.ts +15 -1
- package/src/Audio/utils.ts +20 -2
- package/src/AudioAPIModule/AudioAPIModule.ts +1 -1
- package/src/core/AudioDecoder.ts +5 -3
- package/src/events/types.ts +6 -0
- package/src/jsi-interfaces.ts +1 -0
|
@@ -5,9 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.formatTime = formatTime;
|
|
7
7
|
exports.timeFromLocationX = timeFromLocationX;
|
|
8
|
+
exports.useBufferingSweep = useBufferingSweep;
|
|
8
9
|
exports.useExpandableTrackHeight = useExpandableTrackHeight;
|
|
9
10
|
var _react = require("react");
|
|
10
|
-
var
|
|
11
|
+
var _reactNative = require("react-native");
|
|
11
12
|
function formatTime(seconds) {
|
|
12
13
|
if (!Number.isFinite(seconds) || seconds < 0) {
|
|
13
14
|
return '0:00';
|
|
@@ -29,23 +30,52 @@ function timeFromLocationX(locationX, trackWidth, durationSeconds) {
|
|
|
29
30
|
return pct * durationSeconds;
|
|
30
31
|
}
|
|
31
32
|
function useExpandableTrackHeight(trackBarHeight, trackBarHeightPressed, trackBarAnimMs) {
|
|
32
|
-
const height = (0,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
33
|
+
const height = (0, _react.useRef)(new _reactNative.Animated.Value(trackBarHeight)).current;
|
|
34
|
+
return (0, _react.useMemo)(() => {
|
|
35
|
+
const animateTo = toValue => {
|
|
36
|
+
_reactNative.Animated.timing(height, {
|
|
37
|
+
toValue,
|
|
38
|
+
duration: trackBarAnimMs,
|
|
39
|
+
useNativeDriver: false
|
|
40
|
+
}).start();
|
|
41
|
+
};
|
|
42
|
+
return {
|
|
43
|
+
animatedStyle: {
|
|
44
|
+
height,
|
|
45
|
+
borderRadius: _reactNative.Animated.divide(height, 2)
|
|
46
|
+
},
|
|
47
|
+
expand: () => animateTo(trackBarHeightPressed),
|
|
48
|
+
collapse: () => animateTo(trackBarHeight)
|
|
49
|
+
};
|
|
50
|
+
}, [height, trackBarHeight, trackBarHeightPressed, trackBarAnimMs]);
|
|
51
|
+
}
|
|
52
|
+
function useBufferingSweep(isBuffering, trackWidth, sweepWidthRatio, sweepDurationMs) {
|
|
53
|
+
const sweepProgress = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
54
|
+
(0, _react.useEffect)(() => {
|
|
55
|
+
if (!isBuffering) {
|
|
56
|
+
return;
|
|
48
57
|
}
|
|
49
|
-
|
|
58
|
+
const sweep = _reactNative.Animated.loop(_reactNative.Animated.timing(sweepProgress, {
|
|
59
|
+
toValue: 1,
|
|
60
|
+
duration: sweepDurationMs,
|
|
61
|
+
easing: _reactNative.Easing.inOut(t => _reactNative.Easing.quad(t)),
|
|
62
|
+
useNativeDriver: true
|
|
63
|
+
}));
|
|
64
|
+
sweep.start();
|
|
65
|
+
return () => {
|
|
66
|
+
sweep.stop();
|
|
67
|
+
sweepProgress.setValue(0);
|
|
68
|
+
};
|
|
69
|
+
}, [isBuffering, sweepDurationMs, sweepProgress]);
|
|
70
|
+
const sweepWidth = trackWidth * sweepWidthRatio;
|
|
71
|
+
return {
|
|
72
|
+
width: sweepWidth,
|
|
73
|
+
transform: [{
|
|
74
|
+
translateX: sweepProgress.interpolate({
|
|
75
|
+
inputRange: [0, 1],
|
|
76
|
+
outputRange: [-sweepWidth, trackWidth]
|
|
77
|
+
})
|
|
78
|
+
}]
|
|
79
|
+
};
|
|
50
80
|
}
|
|
51
81
|
//# sourceMappingURL=audioControlUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","formatTime","seconds","Number","isFinite","h","Math","floor","m","s","toString","padStart","timeFromLocationX","locationX","trackWidth","durationSeconds","pct","max","min","useExpandableTrackHeight","trackBarHeight","trackBarHeightPressed","trackBarAnimMs","height","useRef","Animated","Value","current","useMemo","animateTo","toValue","timing","duration","useNativeDriver","start","animatedStyle","borderRadius","divide","expand","collapse","useBufferingSweep","isBuffering","sweepWidthRatio","sweepDurationMs","sweepProgress","useEffect","sweep","loop","easing","Easing","inOut","t","quad","stop","setValue","sweepWidth","width","transform","translateX","interpolate","inputRange","outputRange"],"sourceRoot":"../../../../src","sources":["Audio/controls/audioControlUtils.ts"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEO,SAASE,UAAUA,CAACC,OAAe,EAAU;EAClD,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,OAAO,CAAC,IAAIA,OAAO,GAAG,CAAC,EAAE;IAC5C,OAAO,MAAM;EACf;EACA,MAAMG,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACL,OAAO,GAAG,IAAI,CAAC;EACpC,MAAMM,CAAC,GAAGF,IAAI,CAACC,KAAK,CAAEL,OAAO,GAAG,IAAI,GAAI,EAAE,CAAC;EAC3C,MAAMO,CAAC,GAAGH,IAAI,CAACC,KAAK,CAACL,OAAO,GAAG,EAAE,CAAC;EAClC,IAAIG,CAAC,GAAG,CAAC,EAAE;IACT,OAAO,GAAGA,CAAC,IAAIG,CAAC,CAACE,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAIF,CAAC,CAACC,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;EACjF,CAAC,MAAM;IACL,OAAO,GAAGH,CAAC,IAAIC,CAAC,CAACC,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;EAChD;AACF;AAEO,SAASC,iBAAiBA,CAC/BC,SAAiB,EACjBC,UAAkB,EAClBC,eAAuB,EACf;EACR,IAAID,UAAU,IAAI,CAAC,IAAIC,eAAe,IAAI,CAAC,EAAE;IAC3C,OAAO,CAAC;EACV;EACA,MAAMC,GAAG,GAAGV,IAAI,CAACW,GAAG,CAAC,CAAC,EAAEX,IAAI,CAACY,GAAG,CAAC,CAAC,EAAEL,SAAS,GAAGC,UAAU,CAAC,CAAC;EAC5D,OAAOE,GAAG,GAAGD,eAAe;AAC9B;AAEO,SAASI,wBAAwBA,CACtCC,cAAsB,EACtBC,qBAA6B,EAC7BC,cAAsB,EACtB;EACA,MAAMC,MAAM,GAAG,IAAAC,aAAM,EAAC,IAAIC,qBAAQ,CAACC,KAAK,CAACN,cAAc,CAAC,CAAC,CAACO,OAAO;EAEjE,OAAO,IAAAC,cAAO,EAAC,MAAM;IACnB,MAAMC,SAAS,GAAIC,OAAe,IAAK;MACrCL,qBAAQ,CAACM,MAAM,CAACR,MAAM,EAAE;QACtBO,OAAO;QACPE,QAAQ,EAAEV,cAAc;QACxBW,eAAe,EAAE;MACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;IACZ,CAAC;IAED,OAAO;MACLC,aAAa,EAAE;QACbZ,MAAM;QACNa,YAAY,EAAEX,qBAAQ,CAACY,MAAM,CAACd,MAAM,EAAE,CAAC;MACzC,CAAC;MACDe,MAAM,EAAEA,CAAA,KAAMT,SAAS,CAACR,qBAAqB,CAAC;MAC9CkB,QAAQ,EAAEA,CAAA,KAAMV,SAAS,CAACT,cAAc;IAC1C,CAAC;EACH,CAAC,EAAE,CAACG,MAAM,EAAEH,cAAc,EAAEC,qBAAqB,EAAEC,cAAc,CAAC,CAAC;AACrE;AAEO,SAASkB,iBAAiBA,CAC/BC,WAAoB,EACpB3B,UAAkB,EAClB4B,eAAuB,EACvBC,eAAuB,EACvB;EACA,MAAMC,aAAa,GAAG,IAAApB,aAAM,EAAC,IAAIC,qBAAQ,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EAE3D,IAAAkB,gBAAS,EAAC,MAAM;IACd,IAAI,CAACJ,WAAW,EAAE;MAChB;IACF;IAEA,MAAMK,KAAK,GAAGrB,qBAAQ,CAACsB,IAAI,CACzBtB,qBAAQ,CAACM,MAAM,CAACa,aAAa,EAAE;MAC7Bd,OAAO,EAAE,CAAC;MACVE,QAAQ,EAAEW,eAAe;MACzBK,MAAM,EAAEC,mBAAM,CAACC,KAAK,CAAEC,CAAC,IAAKF,mBAAM,CAACG,IAAI,CAACD,CAAC,CAAC,CAAC;MAC3ClB,eAAe,EAAE;IACnB,CAAC,CACH,CAAC;IACDa,KAAK,CAACZ,KAAK,CAAC,CAAC;IAEb,OAAO,MAAM;MACXY,KAAK,CAACO,IAAI,CAAC,CAAC;MACZT,aAAa,CAACU,QAAQ,CAAC,CAAC,CAAC;IAC3B,CAAC;EACH,CAAC,EAAE,CAACb,WAAW,EAAEE,eAAe,EAAEC,aAAa,CAAC,CAAC;EAEjD,MAAMW,UAAU,GAAGzC,UAAU,GAAG4B,eAAe;EAE/C,OAAO;IACLc,KAAK,EAAED,UAAU;IACjBE,SAAS,EAAE,CACT;MACEC,UAAU,EAAEd,aAAa,CAACe,WAAW,CAAC;QACpCC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClBC,WAAW,EAAE,CAAC,CAACN,UAAU,EAAEzC,UAAU;MACvC,CAAC;IACH,CAAC;EAEL,CAAC;AACH","ignoreList":[]}
|
|
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
return _Audio.default;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "isPlaybackActive", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _utils.isPlaybackActive;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
12
18
|
Object.defineProperty(exports, "useAudioTagContext", {
|
|
13
19
|
enumerable: true,
|
|
14
20
|
get: function () {
|
|
@@ -17,5 +23,6 @@ Object.defineProperty(exports, "useAudioTagContext", {
|
|
|
17
23
|
});
|
|
18
24
|
var _Audio = _interopRequireDefault(require("./Audio"));
|
|
19
25
|
var _AudioTagContext = require("./AudioTagContext");
|
|
26
|
+
var _utils = require("./utils");
|
|
20
27
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
21
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Audio","_interopRequireDefault","require","_AudioTagContext","e","__esModule","default"],"sourceRoot":"../../../src","sources":["Audio/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_Audio","_interopRequireDefault","require","_AudioTagContext","_utils","e","__esModule","default"],"sourceRoot":"../../../src","sources":["Audio/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAA2C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getSourceHeaders = getSourceHeaders;
|
|
7
|
+
exports.isPlaybackActive = isPlaybackActive;
|
|
7
8
|
exports.resolveSourcePath = resolveSourcePath;
|
|
8
9
|
exports.useStableAudioProps = useStableAudioProps;
|
|
9
10
|
exports.withPropsDefaults = withPropsDefaults;
|
|
@@ -11,6 +12,9 @@ var _react = require("react");
|
|
|
11
12
|
var _reactNative = require("react-native");
|
|
12
13
|
var _AudioContext = _interopRequireDefault(require("../core/AudioContext"));
|
|
13
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
function isPlaybackActive(state) {
|
|
16
|
+
return state === 'playing' || state === 'buffering';
|
|
17
|
+
}
|
|
14
18
|
const noop = () => {};
|
|
15
19
|
const noopError = _error => {};
|
|
16
20
|
const noopNumber = _number => {};
|
|
@@ -41,7 +45,9 @@ function withPropsDefaults(props, resolvedContext) {
|
|
|
41
45
|
onEnded: props.onEnded ?? noop,
|
|
42
46
|
onPlay: props.onPlay ?? noop,
|
|
43
47
|
onPause: props.onPause ?? noop,
|
|
44
|
-
onVolumeChange: props.onVolumeChange ?? noopNumber
|
|
48
|
+
onVolumeChange: props.onVolumeChange ?? noopNumber,
|
|
49
|
+
onWaiting: props.onWaiting ?? noop,
|
|
50
|
+
onPlaying: props.onPlaying ?? noop
|
|
45
51
|
};
|
|
46
52
|
}
|
|
47
53
|
function useStableAudioProps(props) {
|
|
@@ -72,7 +78,9 @@ function useStableAudioProps(props) {
|
|
|
72
78
|
onEnded,
|
|
73
79
|
onPlay,
|
|
74
80
|
onPause,
|
|
75
|
-
onVolumeChange
|
|
81
|
+
onVolumeChange,
|
|
82
|
+
onWaiting,
|
|
83
|
+
onPlaying
|
|
76
84
|
} = withPropsDefaults(props, resolvedContext);
|
|
77
85
|
return (0, _react.useMemo)(() => ({
|
|
78
86
|
// Control Props
|
|
@@ -95,15 +103,18 @@ function useStableAudioProps(props) {
|
|
|
95
103
|
onEnded,
|
|
96
104
|
onPlay,
|
|
97
105
|
onPause,
|
|
98
|
-
onVolumeChange
|
|
99
|
-
|
|
106
|
+
onVolumeChange,
|
|
107
|
+
onWaiting,
|
|
108
|
+
onPlaying
|
|
109
|
+
}), [autoPlay, controls, loop, muted, preload, forceDownload, source, playbackRate, preservesPitch, volume, context, onLoadStart, onLoad, onError, onPositionChange, onEnded, onPlay, onPause, onVolumeChange, onWaiting, onPlaying]);
|
|
100
110
|
}
|
|
101
111
|
function resolveSourcePath(source) {
|
|
102
112
|
if (typeof source === 'string') {
|
|
103
113
|
return source;
|
|
104
114
|
}
|
|
105
115
|
if (typeof source === 'number') {
|
|
106
|
-
|
|
116
|
+
const uri = _reactNative.Image.resolveAssetSource(source)?.uri;
|
|
117
|
+
return uri ?? '';
|
|
107
118
|
}
|
|
108
119
|
return source.uri ?? '';
|
|
109
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_AudioContext","_interopRequireDefault","e","__esModule","default","noop","noopError","_error","noopNumber","_number","withPropsDefaults","props","resolvedContext","autoPlay","controls","loop","muted","preload","forceDownload","source","playbackRate","preservesPitch","volume","context","onLoadStart","onLoad","onError","onPositionChange","onEnded","onPlay","onPause","onVolumeChange","useStableAudioProps","useMemo","Platform","OS","undefined","AudioContext","resolveSourcePath","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_AudioContext","_interopRequireDefault","e","__esModule","default","isPlaybackActive","state","noop","noopError","_error","noopNumber","_number","withPropsDefaults","props","resolvedContext","autoPlay","controls","loop","muted","preload","forceDownload","source","playbackRate","preservesPitch","volume","context","onLoadStart","onLoad","onError","onPositionChange","onEnded","onPlay","onPause","onVolumeChange","onWaiting","onPlaying","useStableAudioProps","useMemo","Platform","OS","undefined","AudioContext","resolveSourcePath","uri","Image","resolveAssetSource","getSourceHeaders","headers"],"sourceRoot":"../../../src","sources":["Audio/utils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,7 +13,7 @@ class AudioAPIModule {
|
|
|
13
13
|
#canUseWorklets_ = false;
|
|
14
14
|
#workletsVersion = 'unknown';
|
|
15
15
|
#workletsAvailable_ = false;
|
|
16
|
-
static MIN_WORKLETS_VERSION = '0.
|
|
16
|
+
static MIN_WORKLETS_VERSION = '0.7.0';
|
|
17
17
|
constructor() {
|
|
18
18
|
// Important! Verify and import worklets first
|
|
19
19
|
// otherwise the native module installation might crash
|
|
@@ -36,7 +36,10 @@ class AudioDecoder {
|
|
|
36
36
|
return new _AudioBuffer.default(buffer);
|
|
37
37
|
}
|
|
38
38
|
resolveStringSource(input) {
|
|
39
|
-
|
|
39
|
+
if (typeof input !== 'number') {
|
|
40
|
+
return input;
|
|
41
|
+
}
|
|
42
|
+
return _reactNative.Image.resolveAssetSource(input)?.uri ?? '';
|
|
40
43
|
}
|
|
41
44
|
assertSupportedStringSource(source) {
|
|
42
45
|
if (typeof source !== 'string') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_specs","_errors","_paths","_utils","_AudioBuffer","_interopRequireDefault","e","__esModule","default","AudioDecoder","instance","constructor","decoder","globalThis","createAudioDecoder","decodeAudioDataImplementation","input","sampleRate","fetchOptions","rate","ArrayBuffer","decodeFromArrayBuffer","stringSource","resolveStringSource","assertSupportedStringSource","isRemoteSource","decodeFromRemoteUrl","decodeFromLocalFile","arrayBuffer","buffer","decodeWithMemoryBlock","Uint8Array","AudioBuffer","Image","resolveAssetSource","uri","source","TypeError","isBase64Source","AudioApiError","isDataBlobString","url","fetch","then","res","useAndroidBundledAssetReader","Platform","OS","startsWith","__DEV__","base64Payload","NativeAudioAPIModule","readAndroidReleaseAssetBytesAsBase64","base64ToArrayBuffer","filePath","resolveLocalFilePath","decodeWithFilePath","getInstance","decodeAudioDataInstance","audioBuffer","decodePCMInBase64Instance","base64String","inputSampleRate","inputChannelCount","interleaved","decodeWithPCMInBase64","decodeAudioData","decodePCMInBase64","isInterleaved"],"sourceRoot":"../../../src","sources":["core/AudioDecoder.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAGA,IAAAG,MAAA,GAAAH,OAAA;AAMA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAC,sBAAA,CAAAN,OAAA;AAAwC,SAAAM,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExC,MAAMG,YAAY,CAAC;EACjB,OAAeC,QAAQ,GAAwB,IAAI;EAG3CC,WAAWA,CAAA,EAAG;IACpB,IAAI,CAACC,OAAO,GAAGC,UAAU,CAACC,kBAAkB,CAAC,CAAC;EAChD;EAEA,MAAcC,6BAA6BA,CACzCC,KAAsB,EACtBC,UAAmB,EACnBC,YAA0B,EACe;IACzC,MAAMC,IAAI,GAAGF,UAAU,IAAI,CAAC;IAE5B,IAAID,KAAK,YAAYI,WAAW,EAAE;MAChC,OAAO,IAAI,CAACC,qBAAqB,CAACL,KAAK,EAAEG,IAAI,CAAC;IAChD;IAEA,MAAMG,YAAY,GAAG,IAAI,CAACC,mBAAmB,CAACP,KAAK,CAAC;IACpD,IAAI,CAACQ,2BAA2B,CAACF,YAAY,CAAC;IAE9C,IAAI,IAAAG,qBAAc,EAACH,YAAY,CAAC,EAAE;MAChC,OAAO,IAAI,CAACI,mBAAmB,CAACJ,YAAY,EAAEH,IAAI,EAAED,YAAY,CAAC;IACnE;IAEA,OAAO,IAAI,CAACS,mBAAmB,CAACL,YAAY,EAAEH,IAAI,CAAC;EACrD;EAEA,MAAcE,qBAAqBA,CACjCO,WAAwB,EACxBX,UAAkB,EACI;IACtB,MAAMY,MAAM,GAAG,MAAM,IAAI,CAACjB,OAAO,CAACkB,qBAAqB;IACrD;IACA,IAAIC,UAAU,CAACH,WAAW,CAAC,EAC3BX,UACF,CAAC;IACD,OAAO,IAAIe,oBAAW,CAACH,MAAM,CAAC;EAChC;EAEQN,mBAAmBA,CAACP,KAAsB,EAAmB;IACnE,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_specs","_errors","_paths","_utils","_AudioBuffer","_interopRequireDefault","e","__esModule","default","AudioDecoder","instance","constructor","decoder","globalThis","createAudioDecoder","decodeAudioDataImplementation","input","sampleRate","fetchOptions","rate","ArrayBuffer","decodeFromArrayBuffer","stringSource","resolveStringSource","assertSupportedStringSource","isRemoteSource","decodeFromRemoteUrl","decodeFromLocalFile","arrayBuffer","buffer","decodeWithMemoryBlock","Uint8Array","AudioBuffer","Image","resolveAssetSource","uri","source","TypeError","isBase64Source","AudioApiError","isDataBlobString","url","fetch","then","res","useAndroidBundledAssetReader","Platform","OS","startsWith","__DEV__","base64Payload","NativeAudioAPIModule","readAndroidReleaseAssetBytesAsBase64","base64ToArrayBuffer","filePath","resolveLocalFilePath","decodeWithFilePath","getInstance","decodeAudioDataInstance","audioBuffer","decodePCMInBase64Instance","base64String","inputSampleRate","inputChannelCount","interleaved","decodeWithPCMInBase64","decodeAudioData","decodePCMInBase64","isInterleaved"],"sourceRoot":"../../../src","sources":["core/AudioDecoder.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -30,13 +30,20 @@ const Audio = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef((props, ref)
|
|
|
30
30
|
onEnded: onEndedCallback,
|
|
31
31
|
onPlay,
|
|
32
32
|
onPause,
|
|
33
|
-
onVolumeChange
|
|
33
|
+
onVolumeChange,
|
|
34
|
+
onWaiting,
|
|
35
|
+
onPlaying
|
|
34
36
|
} = useStableAudioProps(props);
|
|
35
37
|
const [volumeState, setVolumeState] = useState(null);
|
|
36
38
|
const [mutedState, setMutedState] = useState(null);
|
|
37
39
|
const [ready, setReady] = useState(false);
|
|
38
40
|
const [playbackState, setPlaybackState] = useState('idle');
|
|
41
|
+
const [isBuffering, setIsBuffering] = useState(false);
|
|
39
42
|
const [currentTime, setCurrentTime] = useState(0);
|
|
43
|
+
|
|
44
|
+
// Derived rather than folded into playbackState directly, so the
|
|
45
|
+
// buffering-subscription effect below isn't torn down on every stall.
|
|
46
|
+
const publicPlaybackState = useMemo(() => playbackState === 'playing' && isBuffering ? 'buffering' : playbackState, [playbackState, isBuffering]);
|
|
40
47
|
const path = useMemo(() => resolveSourcePath(source), [source]);
|
|
41
48
|
const lastEffectiveVolumeRef = useRef(muted ? 0 : volume);
|
|
42
49
|
useEffect(() => {
|
|
@@ -158,6 +165,26 @@ const Audio = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef((props, ref)
|
|
|
158
165
|
fileSource?.stopPositionTracking();
|
|
159
166
|
};
|
|
160
167
|
}, [onPositionChange, playbackState, fileSourceRef]);
|
|
168
|
+
useEffect(() => {
|
|
169
|
+
if (playbackState !== 'playing') {
|
|
170
|
+
// Not an active stall (paused/idle/ended) — clear any stale flag from
|
|
171
|
+
// a stall that was in progress when playback stopped.
|
|
172
|
+
setIsBuffering(false);
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
const fileSource = fileSourceRef.current;
|
|
176
|
+
fileSource?.startBufferingTracking(buffering => {
|
|
177
|
+
setIsBuffering(buffering);
|
|
178
|
+
if (buffering) {
|
|
179
|
+
onWaiting();
|
|
180
|
+
} else {
|
|
181
|
+
onPlaying();
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
return () => {
|
|
185
|
+
fileSource?.stopBufferingTracking();
|
|
186
|
+
};
|
|
187
|
+
}, [onWaiting, onPlaying, playbackState, fileSourceRef]);
|
|
161
188
|
useImperativeHandle(ref, () => ({
|
|
162
189
|
play,
|
|
163
190
|
pause,
|
|
@@ -176,7 +203,7 @@ const Audio = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef((props, ref)
|
|
|
176
203
|
ready,
|
|
177
204
|
setMuted: setMutedState,
|
|
178
205
|
muted: effectiveMutedState,
|
|
179
|
-
playbackState,
|
|
206
|
+
playbackState: publicPlaybackState,
|
|
180
207
|
currentTime,
|
|
181
208
|
duration,
|
|
182
209
|
autoPlay,
|
|
@@ -187,7 +214,7 @@ const Audio = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef((props, ref)
|
|
|
187
214
|
preservesPitch,
|
|
188
215
|
sourcePath: path,
|
|
189
216
|
source
|
|
190
|
-
}), [play, pause, seekToTime, setVolumeState, effectiveVolumeState, ready, setMutedState, effectiveMutedState,
|
|
217
|
+
}), [play, pause, seekToTime, setVolumeState, effectiveVolumeState, ready, setMutedState, effectiveMutedState, publicPlaybackState, currentTime, duration, autoPlay, controls, loop, preload, playbackRate, preservesPitch, path, source]);
|
|
191
218
|
return /*#__PURE__*/_jsx(AudioComponentContext.Provider, {
|
|
192
219
|
value: ctxValue,
|
|
193
220
|
children: /*#__PURE__*/_jsxs(View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","View","AudioComponentContext","useStableAudioProps","resolveSourcePath","AudioControls","useAudioSourceLoader","jsx","_jsx","jsxs","_jsxs","Audio","memo","forwardRef","props","ref","children","autoPlay","controls","loop","muted","preload","forceDownload","source","playbackRate","preservesPitch","volume","context","onLoadStart","onLoad","onError","onPositionChange","onEnded","onEndedCallback","onPlay","onPause","onVolumeChange","volumeState","setVolumeState","mutedState","setMutedState","ready","setReady","playbackState","setPlaybackState","currentTime","setCurrentTime","path","lastEffectiveVolumeRef","fileSourceRef","current","disconnect","pause","dispose","effectiveMutedState","effectiveVolumeState","effectiveVolumeRef","playRef","handleAutoPlay","handleEnded","endedDuration","loaderReady","duration","loadForPlayback","preloadMode","onAutoPlay","setVolume","play","loaded","setPlaybackRate","nextPlaybackRate","seekToTime","seconds","nextTime","Math","max","min","setLoop","setPreservesPitch","fileSource","startPositionTracking","stopPositionTracking","setMuted","getFileSourceNode","ctxValue","sourcePath","Provider","value","style","alignSelf","width"],"sourceRoot":"../../../src","sources":["Audio/Audio.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IACVC,WAAW,EACXC,SAAS,EACTC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SAASC,IAAI,QAAQ,cAAc;AAQnC,SAASC,qBAAqB,QAAQ,sBAAmB;AACzD,SAASC,mBAAmB,EAAEC,iBAAiB,QAAQ,YAAS;AAChE,OAAOC,aAAa,MAAM,6BAA0B;AACpD,SAASC,oBAAoB,QAAQ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE9D,MAAMC,KAAK,gBAAGjB,KAAK,CAACkB,IAAI,cACtBlB,KAAK,CAACmB,UAAU,CAA6B,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC3D,MAAM;IAAEC;EAAS,CAAC,GAAGF,KAAK;EAC1B,MAAM;IACJG,QAAQ;IACRC,QAAQ;IACRC,IAAI;IACJC,KAAK;IACLC,OAAO;IACPC,aAAa;IACbC,MAAM;IACNC,YAAY;IACZC,cAAc;IACdC,MAAM;IACNC,OAAO;IACPC,WAAW;IACXC,MAAM;IACNC,OAAO;IACPC,gBAAgB;IAChBC,OAAO,EAAEC,eAAe;IACxBC,MAAM;IACNC,OAAO;IACPC;EACF,CAAC,
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","View","AudioComponentContext","useStableAudioProps","resolveSourcePath","AudioControls","useAudioSourceLoader","jsx","_jsx","jsxs","_jsxs","Audio","memo","forwardRef","props","ref","children","autoPlay","controls","loop","muted","preload","forceDownload","source","playbackRate","preservesPitch","volume","context","onLoadStart","onLoad","onError","onPositionChange","onEnded","onEndedCallback","onPlay","onPause","onVolumeChange","onWaiting","onPlaying","volumeState","setVolumeState","mutedState","setMutedState","ready","setReady","playbackState","setPlaybackState","isBuffering","setIsBuffering","currentTime","setCurrentTime","publicPlaybackState","path","lastEffectiveVolumeRef","fileSourceRef","current","disconnect","pause","dispose","effectiveMutedState","effectiveVolumeState","effectiveVolumeRef","playRef","handleAutoPlay","handleEnded","endedDuration","loaderReady","duration","loadForPlayback","preloadMode","onAutoPlay","setVolume","play","loaded","setPlaybackRate","nextPlaybackRate","seekToTime","seconds","nextTime","Math","max","min","setLoop","setPreservesPitch","fileSource","startPositionTracking","stopPositionTracking","startBufferingTracking","buffering","stopBufferingTracking","setMuted","getFileSourceNode","ctxValue","sourcePath","Provider","value","style","alignSelf","width"],"sourceRoot":"../../../src","sources":["Audio/Audio.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -26,15 +26,23 @@ const Audio = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef((props, ref)
|
|
|
26
26
|
onEnded: onEndedCallback,
|
|
27
27
|
onPlay,
|
|
28
28
|
onPause,
|
|
29
|
-
onVolumeChange
|
|
29
|
+
onVolumeChange,
|
|
30
|
+
onWaiting,
|
|
31
|
+
onPlaying
|
|
30
32
|
} = useStableAudioProps(props);
|
|
31
33
|
const audioRef = useRef(null);
|
|
32
34
|
const [volumeState, setVolumeState] = useState(volume);
|
|
33
35
|
const [mutedState, setMutedState] = useState(null);
|
|
34
36
|
const [ready, setReady] = useState(false);
|
|
35
37
|
const [playbackState, setPlaybackState] = useState('idle');
|
|
38
|
+
const [isBuffering, setIsBuffering] = useState(false);
|
|
36
39
|
const [currentTime, setCurrentTime] = useState(0);
|
|
37
40
|
const [duration, setDuration] = useState(0);
|
|
41
|
+
|
|
42
|
+
// See the native Audio.tsx's identical comment: kept derived rather than
|
|
43
|
+
// folded into playbackState so a stall starting/ending doesn't have to
|
|
44
|
+
// tear down whatever effect is watching playbackState.
|
|
45
|
+
const publicPlaybackState = useMemo(() => playbackState === 'playing' && isBuffering ? 'buffering' : playbackState, [playbackState, isBuffering]);
|
|
38
46
|
const lastElementVolumeRef = useRef(muted ? 0 : volume);
|
|
39
47
|
const effectiveMutedState = useMemo(() => {
|
|
40
48
|
return mutedState ?? muted;
|
|
@@ -159,7 +167,7 @@ const Audio = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef((props, ref)
|
|
|
159
167
|
volume: reportedVolumeState,
|
|
160
168
|
setMuted,
|
|
161
169
|
muted: effectiveMutedState,
|
|
162
|
-
playbackState,
|
|
170
|
+
playbackState: publicPlaybackState,
|
|
163
171
|
currentTime,
|
|
164
172
|
duration,
|
|
165
173
|
autoPlay,
|
|
@@ -169,7 +177,7 @@ const Audio = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef((props, ref)
|
|
|
169
177
|
playbackRate,
|
|
170
178
|
preservesPitch,
|
|
171
179
|
audioContext: null
|
|
172
|
-
}), [play, pause, seekToTime, setVolume, ready, reportedVolumeState, setMuted, effectiveMutedState,
|
|
180
|
+
}), [play, pause, seekToTime, setVolume, ready, reportedVolumeState, setMuted, effectiveMutedState, publicPlaybackState, currentTime, duration, autoPlay, controls, loop, preload, playbackRate, preservesPitch]);
|
|
173
181
|
return /*#__PURE__*/_jsx(AudioComponentContext.Provider, {
|
|
174
182
|
value: ctxValue,
|
|
175
183
|
children: /*#__PURE__*/_jsxs(View, {
|
|
@@ -199,16 +207,26 @@ const Audio = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef((props, ref)
|
|
|
199
207
|
},
|
|
200
208
|
onPause: () => {
|
|
201
209
|
setPlaybackState(state => state === 'playing' ? 'paused' : state);
|
|
210
|
+
setIsBuffering(false);
|
|
202
211
|
onPause();
|
|
203
212
|
},
|
|
204
213
|
onEnded: () => {
|
|
205
214
|
setPlaybackState('idle');
|
|
206
215
|
setCurrentTime(duration);
|
|
216
|
+
setIsBuffering(false);
|
|
207
217
|
onEndedCallback();
|
|
208
218
|
},
|
|
209
219
|
onError: () => {
|
|
210
220
|
setReady(false);
|
|
211
221
|
onError(new Error('Failed to load audio element source'));
|
|
222
|
+
},
|
|
223
|
+
onWaiting: () => {
|
|
224
|
+
setIsBuffering(true);
|
|
225
|
+
onWaiting();
|
|
226
|
+
},
|
|
227
|
+
onPlaying: () => {
|
|
228
|
+
setIsBuffering(false);
|
|
229
|
+
onPlaying();
|
|
212
230
|
}
|
|
213
231
|
}), children]
|
|
214
232
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","View","AudioComponentContext","useStableAudioProps","jsx","_jsx","jsxs","_jsxs","Audio","memo","forwardRef","props","ref","children","autoPlay","controls","loop","muted","preload","source","playbackRate","preservesPitch","volume","onLoadStart","onLoad","onError","onPositionChange","onEnded","onEndedCallback","onPlay","onPause","onVolumeChange","audioRef","volumeState","setVolumeState","mutedState","setMutedState","ready","setReady","playbackState","setPlaybackState","currentTime","setCurrentTime","duration","setDuration","lastElementVolumeRef","effectiveMutedState","effectiveVolumeState","reportedVolumeState","path","Error","uri","el","current","handleTimeUpdate","handleVolumeChange","nextMuted","nextVolume","addEventListener","removeEventListener","play","pause","seekToTime","seconds","nextTime","Math","max","min","setVolume","next","setMuted","setPlaybackRate","nextPlaybackRate","ctxValue","audioContext","Provider","value","style","alignSelf","width","src","onLoadedData","state"],"sourceRoot":"../../../src","sources":["Audio/Audio.web.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IACVC,WAAW,EACXC,SAAS,EACTC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SAASC,IAAI,QAAQ,cAAc;AAOnC,SAASC,qBAAqB,QAAQ,sBAAmB;AACzD,SAASC,mBAAmB,QAAQ,YAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE9C,MAAMC,KAAK,gBAAGd,KAAK,CAACe,IAAI,cACtBf,KAAK,CAACgB,UAAU,CAA6B,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC3D,MAAM;IAAEC;EAAS,CAAC,GAAGF,KAAK;EAC1B,MAAM;IACJG,QAAQ;IACRC,QAAQ;IACRC,IAAI;IACJC,KAAK;IACLC,OAAO;IACPC,MAAM;IACNC,YAAY;IACZC,cAAc;IACdC,MAAM;IACNC,WAAW;IACXC,MAAM;IACNC,OAAO;IACPC,gBAAgB;IAChBC,OAAO,EAAEC,eAAe;IACxBC,MAAM;IACNC,OAAO;IACPC;EACF,CAAC,
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","View","AudioComponentContext","useStableAudioProps","jsx","_jsx","jsxs","_jsxs","Audio","memo","forwardRef","props","ref","children","autoPlay","controls","loop","muted","preload","source","playbackRate","preservesPitch","volume","onLoadStart","onLoad","onError","onPositionChange","onEnded","onEndedCallback","onPlay","onPause","onVolumeChange","onWaiting","onPlaying","audioRef","volumeState","setVolumeState","mutedState","setMutedState","ready","setReady","playbackState","setPlaybackState","isBuffering","setIsBuffering","currentTime","setCurrentTime","duration","setDuration","publicPlaybackState","lastElementVolumeRef","effectiveMutedState","effectiveVolumeState","reportedVolumeState","path","Error","uri","el","current","handleTimeUpdate","handleVolumeChange","nextMuted","nextVolume","addEventListener","removeEventListener","play","pause","seekToTime","seconds","nextTime","Math","max","min","setVolume","next","setMuted","setPlaybackRate","nextPlaybackRate","ctxValue","audioContext","Provider","value","style","alignSelf","width","src","onLoadedData","state"],"sourceRoot":"../../../src","sources":["Audio/Audio.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,6 +19,10 @@ export class AudioFileSourceNode extends AudioScheduledSourceNode {
|
|
|
19
19
|
this.resetNodeAndSubscriptions();
|
|
20
20
|
}
|
|
21
21
|
play() {
|
|
22
|
+
if (!this.node.routedThroughMediaElement) {
|
|
23
|
+
this.connect(this.context.destination);
|
|
24
|
+
}
|
|
25
|
+
// copied from audioscheduledsourcenode, so it can bypass requirement of being started only once
|
|
22
26
|
this.node.start(this.context.currentTime);
|
|
23
27
|
}
|
|
24
28
|
pause() {
|
|
@@ -66,9 +70,25 @@ export class AudioFileSourceNode extends AudioScheduledSourceNode {
|
|
|
66
70
|
this.node.onPositionChanged = '0';
|
|
67
71
|
}
|
|
68
72
|
}
|
|
73
|
+
startBufferingTracking(onBufferingChange) {
|
|
74
|
+
if (!this.node) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
this.stopBufferingTracking();
|
|
78
|
+
const sub = this.emitter.addAudioEventListener('bufferingStateChanged', event => {
|
|
79
|
+
onBufferingChange(event.value);
|
|
80
|
+
});
|
|
81
|
+
this.node.onBufferingStateChanged = sub.subscriptionId;
|
|
82
|
+
}
|
|
83
|
+
stopBufferingTracking() {
|
|
84
|
+
if (this.node) {
|
|
85
|
+
this.node.onBufferingStateChanged = '0';
|
|
86
|
+
}
|
|
87
|
+
}
|
|
69
88
|
resetNodeAndSubscriptions() {
|
|
70
89
|
if (this.node) {
|
|
71
90
|
this.node.onPositionChanged = '0';
|
|
91
|
+
this.node.onBufferingStateChanged = '0';
|
|
72
92
|
this.node.onEnded = '0';
|
|
73
93
|
this.node.disconnect(undefined);
|
|
74
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioEventEmitter","AudioScheduledSourceNode","MAX_PLAYBACK_RATE","AudioFileSourceNode","emitter","globalThis","attach","options","resetNodeAndSubscriptions","sub","addAudioEventListener","_event","onEnded","node","subscriptionId","duration","dispose","play","
|
|
1
|
+
{"version":3,"names":["AudioEventEmitter","AudioScheduledSourceNode","MAX_PLAYBACK_RATE","AudioFileSourceNode","emitter","globalThis","attach","options","resetNodeAndSubscriptions","sub","addAudioEventListener","_event","onEnded","node","subscriptionId","duration","dispose","play","routedThroughMediaElement","connect","context","destination","start","currentTime","pause","seekToTime","seconds","setVolume","value","volume","setLoop","loop","setPlaybackRate","Number","isFinite","Error","playbackRate","setPreservesPitch","preservesPitch","getFileSourceNode","getDuration","getCurrentTime","startPositionTracking","onTime","stopPositionTracking","event","onPositionChanged","startBufferingTracking","onBufferingChange","stopBufferingTracking","onBufferingStateChanged","disconnect","undefined"],"sourceRoot":"../../../src","sources":["Audio/AudioFileSourceNode.ts"],"mappings":"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","ignoreList":[]}
|