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.
Files changed (95) hide show
  1. package/android/src/main/java/com/swmansion/audioapi/system/AudioEvent.kt +1 -0
  2. package/common/cpp/audioapi/HostObjects/sources/AudioFileSourceNodeHostObject.cpp +8 -2
  3. package/common/cpp/audioapi/HostObjects/sources/AudioFileSourceNodeHostObject.h +1 -0
  4. package/common/cpp/audioapi/HostObjects/utils/JsEnumParser.cpp +2 -0
  5. package/common/cpp/audioapi/core/sources/AudioFileSourceNode.cpp +15 -1
  6. package/common/cpp/audioapi/core/sources/AudioFileSourceNode.h +19 -0
  7. package/common/cpp/audioapi/core/sources/RecorderAdapterNode.cpp +12 -1
  8. package/common/cpp/audioapi/core/sources/RecorderAdapterNode.h +7 -0
  9. package/common/cpp/audioapi/core/utils/param/ParamQueueBase.hpp +1 -1
  10. package/common/cpp/audioapi/core/utils/param/ParamRenderQueue.cpp +35 -12
  11. package/common/cpp/audioapi/core/utils/param/ParamRenderQueue.h +9 -0
  12. package/common/cpp/audioapi/core/utils/worklets/SafeIncludes.h +3 -3
  13. package/common/cpp/audioapi/core/utils/worklets/WorkletsRunner.cpp +2 -2
  14. package/common/cpp/audioapi/events/AudioEvent.h +1 -0
  15. package/common/cpp/audioapi/events/AudioEventPayload.h +11 -0
  16. package/common/cpp/audioapi/events/AudioEventPayloadMapping.h +1 -0
  17. package/common/cpp/audioapi/utils/events/BufferingStateDispatcher.cpp +49 -0
  18. package/common/cpp/audioapi/utils/events/BufferingStateDispatcher.h +42 -0
  19. package/ios/audioapi/ios/core/IOSAudioRecorder.h +12 -1
  20. package/ios/audioapi/ios/core/IOSAudioRecorder.mm +179 -63
  21. package/ios/audioapi/ios/core/NativeAudioRecorder.h +2 -0
  22. package/ios/audioapi/ios/core/NativeAudioRecorder.m +37 -12
  23. package/ios/audioapi/ios/core/utils/IOSFileWriter.h +3 -0
  24. package/ios/audioapi/ios/core/utils/IOSFileWriter.mm +17 -0
  25. package/ios/audioapi/ios/core/utils/IOSRotatingFileWriter.h +3 -0
  26. package/ios/audioapi/ios/core/utils/IOSRotatingFileWriter.mm +21 -0
  27. package/ios/audioapi/ios/system/AudioEngine.h +2 -1
  28. package/ios/audioapi/ios/system/AudioEngine.mm +49 -23
  29. package/ios/audioapi/ios/system/SystemNotificationManager.mm +10 -0
  30. package/lib/commonjs/Audio/Audio.js +30 -3
  31. package/lib/commonjs/Audio/Audio.js.map +1 -1
  32. package/lib/commonjs/Audio/Audio.web.js +21 -3
  33. package/lib/commonjs/Audio/Audio.web.js.map +1 -1
  34. package/lib/commonjs/Audio/AudioFileSourceNode.js +20 -0
  35. package/lib/commonjs/Audio/AudioFileSourceNode.js.map +1 -1
  36. package/lib/commonjs/Audio/controls/AudioControls.js +90 -94
  37. package/lib/commonjs/Audio/controls/AudioControls.js.map +1 -1
  38. package/lib/commonjs/Audio/controls/audioControlUtils.js +48 -18
  39. package/lib/commonjs/Audio/controls/audioControlUtils.js.map +1 -1
  40. package/lib/commonjs/Audio/index.js +7 -0
  41. package/lib/commonjs/Audio/index.js.map +1 -1
  42. package/lib/commonjs/Audio/utils.js +16 -5
  43. package/lib/commonjs/Audio/utils.js.map +1 -1
  44. package/lib/commonjs/AudioAPIModule/AudioAPIModule.js +1 -1
  45. package/lib/commonjs/core/AudioDecoder.js +4 -1
  46. package/lib/commonjs/core/AudioDecoder.js.map +1 -1
  47. package/lib/module/Audio/Audio.js +30 -3
  48. package/lib/module/Audio/Audio.js.map +1 -1
  49. package/lib/module/Audio/Audio.web.js +21 -3
  50. package/lib/module/Audio/Audio.web.js.map +1 -1
  51. package/lib/module/Audio/AudioFileSourceNode.js +20 -0
  52. package/lib/module/Audio/AudioFileSourceNode.js.map +1 -1
  53. package/lib/module/Audio/controls/AudioControls.js +92 -96
  54. package/lib/module/Audio/controls/AudioControls.js.map +1 -1
  55. package/lib/module/Audio/controls/audioControlUtils.js +48 -19
  56. package/lib/module/Audio/controls/audioControlUtils.js.map +1 -1
  57. package/lib/module/Audio/index.js +1 -0
  58. package/lib/module/Audio/index.js.map +1 -1
  59. package/lib/module/Audio/utils.js +15 -5
  60. package/lib/module/Audio/utils.js.map +1 -1
  61. package/lib/module/AudioAPIModule/AudioAPIModule.js +1 -1
  62. package/lib/module/core/AudioDecoder.js +4 -1
  63. package/lib/module/core/AudioDecoder.js.map +1 -1
  64. package/lib/typescript/Audio/Audio.d.ts.map +1 -1
  65. package/lib/typescript/Audio/Audio.web.d.ts.map +1 -1
  66. package/lib/typescript/Audio/AudioFileSourceNode.d.ts +2 -0
  67. package/lib/typescript/Audio/AudioFileSourceNode.d.ts.map +1 -1
  68. package/lib/typescript/Audio/controls/AudioControls.d.ts.map +1 -1
  69. package/lib/typescript/Audio/controls/audioControlUtils.d.ts +11 -4
  70. package/lib/typescript/Audio/controls/audioControlUtils.d.ts.map +1 -1
  71. package/lib/typescript/Audio/index.d.ts +1 -0
  72. package/lib/typescript/Audio/index.d.ts.map +1 -1
  73. package/lib/typescript/Audio/types.d.ts +15 -1
  74. package/lib/typescript/Audio/types.d.ts.map +1 -1
  75. package/lib/typescript/Audio/utils.d.ts +2 -1
  76. package/lib/typescript/Audio/utils.d.ts.map +1 -1
  77. package/lib/typescript/core/AudioDecoder.d.ts.map +1 -1
  78. package/lib/typescript/events/types.d.ts +5 -0
  79. package/lib/typescript/events/types.d.ts.map +1 -1
  80. package/lib/typescript/jsi-interfaces.d.ts +1 -0
  81. package/lib/typescript/jsi-interfaces.d.ts.map +1 -1
  82. package/package.json +8 -8
  83. package/scripts/validate-worklets-version.js +1 -1
  84. package/src/Audio/Audio.tsx +38 -2
  85. package/src/Audio/Audio.web.tsx +26 -2
  86. package/src/Audio/AudioFileSourceNode.ts +28 -0
  87. package/src/Audio/controls/AudioControls.tsx +117 -116
  88. package/src/Audio/controls/audioControlUtils.ts +63 -31
  89. package/src/Audio/index.ts +1 -0
  90. package/src/Audio/types.ts +15 -1
  91. package/src/Audio/utils.ts +20 -2
  92. package/src/AudioAPIModule/AudioAPIModule.ts +1 -1
  93. package/src/core/AudioDecoder.ts +5 -3
  94. package/src/events/types.ts +6 -0
  95. package/src/jsi-interfaces.ts +1 -0
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { useCallback, useMemo, useRef, useState } from 'react';
4
- import { ActivityIndicator, Image, Platform, Pressable, StyleSheet, Text, View } from 'react-native';
5
- import { Gesture, GestureDetector } from 'react-native-gesture-handler';
6
- import Animated, { useAnimatedRef, useSharedValue } from 'react-native-reanimated';
4
+ import { ActivityIndicator, Animated, Image, PanResponder, Platform, Pressable, StyleSheet, Text, View } from 'react-native';
7
5
  import { useAudioTagContext } from "../AudioTagContext.js";
8
- import { formatTime, timeFromLocationX, useExpandableTrackHeight } from "./audioControlUtils.js";
6
+ import { isPlaybackActive } from "../utils.js";
7
+ import { formatTime, timeFromLocationX, useBufferingSweep, useExpandableTrackHeight } from "./audioControlUtils.js";
9
8
  import PlayIcon from './icons/play.png';
10
9
  import PauseIcon from './icons/pause.png';
11
10
  import VolumeIcon from './icons/speaker.png';
@@ -14,7 +13,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
13
  const TRACK_BAR_HEIGHT = 12;
15
14
  const TRACK_BAR_HEIGHT_PRESSED = 18;
16
15
  const TRACK_BAR_ANIM_MS = 150;
17
- const SCRUB_PAN_MIN_DISTANCE = 8;
16
+ const BUFFERING_SWEEP_MS = 1100;
17
+ const BUFFERING_SWEEP_WIDTH_RATIO = 0.35;
18
+ const BUFFERING_SWEEP_SLICE_OPACITIES = [0.04, 0.18, 0.45, 0.6, 0.45, 0.18, 0.04];
18
19
  const AudioControls = () => {
19
20
  const {
20
21
  ready,
@@ -29,72 +30,60 @@ const AudioControls = () => {
29
30
  } = useAudioTagContext();
30
31
  const progressTrackAnim = useExpandableTrackHeight(TRACK_BAR_HEIGHT, TRACK_BAR_HEIGHT_PRESSED, TRACK_BAR_ANIM_MS);
31
32
  const [scrubTime, setScrubTime] = useState(null);
32
- const progressTrackRef = useAnimatedRef();
33
- const progressMetricsWidth = useSharedValue(0);
34
- const durationRef = useRef(duration);
35
- durationRef.current = duration;
36
- const onStart = useCallback(x => {
37
- progressTrackAnim.expand();
38
- const d = durationRef.current;
39
- progressTrackRef.current?.measureInWindow((_left, _y, width, _h) => {
40
- progressMetricsWidth.value = width;
41
- setScrubTime(timeFromLocationX(x, width, d));
42
- });
43
- }, [progressTrackAnim, progressMetricsWidth, setScrubTime, progressTrackRef]);
44
- const onUpdate = useCallback(x => {
45
- const d = durationRef.current;
46
- const w = progressMetricsWidth.value;
47
- setScrubTime(timeFromLocationX(x, w, d));
48
- }, [progressMetricsWidth]);
49
- const seekTo = useCallback(x => {
50
- const d = durationRef.current;
51
- const w = progressMetricsWidth.value;
52
- const t = timeFromLocationX(x, w, d);
53
- seekToTime(t);
54
- }, [progressMetricsWidth, seekToTime]);
55
- const onEnd = useCallback(x => {
56
- seekTo(x);
57
- progressTrackAnim.collapse();
58
- setScrubTime(null);
59
- }, [progressTrackAnim, seekTo]);
60
- const onCancel = useCallback(() => {
61
- progressTrackAnim.collapse();
62
- setScrubTime(null);
63
- }, [progressTrackAnim]);
64
- const onTapSeek = useCallback(x => {
65
- onEnd(x);
66
- }, [onEnd]);
67
- const scrubGesture = useMemo(() => {
68
- const panGesture = Gesture.Pan().runOnJS(true).minDistance(SCRUB_PAN_MIN_DISTANCE).onStart(e => {
69
- onStart(e.x);
70
- }).onUpdate(e => {
71
- onUpdate(e.x);
72
- }).onEnd(e => {
73
- onEnd(e.x);
74
- }).onFinalize((_e, success) => {
75
- if (!success) {
76
- onCancel();
77
- }
78
- });
79
- const tapGesture = Gesture.Tap().runOnJS(true).maxDistance(14).onEnd((e, success) => {
80
- if (success) {
81
- onTapSeek(e.x);
82
- }
83
- });
84
- return Gesture.Race(panGesture, tapGesture);
85
- }, [onStart, onUpdate, onEnd, onCancel, onTapSeek]);
33
+ const [trackWidth, setTrackWidth] = useState(0);
34
+ const isBuffering = playbackState === 'buffering';
35
+ const bufferingSweepStyle = useBufferingSweep(isBuffering, trackWidth, BUFFERING_SWEEP_WIDTH_RATIO, BUFFERING_SWEEP_MS);
36
+ const scrub = useRef({
37
+ startX: 0,
38
+ trackWidth: 0,
39
+ duration,
40
+ seekToTime,
41
+ expand: progressTrackAnim.expand,
42
+ collapse: progressTrackAnim.collapse
43
+ });
44
+ scrub.current.duration = duration;
45
+ scrub.current.seekToTime = seekToTime;
46
+ scrub.current.expand = progressTrackAnim.expand;
47
+ scrub.current.collapse = progressTrackAnim.collapse;
48
+ const panResponder = useMemo(() => PanResponder.create({
49
+ onStartShouldSetPanResponder: () => true,
50
+ onMoveShouldSetPanResponder: () => true,
51
+ onPanResponderTerminationRequest: () => false,
52
+ onPanResponderGrant: event => {
53
+ const s = scrub.current;
54
+ s.startX = event.nativeEvent.locationX;
55
+ s.expand();
56
+ setScrubTime(timeFromLocationX(s.startX, s.trackWidth, s.duration));
57
+ },
58
+ onPanResponderMove: (_event, gestureState) => {
59
+ const s = scrub.current;
60
+ setScrubTime(timeFromLocationX(s.startX + gestureState.dx, s.trackWidth, s.duration));
61
+ },
62
+ onPanResponderRelease: (_event, gestureState) => {
63
+ const s = scrub.current;
64
+ s.seekToTime(timeFromLocationX(s.startX + gestureState.dx, s.trackWidth, s.duration));
65
+ s.collapse();
66
+ setScrubTime(null);
67
+ },
68
+ onPanResponderTerminate: () => {
69
+ scrub.current.collapse();
70
+ setScrubTime(null);
71
+ }
72
+ }), []);
86
73
  const onPlayPausePress = useCallback(() => {
87
- if (playbackState === 'playing') {
74
+ if (isPlaybackActive(playbackState)) {
88
75
  pause();
89
76
  } else {
90
77
  play();
91
78
  }
92
79
  }, [playbackState, pause, play]);
93
- const onProgressTrackLayout = useCallback(() => {
94
- progressTrackRef.current?.measureInWindow((_left, _y, width, _h) => {
95
- progressMetricsWidth.value = width;
96
- });
97
- }, [progressMetricsWidth, progressTrackRef]);
80
+ const onProgressTrackLayout = useCallback(event => {
81
+ const {
82
+ width
83
+ } = event.nativeEvent.layout;
84
+ scrub.current.trackWidth = width;
85
+ setTrackWidth(width);
86
+ }, []);
98
87
  if (!ready) {
99
88
  return /*#__PURE__*/_jsx(View, {
100
89
  style: styles.container,
@@ -113,53 +102,45 @@ const AudioControls = () => {
113
102
  children: [/*#__PURE__*/_jsx(Pressable, {
114
103
  style: styles.playPause,
115
104
  onPress: onPlayPausePress,
116
- children: playbackState === 'playing' ? /*#__PURE__*/_jsx(Image, {
105
+ children: isPlaybackActive(playbackState) ? /*#__PURE__*/_jsx(Image, {
117
106
  source: PauseIcon,
118
- style: {
119
- width: 24,
120
- height: 24
121
- }
107
+ style: styles.icon
122
108
  }) : /*#__PURE__*/_jsx(Image, {
123
109
  source: PlayIcon,
124
- style: {
125
- width: 24,
126
- height: 24
127
- }
110
+ style: styles.icon
128
111
  })
129
112
  }), /*#__PURE__*/_jsxs(Text, {
130
113
  style: styles.timeText,
131
114
  children: [formatTime(displayTime), " / ", formatTime(duration)]
132
- }), /*#__PURE__*/_jsx(GestureDetector, {
133
- gesture: scrubGesture,
134
- children: /*#__PURE__*/_jsx(View, {
135
- ref: progressTrackRef,
136
- onLayout: onProgressTrackLayout,
137
- style: styles.progressTrack,
138
- collapsable: false,
139
- children: /*#__PURE__*/_jsx(Animated.View, {
140
- style: [styles.trackInner, progressTrackAnim.animatedStyle],
141
- children: /*#__PURE__*/_jsx(View, {
142
- style: [styles.trackFill, {
143
- width: `${progress * 100}%`
115
+ }), /*#__PURE__*/_jsx(View, {
116
+ onLayout: onProgressTrackLayout,
117
+ style: styles.progressTrack,
118
+ ...panResponder.panHandlers,
119
+ children: /*#__PURE__*/_jsxs(Animated.View, {
120
+ style: [styles.trackInner, progressTrackAnim.animatedStyle],
121
+ children: [/*#__PURE__*/_jsx(View, {
122
+ style: [styles.trackFill, {
123
+ width: `${progress * 100}%`
124
+ }]
125
+ }), isBuffering && /*#__PURE__*/_jsx(Animated.View, {
126
+ pointerEvents: "none",
127
+ style: [styles.bufferingSweep, bufferingSweepStyle],
128
+ children: BUFFERING_SWEEP_SLICE_OPACITIES.map((opacity, index) => /*#__PURE__*/_jsx(View, {
129
+ style: [styles.bufferingSweepSlice, {
130
+ opacity
144
131
  }]
145
- })
146
- })
132
+ }, index))
133
+ })]
147
134
  })
148
135
  }), /*#__PURE__*/_jsx(Pressable, {
149
136
  style: styles.volumeIcon,
150
137
  onPress: () => setMuted(!muted),
151
138
  children: muted ? /*#__PURE__*/_jsx(Image, {
152
139
  source: MuteIcon,
153
- style: {
154
- width: 24,
155
- height: 24
156
- }
140
+ style: styles.icon
157
141
  }) : /*#__PURE__*/_jsx(Image, {
158
142
  source: VolumeIcon,
159
- style: {
160
- width: 24,
161
- height: 24
162
- }
143
+ style: styles.icon
163
144
  })
164
145
  })]
165
146
  })
@@ -195,6 +176,10 @@ const styles = StyleSheet.create({
195
176
  flexDirection: 'row',
196
177
  alignItems: 'center'
197
178
  },
179
+ icon: {
180
+ width: 24,
181
+ height: 24
182
+ },
198
183
  playPause: {
199
184
  padding: 4,
200
185
  marginRight: 12
@@ -220,6 +205,17 @@ const styles = StyleSheet.create({
220
205
  height: '100%',
221
206
  backgroundColor: '#000'
222
207
  },
208
+ bufferingSweep: {
209
+ position: 'absolute',
210
+ top: 0,
211
+ bottom: 0,
212
+ left: 0,
213
+ flexDirection: 'row'
214
+ },
215
+ bufferingSweepSlice: {
216
+ flex: 1,
217
+ backgroundColor: '#000'
218
+ },
223
219
  volumeIcon: {
224
220
  padding: 4,
225
221
  marginRight: 12
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","useRef","useState","ActivityIndicator","Image","Platform","Pressable","StyleSheet","Text","View","Gesture","GestureDetector","Animated","useAnimatedRef","useSharedValue","useAudioTagContext","formatTime","timeFromLocationX","useExpandableTrackHeight","PlayIcon","PauseIcon","VolumeIcon","MuteIcon","jsx","_jsx","jsxs","_jsxs","TRACK_BAR_HEIGHT","TRACK_BAR_HEIGHT_PRESSED","TRACK_BAR_ANIM_MS","SCRUB_PAN_MIN_DISTANCE","AudioControls","ready","play","pause","seekToTime","playbackState","muted","setMuted","currentTime","duration","progressTrackAnim","scrubTime","setScrubTime","progressTrackRef","progressMetricsWidth","durationRef","current","onStart","x","expand","d","measureInWindow","_left","_y","width","_h","value","onUpdate","w","seekTo","t","onEnd","collapse","onCancel","onTapSeek","scrubGesture","panGesture","Pan","runOnJS","minDistance","e","onFinalize","_e","success","tapGesture","Tap","maxDistance","Race","onPlayPausePress","onProgressTrackLayout","style","styles","container","children","color","size","displayTime","progress","topRow","playPause","onPress","source","height","timeText","gesture","ref","onLayout","progressTrack","collapsable","trackInner","animatedStyle","trackFill","volumeIcon","create","flexDirection","alignSelf","minWidth","paddingVertical","paddingHorizontal","backgroundColor","borderRadius","borderWidth","borderColor","select","ios","shadowColor","shadowOffset","shadowOpacity","shadowRadius","android","elevation","alignItems","padding","marginRight","fontSize","flex","justifyContent","overflow","loadingRow","loadingText"],"sourceRoot":"../../../../src","sources":["Audio/controls/AudioControls.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","useRef","useState","ActivityIndicator","Animated","Image","PanResponder","Platform","Pressable","StyleSheet","Text","View","useAudioTagContext","isPlaybackActive","formatTime","timeFromLocationX","useBufferingSweep","useExpandableTrackHeight","PlayIcon","PauseIcon","VolumeIcon","MuteIcon","jsx","_jsx","jsxs","_jsxs","TRACK_BAR_HEIGHT","TRACK_BAR_HEIGHT_PRESSED","TRACK_BAR_ANIM_MS","BUFFERING_SWEEP_MS","BUFFERING_SWEEP_WIDTH_RATIO","BUFFERING_SWEEP_SLICE_OPACITIES","AudioControls","ready","play","pause","seekToTime","playbackState","muted","setMuted","currentTime","duration","progressTrackAnim","scrubTime","setScrubTime","trackWidth","setTrackWidth","isBuffering","bufferingSweepStyle","scrub","startX","expand","collapse","current","panResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderTerminationRequest","onPanResponderGrant","event","s","nativeEvent","locationX","onPanResponderMove","_event","gestureState","dx","onPanResponderRelease","onPanResponderTerminate","onPlayPausePress","onProgressTrackLayout","width","layout","style","styles","container","children","color","size","displayTime","progress","topRow","playPause","onPress","source","icon","timeText","onLayout","progressTrack","panHandlers","trackInner","animatedStyle","trackFill","pointerEvents","bufferingSweep","map","opacity","index","bufferingSweepSlice","volumeIcon","flexDirection","alignSelf","minWidth","paddingVertical","paddingHorizontal","backgroundColor","borderRadius","borderWidth","borderColor","select","ios","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","android","elevation","alignItems","padding","marginRight","fontSize","flex","justifyContent","overflow","position","top","bottom","left","loadingRow","loadingText"],"sourceRoot":"../../../../src","sources":["Audio/controls/AudioControls.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import { useMemo } from 'react';
4
- import { useSharedValue, useAnimatedStyle, withTiming } from 'react-native-reanimated';
3
+ import { useEffect, useMemo, useRef } from 'react';
4
+ import { Animated, Easing } from 'react-native';
5
5
  export function formatTime(seconds) {
6
6
  if (!Number.isFinite(seconds) || seconds < 0) {
7
7
  return '0:00';
@@ -23,23 +23,52 @@ export function timeFromLocationX(locationX, trackWidth, durationSeconds) {
23
23
  return pct * durationSeconds;
24
24
  }
25
25
  export function useExpandableTrackHeight(trackBarHeight, trackBarHeightPressed, trackBarAnimMs) {
26
- const height = useSharedValue(trackBarHeight);
27
- const animatedStyle = useAnimatedStyle(() => ({
28
- height: height.value,
29
- borderRadius: height.value / 2
30
- }));
31
- return useMemo(() => ({
32
- animatedStyle,
33
- expand: () => {
34
- height.value = withTiming(trackBarHeightPressed, {
35
- duration: trackBarAnimMs
36
- });
37
- },
38
- collapse: () => {
39
- height.value = withTiming(trackBarHeight, {
40
- duration: trackBarAnimMs
41
- });
26
+ const height = useRef(new Animated.Value(trackBarHeight)).current;
27
+ return useMemo(() => {
28
+ const animateTo = toValue => {
29
+ Animated.timing(height, {
30
+ toValue,
31
+ duration: trackBarAnimMs,
32
+ useNativeDriver: false
33
+ }).start();
34
+ };
35
+ return {
36
+ animatedStyle: {
37
+ height,
38
+ borderRadius: Animated.divide(height, 2)
39
+ },
40
+ expand: () => animateTo(trackBarHeightPressed),
41
+ collapse: () => animateTo(trackBarHeight)
42
+ };
43
+ }, [height, trackBarHeight, trackBarHeightPressed, trackBarAnimMs]);
44
+ }
45
+ export function useBufferingSweep(isBuffering, trackWidth, sweepWidthRatio, sweepDurationMs) {
46
+ const sweepProgress = useRef(new Animated.Value(0)).current;
47
+ useEffect(() => {
48
+ if (!isBuffering) {
49
+ return;
42
50
  }
43
- }), [animatedStyle, height, trackBarHeight, trackBarHeightPressed, trackBarAnimMs]);
51
+ const sweep = Animated.loop(Animated.timing(sweepProgress, {
52
+ toValue: 1,
53
+ duration: sweepDurationMs,
54
+ easing: Easing.inOut(t => Easing.quad(t)),
55
+ useNativeDriver: true
56
+ }));
57
+ sweep.start();
58
+ return () => {
59
+ sweep.stop();
60
+ sweepProgress.setValue(0);
61
+ };
62
+ }, [isBuffering, sweepDurationMs, sweepProgress]);
63
+ const sweepWidth = trackWidth * sweepWidthRatio;
64
+ return {
65
+ width: sweepWidth,
66
+ transform: [{
67
+ translateX: sweepProgress.interpolate({
68
+ inputRange: [0, 1],
69
+ outputRange: [-sweepWidth, trackWidth]
70
+ })
71
+ }]
72
+ };
44
73
  }
45
74
  //# sourceMappingURL=audioControlUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useSharedValue","useAnimatedStyle","withTiming","formatTime","seconds","Number","isFinite","h","Math","floor","m","s","toString","padStart","timeFromLocationX","locationX","trackWidth","durationSeconds","pct","max","min","useExpandableTrackHeight","trackBarHeight","trackBarHeightPressed","trackBarAnimMs","height","animatedStyle","value","borderRadius","expand","duration","collapse"],"sourceRoot":"../../../../src","sources":["Audio/controls/audioControlUtils.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SACEC,cAAc,EACdC,gBAAgB,EAChBC,UAAU,QACL,yBAAyB;AAEhC,OAAO,SAASC,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;AAEA,OAAO,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;AAEA,OAAO,SAASI,wBAAwBA,CACtCC,cAAsB,EACtBC,qBAA6B,EAC7BC,cAAsB,EACtB;EACA,MAAMC,MAAM,GAAGzB,cAAc,CAACsB,cAAc,CAAC;EAC7C,MAAMI,aAAa,GAAGzB,gBAAgB,CAAC,OAAO;IAC5CwB,MAAM,EAAEA,MAAM,CAACE,KAAK;IACpBC,YAAY,EAAEH,MAAM,CAACE,KAAK,GAAG;EAC/B,CAAC,CAAC,CAAC;EAEH,OAAO5B,OAAO,CACZ,OAAO;IACL2B,aAAa;IACbG,MAAM,EAAEA,CAAA,KAAM;MACZJ,MAAM,CAACE,KAAK,GAAGzB,UAAU,CAACqB,qBAAqB,EAAE;QAC/CO,QAAQ,EAAEN;MACZ,CAAC,CAAC;IACJ,CAAC;IACDO,QAAQ,EAAEA,CAAA,KAAM;MACdN,MAAM,CAACE,KAAK,GAAGzB,UAAU,CAACoB,cAAc,EAAE;QACxCQ,QAAQ,EAAEN;MACZ,CAAC,CAAC;IACJ;EACF,CAAC,CAAC,EACF,CACEE,aAAa,EACbD,MAAM,EACNH,cAAc,EACdC,qBAAqB,EACrBC,cAAc,CAElB,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useMemo","useRef","Animated","Easing","formatTime","seconds","Number","isFinite","h","Math","floor","m","s","toString","padStart","timeFromLocationX","locationX","trackWidth","durationSeconds","pct","max","min","useExpandableTrackHeight","trackBarHeight","trackBarHeightPressed","trackBarAnimMs","height","Value","current","animateTo","toValue","timing","duration","useNativeDriver","start","animatedStyle","borderRadius","divide","expand","collapse","useBufferingSweep","isBuffering","sweepWidthRatio","sweepDurationMs","sweepProgress","sweep","loop","easing","inOut","t","quad","stop","setValue","sweepWidth","width","transform","translateX","interpolate","inputRange","outputRange"],"sourceRoot":"../../../../src","sources":["Audio/controls/audioControlUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -2,4 +2,5 @@
2
2
 
3
3
  export { default } from './Audio';
4
4
  export { useAudioTagContext } from "./AudioTagContext.js";
5
+ export { isPlaybackActive } from "./utils.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default","useAudioTagContext"],"sourceRoot":"../../../src","sources":["Audio/index.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,SAAS;AACjC,SAASC,kBAAkB,QAAQ,sBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["default","useAudioTagContext","isPlaybackActive"],"sourceRoot":"../../../src","sources":["Audio/index.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,SAAS;AACjC,SAASC,kBAAkB,QAAQ,sBAAmB;AACtD,SAASC,gBAAgB,QAAQ,YAAS","ignoreList":[]}
@@ -3,6 +3,9 @@
3
3
  import { useMemo } from 'react';
4
4
  import { Image, Platform } from 'react-native';
5
5
  import AudioContext from "../core/AudioContext.js";
6
+ export function isPlaybackActive(state) {
7
+ return state === 'playing' || state === 'buffering';
8
+ }
6
9
  const noop = () => {};
7
10
  const noopError = _error => {};
8
11
  const noopNumber = _number => {};
@@ -33,7 +36,9 @@ export function withPropsDefaults(props, resolvedContext) {
33
36
  onEnded: props.onEnded ?? noop,
34
37
  onPlay: props.onPlay ?? noop,
35
38
  onPause: props.onPause ?? noop,
36
- onVolumeChange: props.onVolumeChange ?? noopNumber
39
+ onVolumeChange: props.onVolumeChange ?? noopNumber,
40
+ onWaiting: props.onWaiting ?? noop,
41
+ onPlaying: props.onPlaying ?? noop
37
42
  };
38
43
  }
39
44
  export function useStableAudioProps(props) {
@@ -64,7 +69,9 @@ export function useStableAudioProps(props) {
64
69
  onEnded,
65
70
  onPlay,
66
71
  onPause,
67
- onVolumeChange
72
+ onVolumeChange,
73
+ onWaiting,
74
+ onPlaying
68
75
  } = withPropsDefaults(props, resolvedContext);
69
76
  return useMemo(() => ({
70
77
  // Control Props
@@ -87,15 +94,18 @@ export function useStableAudioProps(props) {
87
94
  onEnded,
88
95
  onPlay,
89
96
  onPause,
90
- onVolumeChange
91
- }), [autoPlay, controls, loop, muted, preload, forceDownload, source, playbackRate, preservesPitch, volume, context, onLoadStart, onLoad, onError, onPositionChange, onEnded, onPlay, onPause, onVolumeChange]);
97
+ onVolumeChange,
98
+ onWaiting,
99
+ onPlaying
100
+ }), [autoPlay, controls, loop, muted, preload, forceDownload, source, playbackRate, preservesPitch, volume, context, onLoadStart, onLoad, onError, onPositionChange, onEnded, onPlay, onPause, onVolumeChange, onWaiting, onPlaying]);
92
101
  }
93
102
  export function resolveSourcePath(source) {
94
103
  if (typeof source === 'string') {
95
104
  return source;
96
105
  }
97
106
  if (typeof source === 'number') {
98
- return Image.resolveAssetSource(source).uri;
107
+ const uri = Image.resolveAssetSource(source)?.uri;
108
+ return uri ?? '';
99
109
  }
100
110
  return source.uri ?? '';
101
111
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","Image","Platform","AudioContext","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","OS","undefined","resolveSourcePath","resolveAssetSource","uri","getSourceHeaders","headers"],"sourceRoot":"../../../src","sources":["Audio/utils.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,KAAK,EAAEC,QAAQ,QAAQ,cAAc;AAC9C,OAAOC,YAAY,MAAM,yBAAsB;AAI/C,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AACrB,MAAMC,SAAS,GAAIC,MAAa,IAAK,CAAC,CAAC;AACvC,MAAMC,UAAU,GAAIC,OAAe,IAAK,CAAC,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAC/BC,KAAiB,EACjBC,eAA6C,EAC7B;EAChB,OAAO;IACL,GAAGD,KAAK;IACRE,QAAQ,EAAEF,KAAK,CAACE,QAAQ,IAAI,KAAK;IACjCC,QAAQ,EAAEH,KAAK,CAACG,QAAQ,IAAI,KAAK;IACjCC,IAAI,EAAEJ,KAAK,CAACI,IAAI,IAAI,KAAK;IACzBC,KAAK,EAAEL,KAAK,CAACK,KAAK,IAAI,KAAK;IAC3BC,OAAO,EAAEN,KAAK,CAACM,OAAO,IAAI,MAAM;IAChCC,aAAa,EAAEP,KAAK,CAACO,aAAa,IAAI,KAAK;IAC3CC,MAAM,EAAER,KAAK,CAACQ,MAAM,IAAI,EAAE;IAC1BC,YAAY,EAAET,KAAK,CAACS,YAAY,IAAI,GAAG;IACvCC,cAAc,EAAEV,KAAK,CAACU,cAAc,IAAI,IAAI;IAC5CC,MAAM,EAAEX,KAAK,CAACW,MAAM,IAAI,GAAG;IAC3BC,OAAO,EAAEX,eAAe;IACxBY,WAAW,EAAEb,KAAK,CAACa,WAAW,IAAInB,IAAI;IACtCoB,MAAM,EAAEd,KAAK,CAACc,MAAM,IAAIpB,IAAI;IAC5BqB,OAAO,EAAEf,KAAK,CAACe,OAAO,IAAIpB,SAAS;IACnCqB,gBAAgB,EAAEhB,KAAK,CAACgB,gBAAgB,IAAInB,UAAU;IACtDoB,OAAO,EAAEjB,KAAK,CAACiB,OAAO,IAAIvB,IAAI;IAC9BwB,MAAM,EAAElB,KAAK,CAACkB,MAAM,IAAIxB,IAAI;IAC5ByB,OAAO,EAAEnB,KAAK,CAACmB,OAAO,IAAIzB,IAAI;IAC9B0B,cAAc,EAAEpB,KAAK,CAACoB,cAAc,IAAIvB;EAC1C,CAAC;AACH;AAEA,OAAO,SAASwB,mBAAmBA,CAACrB,KAAiB,EAAkB;EACrE,MAAMC,eAAe,GAAGX,OAAO,CAAC,MAAM;IACpC,IAAIE,QAAQ,CAAC8B,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOC,SAAS;IAClB;IACA,OAAOvB,KAAK,CAACY,OAAO,IAAI,IAAInB,YAAY,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACO,KAAK,CAACY,OAAO,CAAC,CAAC;EAEnB,MAAM;IACJ;IACAV,QAAQ;IACRC,QAAQ;IACRC,IAAI;IACJC,KAAK;IACLC,OAAO;IACPC,aAAa;IACbC,MAAM;IACNC,YAAY;IACZC,cAAc;IACdC,MAAM;IACNC,OAAO;IAEP;IACAC,WAAW;IACXC,MAAM;IACNC,OAAO;IACPC,gBAAgB;IAChBC,OAAO;IACPC,MAAM;IACNC,OAAO;IACPC;EACF,CAAC,GAAGrB,iBAAiB,CAACC,KAAK,EAAEC,eAAe,CAAC;EAE7C,OAAOX,OAAO,CACZ,OAAO;IACL;IACAY,QAAQ;IACRC,QAAQ;IACRC,IAAI;IACJC,KAAK;IACLC,OAAO;IACPC,aAAa;IACbC,MAAM;IACNC,YAAY;IACZC,cAAc;IACdC,MAAM;IACNC,OAAO;IAEP;IACAC,WAAW;IACXC,MAAM;IACNC,OAAO;IACPC,gBAAgB;IAChBC,OAAO;IACPC,MAAM;IACNC,OAAO;IACPC;EACF,CAAC,CAAC,EACF,CACElB,QAAQ,EACRC,QAAQ,EACRC,IAAI,EACJC,KAAK,EACLC,OAAO,EACPC,aAAa,EACbC,MAAM,EACNC,YAAY,EACZC,cAAc,EACdC,MAAM,EACNC,OAAO,EACPC,WAAW,EACXC,MAAM,EACNC,OAAO,EACPC,gBAAgB,EAChBC,OAAO,EACPC,MAAM,EACNC,OAAO,EACPC,cAAc,CAElB,CAAC;AACH;AAEA,OAAO,SAASI,iBAAiBA,CAAChB,MAAmB,EAAU;EAC7D,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAOA,MAAM;EACf;EAEA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAOjB,KAAK,CAACkC,kBAAkB,CAACjB,MAAM,CAAC,CAACkB,GAAG;EAC7C;EAEA,OAAOlB,MAAM,CAACkB,GAAG,IAAI,EAAE;AACzB;AAEA,OAAO,SAASC,gBAAgBA,CAC9BnB,MAAmB,EACiB;EACpC,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,IAAI,SAAS,IAAIA,MAAM,EAAE;IAC/D,OAAOA,MAAM,CAACoB,OAAO;EACvB;EAEA,OAAOL,SAAS;AAClB","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","Image","Platform","AudioContext","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","OS","undefined","resolveSourcePath","uri","resolveAssetSource","getSourceHeaders","headers"],"sourceRoot":"../../../src","sources":["Audio/utils.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,KAAK,EAAEC,QAAQ,QAAQ,cAAc;AAC9C,OAAOC,YAAY,MAAM,yBAAsB;AAS/C,OAAO,SAASC,gBAAgBA,CAACC,KAA4B,EAAW;EACtE,OAAOA,KAAK,KAAK,SAAS,IAAIA,KAAK,KAAK,WAAW;AACrD;AAEA,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AACrB,MAAMC,SAAS,GAAIC,MAAa,IAAK,CAAC,CAAC;AACvC,MAAMC,UAAU,GAAIC,OAAe,IAAK,CAAC,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAC/BC,KAAiB,EACjBC,eAA6C,EAC7B;EAChB,OAAO;IACL,GAAGD,KAAK;IACRE,QAAQ,EAAEF,KAAK,CAACE,QAAQ,IAAI,KAAK;IACjCC,QAAQ,EAAEH,KAAK,CAACG,QAAQ,IAAI,KAAK;IACjCC,IAAI,EAAEJ,KAAK,CAACI,IAAI,IAAI,KAAK;IACzBC,KAAK,EAAEL,KAAK,CAACK,KAAK,IAAI,KAAK;IAC3BC,OAAO,EAAEN,KAAK,CAACM,OAAO,IAAI,MAAM;IAChCC,aAAa,EAAEP,KAAK,CAACO,aAAa,IAAI,KAAK;IAC3CC,MAAM,EAAER,KAAK,CAACQ,MAAM,IAAI,EAAE;IAC1BC,YAAY,EAAET,KAAK,CAACS,YAAY,IAAI,GAAG;IACvCC,cAAc,EAAEV,KAAK,CAACU,cAAc,IAAI,IAAI;IAC5CC,MAAM,EAAEX,KAAK,CAACW,MAAM,IAAI,GAAG;IAC3BC,OAAO,EAAEX,eAAe;IACxBY,WAAW,EAAEb,KAAK,CAACa,WAAW,IAAInB,IAAI;IACtCoB,MAAM,EAAEd,KAAK,CAACc,MAAM,IAAIpB,IAAI;IAC5BqB,OAAO,EAAEf,KAAK,CAACe,OAAO,IAAIpB,SAAS;IACnCqB,gBAAgB,EAAEhB,KAAK,CAACgB,gBAAgB,IAAInB,UAAU;IACtDoB,OAAO,EAAEjB,KAAK,CAACiB,OAAO,IAAIvB,IAAI;IAC9BwB,MAAM,EAAElB,KAAK,CAACkB,MAAM,IAAIxB,IAAI;IAC5ByB,OAAO,EAAEnB,KAAK,CAACmB,OAAO,IAAIzB,IAAI;IAC9B0B,cAAc,EAAEpB,KAAK,CAACoB,cAAc,IAAIvB,UAAU;IAClDwB,SAAS,EAAErB,KAAK,CAACqB,SAAS,IAAI3B,IAAI;IAClC4B,SAAS,EAAEtB,KAAK,CAACsB,SAAS,IAAI5B;EAChC,CAAC;AACH;AAEA,OAAO,SAAS6B,mBAAmBA,CAACvB,KAAiB,EAAkB;EACrE,MAAMC,eAAe,GAAGb,OAAO,CAAC,MAAM;IACpC,IAAIE,QAAQ,CAACkC,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOC,SAAS;IAClB;IACA,OAAOzB,KAAK,CAACY,OAAO,IAAI,IAAIrB,YAAY,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACS,KAAK,CAACY,OAAO,CAAC,CAAC;EAEnB,MAAM;IACJ;IACAV,QAAQ;IACRC,QAAQ;IACRC,IAAI;IACJC,KAAK;IACLC,OAAO;IACPC,aAAa;IACbC,MAAM;IACNC,YAAY;IACZC,cAAc;IACdC,MAAM;IACNC,OAAO;IAEP;IACAC,WAAW;IACXC,MAAM;IACNC,OAAO;IACPC,gBAAgB;IAChBC,OAAO;IACPC,MAAM;IACNC,OAAO;IACPC,cAAc;IACdC,SAAS;IACTC;EACF,CAAC,GAAGvB,iBAAiB,CAACC,KAAK,EAAEC,eAAe,CAAC;EAE7C,OAAOb,OAAO,CACZ,OAAO;IACL;IACAc,QAAQ;IACRC,QAAQ;IACRC,IAAI;IACJC,KAAK;IACLC,OAAO;IACPC,aAAa;IACbC,MAAM;IACNC,YAAY;IACZC,cAAc;IACdC,MAAM;IACNC,OAAO;IAEP;IACAC,WAAW;IACXC,MAAM;IACNC,OAAO;IACPC,gBAAgB;IAChBC,OAAO;IACPC,MAAM;IACNC,OAAO;IACPC,cAAc;IACdC,SAAS;IACTC;EACF,CAAC,CAAC,EACF,CACEpB,QAAQ,EACRC,QAAQ,EACRC,IAAI,EACJC,KAAK,EACLC,OAAO,EACPC,aAAa,EACbC,MAAM,EACNC,YAAY,EACZC,cAAc,EACdC,MAAM,EACNC,OAAO,EACPC,WAAW,EACXC,MAAM,EACNC,OAAO,EACPC,gBAAgB,EAChBC,OAAO,EACPC,MAAM,EACNC,OAAO,EACPC,cAAc,EACdC,SAAS,EACTC,SAAS,CAEb,CAAC;AACH;AAEA,OAAO,SAASI,iBAAiBA,CAAClB,MAAmB,EAAU;EAC7D,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAOA,MAAM;EACf;EAEA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,MAAMmB,GAAG,GAAGtC,KAAK,CAACuC,kBAAkB,CAACpB,MAAM,CAAC,EAAEmB,GAAG;IACjD,OAAOA,GAAG,IAAI,EAAE;EAClB;EAEA,OAAOnB,MAAM,CAACmB,GAAG,IAAI,EAAE;AACzB;AAEA,OAAO,SAASE,gBAAgBA,CAC9BrB,MAAmB,EACiB;EACpC,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,IAAI,SAAS,IAAIA,MAAM,EAAE;IAC/D,OAAOA,MAAM,CAACsB,OAAO;EACvB;EAEA,OAAOL,SAAS;AAClB","ignoreList":[]}
@@ -8,7 +8,7 @@ class AudioAPIModule {
8
8
  #canUseWorklets_ = false;
9
9
  #workletsVersion = 'unknown';
10
10
  #workletsAvailable_ = false;
11
- static MIN_WORKLETS_VERSION = '0.6.0';
11
+ static MIN_WORKLETS_VERSION = '0.7.0';
12
12
  constructor() {
13
13
  // Important! Verify and import worklets first
14
14
  // otherwise the native module installation might crash
@@ -30,7 +30,10 @@ class AudioDecoder {
30
30
  return new AudioBuffer(buffer);
31
31
  }
32
32
  resolveStringSource(input) {
33
- return typeof input === 'number' ? Image.resolveAssetSource(input).uri : input;
33
+ if (typeof input !== 'number') {
34
+ return input;
35
+ }
36
+ return Image.resolveAssetSource(input)?.uri ?? '';
34
37
  }
35
38
  assertSupportedStringSource(source) {
36
39
  if (typeof source !== 'string') {
@@ -1 +1 @@
1
- {"version":3,"names":["Image","Platform","NativeAudioAPIModule","AudioApiError","isBase64Source","isDataBlobString","isRemoteSource","resolveLocalFilePath","base64ToArrayBuffer","AudioBuffer","AudioDecoder","instance","constructor","decoder","globalThis","createAudioDecoder","decodeAudioDataImplementation","input","sampleRate","fetchOptions","rate","ArrayBuffer","decodeFromArrayBuffer","stringSource","resolveStringSource","assertSupportedStringSource","decodeFromRemoteUrl","decodeFromLocalFile","arrayBuffer","buffer","decodeWithMemoryBlock","Uint8Array","resolveAssetSource","uri","source","TypeError","url","fetch","then","res","useAndroidBundledAssetReader","OS","startsWith","__DEV__","base64Payload","readAndroidReleaseAssetBytesAsBase64","filePath","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":[]}
1
+ {"version":3,"names":["Image","Platform","NativeAudioAPIModule","AudioApiError","isBase64Source","isDataBlobString","isRemoteSource","resolveLocalFilePath","base64ToArrayBuffer","AudioBuffer","AudioDecoder","instance","constructor","decoder","globalThis","createAudioDecoder","decodeAudioDataImplementation","input","sampleRate","fetchOptions","rate","ArrayBuffer","decodeFromArrayBuffer","stringSource","resolveStringSource","assertSupportedStringSource","decodeFromRemoteUrl","decodeFromLocalFile","arrayBuffer","buffer","decodeWithMemoryBlock","Uint8Array","resolveAssetSource","uri","source","TypeError","url","fetch","then","res","useAndroidBundledAssetReader","OS","startsWith","__DEV__","base64Payload","readAndroidReleaseAssetBytesAsBase64","filePath","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":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Audio.d.ts","sourceRoot":"","sources":["../../../src/Audio/Audio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,SAAS,CAAC;AAOjB,QAAA,MAAM,KAAK;;wCAyQV,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Audio.d.ts","sourceRoot":"","sources":["../../../src/Audio/Audio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,SAAS,CAAC;AAOjB,QAAA,MAAM,KAAK;;wCA6SV,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Audio.web.d.ts","sourceRoot":"","sources":["../../../src/Audio/Audio.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,SAAS,CAAC;AAIjB,QAAA,MAAM,KAAK;;wCAyQV,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Audio.web.d.ts","sourceRoot":"","sources":["../../../src/Audio/Audio.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,SAAS,CAAC;AAIjB,QAAA,MAAM,KAAK;;wCAiSV,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -22,6 +22,8 @@ export declare class AudioFileSourceNode extends AudioScheduledSourceNode {
22
22
  getCurrentTime(): number;
23
23
  startPositionTracking(onTime: (seconds: number) => void): void;
24
24
  stopPositionTracking(): void;
25
+ startBufferingTracking(onBufferingChange: (buffering: boolean) => void): void;
26
+ stopBufferingTracking(): void;
25
27
  private resetNodeAndSubscriptions;
26
28
  }
27
29
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"AudioFileSourceNode.d.ts","sourceRoot":"","sources":["../../../src/Audio/AudioFileSourceNode.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,wBAAwB,MAAM,kCAAkC,CAAC;AAExE,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAIF,qBAAa,mBAAoB,SAAQ,wBAAwB;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEtB;IAEF,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;IAgB9D,OAAO,IAAI,IAAI;IAIf,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;IAIb,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIjC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI9B,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI7B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IASpC,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIvC,iBAAiB,IAAI,oBAAoB;IAIzC,WAAW,IAAI,MAAM;IAIrB,cAAc,IAAI,MAAM;IAIxB,qBAAqB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAc9D,oBAAoB,IAAI,IAAI;IAM5B,OAAO,CAAC,yBAAyB;CAOlC"}
1
+ {"version":3,"file":"AudioFileSourceNode.d.ts","sourceRoot":"","sources":["../../../src/Audio/AudioFileSourceNode.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,wBAAwB,MAAM,kCAAkC,CAAC;AAExE,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAIF,qBAAa,mBAAoB,SAAQ,wBAAwB;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEtB;IAEF,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;IAgB9D,OAAO,IAAI,IAAI;IAIf,IAAI,IAAI,IAAI;IAQZ,KAAK,IAAI,IAAI;IAIb,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIjC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI9B,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI7B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IASpC,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIvC,iBAAiB,IAAI,oBAAoB;IAIzC,WAAW,IAAI,MAAM;IAIrB,cAAc,IAAI,MAAM;IAIxB,qBAAqB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAc9D,oBAAoB,IAAI,IAAI;IAM5B,sBAAsB,CACpB,iBAAiB,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,GAC9C,IAAI;IAeP,qBAAqB,IAAI,IAAI;IAM7B,OAAO,CAAC,yBAAyB;CAQlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AudioControls.d.ts","sourceRoot":"","sources":["../../../../src/Audio/controls/AudioControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAgCtE,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EA+K1B,CAAC;AAoEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"AudioControls.d.ts","sourceRoot":"","sources":["../../../../src/Audio/controls/AudioControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAoCtE,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EA6J1B,CAAC;AAmFF,eAAe,aAAa,CAAC"}
@@ -1,11 +1,18 @@
1
+ import { Animated } from 'react-native';
1
2
  export declare function formatTime(seconds: number): string;
2
3
  export declare function timeFromLocationX(locationX: number, trackWidth: number, durationSeconds: number): number;
3
4
  export declare function useExpandableTrackHeight(trackBarHeight: number, trackBarHeightPressed: number, trackBarAnimMs: number): {
4
- animatedStyle: import("react-native-reanimated/lib/typescript/hook/commonTypes").AnimatedStyleHandle<{
5
- height: number;
6
- borderRadius: number;
7
- }>;
5
+ animatedStyle: {
6
+ height: Animated.Value;
7
+ borderRadius: Animated.AnimatedDivision;
8
+ };
8
9
  expand: () => void;
9
10
  collapse: () => void;
10
11
  };
12
+ export declare function useBufferingSweep(isBuffering: boolean, trackWidth: number, sweepWidthRatio: number, sweepDurationMs: number): {
13
+ width: number;
14
+ transform: {
15
+ translateX: Animated.Interpolation<number>;
16
+ }[];
17
+ };
11
18
  //# sourceMappingURL=audioControlUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"audioControlUtils.d.ts","sourceRoot":"","sources":["../../../../src/Audio/controls/audioControlUtils.ts"],"names":[],"mappings":"AAOA,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYlD;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACtB,MAAM,CAMR;AAED,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,EACtB,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,MAAM;;;;;;;EA8BvB"}
1
+ {"version":3,"file":"audioControlUtils.d.ts","sourceRoot":"","sources":["../../../../src/Audio/controls/audioControlUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAU,MAAM,cAAc,CAAC;AAEhD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYlD;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACtB,MAAM,CAMR;AAED,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,EACtB,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,MAAM;;;;;;;EAsBvB;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,OAAO,EACpB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM;;;;;EAsCxB"}