react-native-audio-api 0.13.3 → 0.13.5

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 (96) 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 +6 -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 +195 -72
  21. package/ios/audioapi/ios/core/NativeAudioRecorder.h +3 -1
  22. package/ios/audioapi/ios/core/NativeAudioRecorder.m +41 -14
  23. package/ios/audioapi/ios/core/utils/FileOptions.mm +18 -5
  24. package/ios/audioapi/ios/core/utils/IOSFileWriter.h +8 -0
  25. package/ios/audioapi/ios/core/utils/IOSFileWriter.mm +55 -8
  26. package/ios/audioapi/ios/core/utils/IOSRotatingFileWriter.h +3 -0
  27. package/ios/audioapi/ios/core/utils/IOSRotatingFileWriter.mm +16 -0
  28. package/ios/audioapi/ios/system/AudioEngine.h +2 -1
  29. package/ios/audioapi/ios/system/AudioEngine.mm +49 -23
  30. package/ios/audioapi/ios/system/SystemNotificationManager.mm +10 -0
  31. package/lib/commonjs/Audio/Audio.js +30 -3
  32. package/lib/commonjs/Audio/Audio.js.map +1 -1
  33. package/lib/commonjs/Audio/Audio.web.js +21 -3
  34. package/lib/commonjs/Audio/Audio.web.js.map +1 -1
  35. package/lib/commonjs/Audio/AudioFileSourceNode.js +20 -0
  36. package/lib/commonjs/Audio/AudioFileSourceNode.js.map +1 -1
  37. package/lib/commonjs/Audio/controls/AudioControls.js +90 -94
  38. package/lib/commonjs/Audio/controls/AudioControls.js.map +1 -1
  39. package/lib/commonjs/Audio/controls/audioControlUtils.js +48 -18
  40. package/lib/commonjs/Audio/controls/audioControlUtils.js.map +1 -1
  41. package/lib/commonjs/Audio/index.js +7 -0
  42. package/lib/commonjs/Audio/index.js.map +1 -1
  43. package/lib/commonjs/Audio/utils.js +16 -5
  44. package/lib/commonjs/Audio/utils.js.map +1 -1
  45. package/lib/commonjs/AudioAPIModule/AudioAPIModule.js +1 -1
  46. package/lib/commonjs/core/AudioDecoder.js +4 -1
  47. package/lib/commonjs/core/AudioDecoder.js.map +1 -1
  48. package/lib/module/Audio/Audio.js +30 -3
  49. package/lib/module/Audio/Audio.js.map +1 -1
  50. package/lib/module/Audio/Audio.web.js +21 -3
  51. package/lib/module/Audio/Audio.web.js.map +1 -1
  52. package/lib/module/Audio/AudioFileSourceNode.js +20 -0
  53. package/lib/module/Audio/AudioFileSourceNode.js.map +1 -1
  54. package/lib/module/Audio/controls/AudioControls.js +92 -96
  55. package/lib/module/Audio/controls/AudioControls.js.map +1 -1
  56. package/lib/module/Audio/controls/audioControlUtils.js +48 -19
  57. package/lib/module/Audio/controls/audioControlUtils.js.map +1 -1
  58. package/lib/module/Audio/index.js +1 -0
  59. package/lib/module/Audio/index.js.map +1 -1
  60. package/lib/module/Audio/utils.js +15 -5
  61. package/lib/module/Audio/utils.js.map +1 -1
  62. package/lib/module/AudioAPIModule/AudioAPIModule.js +1 -1
  63. package/lib/module/core/AudioDecoder.js +4 -1
  64. package/lib/module/core/AudioDecoder.js.map +1 -1
  65. package/lib/typescript/Audio/Audio.d.ts.map +1 -1
  66. package/lib/typescript/Audio/Audio.web.d.ts.map +1 -1
  67. package/lib/typescript/Audio/AudioFileSourceNode.d.ts +2 -0
  68. package/lib/typescript/Audio/AudioFileSourceNode.d.ts.map +1 -1
  69. package/lib/typescript/Audio/controls/AudioControls.d.ts.map +1 -1
  70. package/lib/typescript/Audio/controls/audioControlUtils.d.ts +11 -4
  71. package/lib/typescript/Audio/controls/audioControlUtils.d.ts.map +1 -1
  72. package/lib/typescript/Audio/index.d.ts +1 -0
  73. package/lib/typescript/Audio/index.d.ts.map +1 -1
  74. package/lib/typescript/Audio/types.d.ts +15 -1
  75. package/lib/typescript/Audio/types.d.ts.map +1 -1
  76. package/lib/typescript/Audio/utils.d.ts +2 -1
  77. package/lib/typescript/Audio/utils.d.ts.map +1 -1
  78. package/lib/typescript/core/AudioDecoder.d.ts.map +1 -1
  79. package/lib/typescript/events/types.d.ts +5 -0
  80. package/lib/typescript/events/types.d.ts.map +1 -1
  81. package/lib/typescript/jsi-interfaces.d.ts +1 -0
  82. package/lib/typescript/jsi-interfaces.d.ts.map +1 -1
  83. package/package.json +8 -8
  84. package/scripts/validate-worklets-version.js +1 -1
  85. package/src/Audio/Audio.tsx +38 -2
  86. package/src/Audio/Audio.web.tsx +26 -2
  87. package/src/Audio/AudioFileSourceNode.ts +28 -0
  88. package/src/Audio/controls/AudioControls.tsx +117 -116
  89. package/src/Audio/controls/audioControlUtils.ts +63 -31
  90. package/src/Audio/index.ts +1 -0
  91. package/src/Audio/types.ts +15 -1
  92. package/src/Audio/utils.ts +20 -2
  93. package/src/AudioAPIModule/AudioAPIModule.ts +1 -1
  94. package/src/core/AudioDecoder.ts +5 -3
  95. package/src/events/types.ts +6 -0
  96. package/src/jsi-interfaces.ts +1 -0
@@ -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":"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","ignoreList":[]}
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, playbackState, currentTime, duration, autoPlay, controls, loop, preload, playbackRate, preservesPitch]);
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":"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","ignoreList":[]}
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","start","context","currentTime","pause","seekToTime","seconds","setVolume","value","volume","setLoop","loop","setPlaybackRate","Number","isFinite","Error","playbackRate","setPreservesPitch","preservesPitch","getFileSourceNode","getDuration","getCurrentTime","startPositionTracking","onTime","stopPositionTracking","event","onPositionChanged","disconnect","undefined"],"sourceRoot":"../../../src","sources":["Audio/AudioFileSourceNode.ts"],"mappings":"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","ignoreList":[]}
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":";;AAAA,SAASA,iBAAiB,QAAQ,oBAAW;AAM7C,OAAOC,wBAAwB,MAAM,qCAAkC;AAOvE,MAAMC,iBAAiB,GAAG,CAAC;AAE3B,OAAO,MAAMC,mBAAmB,SAASF,wBAAwB,CAAC;EAC/CG,OAAO,GAAG,IAAIJ,iBAAiB,CAC9CK,UAAU,CAACL,iBACb,CAAC;EAEDM,MAAMA,CAACC,OAAgC,EAAwB;IAC7D,IAAI,CAACC,yBAAyB,CAAC,CAAC;IAEhC,MAAMC,GAAG,GAAG,IAAI,CAACL,OAAO,CAACM,qBAAqB,CAC5C,OAAO,EACNC,MAAsB,IAAK;MAC1BJ,OAAO,CAACK,OAAO,CAAC,CAAC;IACnB,CACF,CAAC;IACA,IAAI,CAACC,IAAI,CAA0BD,OAAO,GAAGH,GAAG,CAACK,cAAc;IAEhE,OAAO;MACLC,QAAQ,EAAG,IAAI,CAACF,IAAI,CAA0BE;IAChD,CAAC;EACH;EAEAC,OAAOA,CAAA,EAAS;IACd,IAAI,CAACR,yBAAyB,CAAC,CAAC;EAClC;EAEAS,IAAIA,CAAA,EAAS;IACX,IAAI,CAAE,IAAI,CAACJ,IAAI,CAA0BK,yBAAyB,EAAE;MAClE,IAAI,CAACC,OAAO,CAAC,IAAI,CAACC,OAAO,CAACC,WAAW,CAAC;IACxC;IACA;IACC,IAAI,CAACR,IAAI,CAA+BS,KAAK,CAAC,IAAI,CAACF,OAAO,CAACG,WAAW,CAAC;EAC1E;EAEAC,KAAKA,CAAA,EAAS;IACX,IAAI,CAACX,IAAI,CAA0BW,KAAK,CAAC,CAAC;EAC7C;EAEAC,UAAUA,CAACC,OAAe,EAAQ;IAC/B,IAAI,CAACb,IAAI,CAA0BY,UAAU,CAACC,OAAO,CAAC;EACzD;EAEAC,SAASA,CAACC,KAAa,EAAQ;IAC5B,IAAI,CAACf,IAAI,CAA0BgB,MAAM,GAAGD,KAAK;EACpD;EAEAE,OAAOA,CAACF,KAAc,EAAQ;IAC3B,IAAI,CAACf,IAAI,CAA0BkB,IAAI,GAAGH,KAAK;EAClD;EAEAI,eAAeA,CAACJ,KAAa,EAAQ;IACnC,IAAI,CAACK,MAAM,CAACC,QAAQ,CAACN,KAAK,CAAC,IAAIA,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAG1B,iBAAiB,EAAE;MACrE,MAAM,IAAIiC,KAAK,CACb,0FAA0FjC,iBAAiB,GAC7G,CAAC;IACH;IACC,IAAI,CAACW,IAAI,CAA0BuB,YAAY,GAAGR,KAAK;EAC1D;EAEAS,iBAAiBA,CAACT,KAAc,EAAQ;IACrC,IAAI,CAACf,IAAI,CAA0ByB,cAAc,GAAGV,KAAK;EAC5D;EAEAW,iBAAiBA,CAAA,EAAyB;IACxC,OAAO,IAAI,CAAC1B,IAAI;EAClB;EAEA2B,WAAWA,CAAA,EAAW;IACpB,OAAQ,IAAI,CAAC3B,IAAI,CAA0BE,QAAQ;EACrD;EAEA0B,cAAcA,CAAA,EAAW;IACvB,OAAQ,IAAI,CAAC5B,IAAI,CAA0BU,WAAW;EACxD;EAEAmB,qBAAqBA,CAACC,MAAiC,EAAQ;IAC7D,IAAI,CAAC,IAAI,CAAC9B,IAAI,EAAE;MACd;IACF;IACA,IAAI,CAAC+B,oBAAoB,CAAC,CAAC;IAC3B,MAAMnC,GAAG,GAAG,IAAI,CAACL,OAAO,CAACM,qBAAqB,CAC5C,iBAAiB,EAChBmC,KAAK,IAAK;MACTF,MAAM,CAACE,KAAK,CAACjB,KAAK,CAAC;IACrB,CACF,CAAC;IACA,IAAI,CAACf,IAAI,CAA0BiC,iBAAiB,GAAGrC,GAAG,CAACK,cAAc;EAC5E;EAEA8B,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,IAAI,CAAC/B,IAAI,EAAE;MACZ,IAAI,CAACA,IAAI,CAA0BiC,iBAAiB,GAAG,GAAG;IAC7D;EACF;EAEAC,sBAAsBA,CACpBC,iBAA+C,EACzC;IACN,IAAI,CAAC,IAAI,CAACnC,IAAI,EAAE;MACd;IACF;IACA,IAAI,CAACoC,qBAAqB,CAAC,CAAC;IAC5B,MAAMxC,GAAG,GAAG,IAAI,CAACL,OAAO,CAACM,qBAAqB,CAC5C,uBAAuB,EACtBmC,KAAK,IAAK;MACTG,iBAAiB,CAACH,KAAK,CAACjB,KAAK,CAAC;IAChC,CACF,CAAC;IACA,IAAI,CAACf,IAAI,CAA0BqC,uBAAuB,GACzDzC,GAAG,CAACK,cAAc;EACtB;EAEAmC,qBAAqBA,CAAA,EAAS;IAC5B,IAAI,IAAI,CAACpC,IAAI,EAAE;MACZ,IAAI,CAACA,IAAI,CAA0BqC,uBAAuB,GAAG,GAAG;IACnE;EACF;EAEQ1C,yBAAyBA,CAAA,EAAS;IACxC,IAAI,IAAI,CAACK,IAAI,EAAE;MACZ,IAAI,CAACA,IAAI,CAA0BiC,iBAAiB,GAAG,GAAG;MAC1D,IAAI,CAACjC,IAAI,CAA0BqC,uBAAuB,GAAG,GAAG;MAChE,IAAI,CAACrC,IAAI,CAA0BD,OAAO,GAAG,GAAG;MACjD,IAAI,CAACC,IAAI,CAACsC,UAAU,CAACC,SAAS,CAAC;IACjC;EACF;AACF","ignoreList":[]}
@@ -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":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACrE,SACEC,iBAAiB,EACjBC,KAAK,EACLC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,IAAI,EACJC,IAAI,QACC,cAAc;AACrB,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA8B;AACvE,OAAOC,QAAQ,IACbC,cAAc,EACdC,cAAc,QACT,yBAAyB;AAChC,SAASC,kBAAkB,QAAQ,uBAAoB;AACvD,SACEC,UAAU,EACVC,iBAAiB,EACjBC,wBAAwB,QACnB,wBAAqB;AAE5B,OAAOC,QAAQ,MAAM,kBAAkB;AACvC,OAAOC,SAAS,MAAM,mBAAmB;AACzC,OAAOC,UAAU,MAAM,qBAAqB;AAC5C,OAAOC,QAAQ,MAAM,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE7C,MAAMC,gBAAgB,GAAG,EAAE;AAC3B,MAAMC,wBAAwB,GAAG,EAAE;AACnC,MAAMC,iBAAiB,GAAG,GAAG;AAC7B,MAAMC,sBAAsB,GAAG,CAAC;AAEhC,MAAMC,aAAuB,GAAGA,CAAA,KAAM;EACpC,MAAM;IACJC,KAAK;IACLC,IAAI;IACJC,KAAK;IACLC,UAAU;IACVC,aAAa;IACbC,KAAK;IACLC,QAAQ;IACRC,WAAW;IACXC;EACF,CAAC,GAAGzB,kBAAkB,CAAC,CAAC;EAExB,MAAM0B,iBAAiB,GAAGvB,wBAAwB,CAChDS,gBAAgB,EAChBC,wBAAwB,EACxBC,iBACF,CAAC;EAED,MAAM,CAACa,SAAS,EAAEC,YAAY,CAAC,GAAGzC,QAAQ,CAAgB,IAAI,CAAC;EAC/D,MAAM0C,gBAAgB,GAAG/B,cAAc,CAAO,CAAC;EAC/C,MAAMgC,oBAAoB,GAAG/B,cAAc,CAAC,CAAC,CAAC;EAC9C,MAAMgC,WAAW,GAAG7C,MAAM,CAACuC,QAAQ,CAAC;EACpCM,WAAW,CAACC,OAAO,GAAGP,QAAQ;EAE9B,MAAMQ,OAAO,GAAGjD,WAAW,CACxBkD,CAAS,IAAK;IACbR,iBAAiB,CAACS,MAAM,CAAC,CAAC;IAC1B,MAAMC,CAAC,GAAGL,WAAW,CAACC,OAAO;IAC7BH,gBAAgB,CAACG,OAAO,EAAEK,eAAe,CAAC,CAACC,KAAK,EAAEC,EAAE,EAAEC,KAAK,EAAEC,EAAE,KAAK;MAClEX,oBAAoB,CAACY,KAAK,GAAGF,KAAK;MAClCZ,YAAY,CAAC1B,iBAAiB,CAACgC,CAAC,EAAEM,KAAK,EAAEJ,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC;EACJ,CAAC,EACD,CAACV,iBAAiB,EAAEI,oBAAoB,EAAEF,YAAY,EAAEC,gBAAgB,CAC1E,CAAC;EAED,MAAMc,QAAQ,GAAG3D,WAAW,CACzBkD,CAAS,IAAK;IACb,MAAME,CAAC,GAAGL,WAAW,CAACC,OAAO;IAC7B,MAAMY,CAAC,GAAGd,oBAAoB,CAACY,KAAK;IACpCd,YAAY,CAAC1B,iBAAiB,CAACgC,CAAC,EAAEU,CAAC,EAAER,CAAC,CAAC,CAAC;EAC1C,CAAC,EACD,CAACN,oBAAoB,CACvB,CAAC;EAED,MAAMe,MAAM,GAAG7D,WAAW,CACvBkD,CAAS,IAAK;IACb,MAAME,CAAC,GAAGL,WAAW,CAACC,OAAO;IAC7B,MAAMY,CAAC,GAAGd,oBAAoB,CAACY,KAAK;IACpC,MAAMI,CAAC,GAAG5C,iBAAiB,CAACgC,CAAC,EAAEU,CAAC,EAAER,CAAC,CAAC;IACpChB,UAAU,CAAC0B,CAAC,CAAC;EACf,CAAC,EACD,CAAChB,oBAAoB,EAAEV,UAAU,CACnC,CAAC;EAED,MAAM2B,KAAK,GAAG/D,WAAW,CACtBkD,CAAS,IAAK;IACbW,MAAM,CAACX,CAAC,CAAC;IACTR,iBAAiB,CAACsB,QAAQ,CAAC,CAAC;IAC5BpB,YAAY,CAAC,IAAI,CAAC;EACpB,CAAC,EACD,CAACF,iBAAiB,EAAEmB,MAAM,CAC5B,CAAC;EAED,MAAMI,QAAQ,GAAGjE,WAAW,CAAC,MAAM;IACjC0C,iBAAiB,CAACsB,QAAQ,CAAC,CAAC;IAC5BpB,YAAY,CAAC,IAAI,CAAC;EACpB,CAAC,EAAE,CAACF,iBAAiB,CAAC,CAAC;EAEvB,MAAMwB,SAAS,GAAGlE,WAAW,CAC1BkD,CAAS,IAAK;IACba,KAAK,CAACb,CAAC,CAAC;EACV,CAAC,EACD,CAACa,KAAK,CACR,CAAC;EAED,MAAMI,YAAY,GAAGlE,OAAO,CAAC,MAAM;IACjC,MAAMmE,UAAU,GAAGzD,OAAO,CAAC0D,GAAG,CAAC,CAAC,CAC7BC,OAAO,CAAC,IAAI,CAAC,CACbC,WAAW,CAACxC,sBAAsB,CAAC,CACnCkB,OAAO,CAAEuB,CAAC,IAAK;MACdvB,OAAO,CAACuB,CAAC,CAACtB,CAAC,CAAC;IACd,CAAC,CAAC,CACDS,QAAQ,CAAEa,CAAC,IAAK;MACfb,QAAQ,CAACa,CAAC,CAACtB,CAAC,CAAC;IACf,CAAC,CAAC,CACDa,KAAK,CAAES,CAAC,IAAK;MACZT,KAAK,CAACS,CAAC,CAACtB,CAAC,CAAC;IACZ,CAAC,CAAC,CACDuB,UAAU,CAAC,CAACC,EAAE,EAAEC,OAAO,KAAK;MAC3B,IAAI,CAACA,OAAO,EAAE;QACZV,QAAQ,CAAC,CAAC;MACZ;IACF,CAAC,CAAC;IAEJ,MAAMW,UAAU,GAAGjE,OAAO,CAACkE,GAAG,CAAC,CAAC,CAC7BP,OAAO,CAAC,IAAI,CAAC,CACbQ,WAAW,CAAC,EAAE,CAAC,CACff,KAAK,CAAC,CAACS,CAAC,EAAEG,OAAO,KAAK;MACrB,IAAIA,OAAO,EAAE;QACXT,SAAS,CAACM,CAAC,CAACtB,CAAC,CAAC;MAChB;IACF,CAAC,CAAC;IAEJ,OAAOvC,OAAO,CAACoE,IAAI,CAACX,UAAU,EAAEQ,UAAU,CAAC;EAC7C,CAAC,EAAE,CAAC3B,OAAO,EAAEU,QAAQ,EAAEI,KAAK,EAAEE,QAAQ,EAAEC,SAAS,CAAC,CAAC;EAEnD,MAAMc,gBAAgB,GAAGhF,WAAW,CAAC,MAAM;IACzC,IAAIqC,aAAa,KAAK,SAAS,EAAE;MAC/BF,KAAK,CAAC,CAAC;IACT,CAAC,MAAM;MACLD,IAAI,CAAC,CAAC;IACR;EACF,CAAC,EAAE,CAACG,aAAa,EAAEF,KAAK,EAAED,IAAI,CAAC,CAAC;EAEhC,MAAM+C,qBAAqB,GAAGjF,WAAW,CAAC,MAAM;IAC9C6C,gBAAgB,CAACG,OAAO,EAAEK,eAAe,CAAC,CAACC,KAAK,EAAEC,EAAE,EAAEC,KAAK,EAAEC,EAAE,KAAK;MAClEX,oBAAoB,CAACY,KAAK,GAAGF,KAAK;IACpC,CAAC,CAAC;EACJ,CAAC,EAAE,CAACV,oBAAoB,EAAED,gBAAgB,CAAC,CAAC;EAE5C,IAAI,CAACZ,KAAK,EAAE;IACV,oBACER,IAAA,CAACf,IAAI;MAACwE,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAC,QAAA,eAC5B5D,IAAA,CAACrB,iBAAiB;QAACkF,KAAK,EAAC,MAAM;QAACC,IAAI,EAAC;MAAO,CAAE;IAAC,CAC3C,CAAC;EAEX;EAEA,MAAMC,WAAW,GAAG7C,SAAS,IAAIH,WAAW;EAC5C,MAAMiD,QAAQ,GAAGhD,QAAQ,GAAG,CAAC,GAAG+C,WAAW,GAAG/C,QAAQ,GAAG,CAAC;EAE1D,oBACEhB,IAAA,CAACf,IAAI;IAACwE,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5B1D,KAAA,CAACjB,IAAI;MAACwE,KAAK,EAAEC,MAAM,CAACO,MAAO;MAAAL,QAAA,gBACzB5D,IAAA,CAAClB,SAAS;QAAC2E,KAAK,EAAEC,MAAM,CAACQ,SAAU;QAACC,OAAO,EAAEZ,gBAAiB;QAAAK,QAAA,EAC3DhD,aAAa,KAAK,SAAS,gBAC1BZ,IAAA,CAACpB,KAAK;UAACwF,MAAM,EAAExE,SAAU;UAAC6D,KAAK,EAAE;YAAE1B,KAAK,EAAE,EAAE;YAAEsC,MAAM,EAAE;UAAG;QAAE,CAAE,CAAC,gBAE9DrE,IAAA,CAACpB,KAAK;UAACwF,MAAM,EAAEzE,QAAS;UAAC8D,KAAK,EAAE;YAAE1B,KAAK,EAAE,EAAE;YAAEsC,MAAM,EAAE;UAAG;QAAE,CAAE;MAC7D,CACQ,CAAC,eAEZnE,KAAA,CAAClB,IAAI;QAACyE,KAAK,EAAEC,MAAM,CAACY,QAAS;QAAAV,QAAA,GAC1BpE,UAAU,CAACuE,WAAW,CAAC,EAAC,KAAG,EAACvE,UAAU,CAACwB,QAAQ,CAAC;MAAA,CAC7C,CAAC,eAEPhB,IAAA,CAACb,eAAe;QAACoF,OAAO,EAAE7B,YAAa;QAAAkB,QAAA,eAErC5D,IAAA,CAACf,IAAI;UACHuF,GAAG,EAAEpD,gBAAiB;UACtBqD,QAAQ,EAAEjB,qBAAsB;UAChCC,KAAK,EAAEC,MAAM,CAACgB,aAAc;UAC5BC,WAAW,EAAE,KAAM;UAAAf,QAAA,eACnB5D,IAAA,CAACZ,QAAQ,CAACH,IAAI;YACZwE,KAAK,EAAE,CAACC,MAAM,CAACkB,UAAU,EAAE3D,iBAAiB,CAAC4D,aAAa,CAAE;YAAAjB,QAAA,eAE5D5D,IAAA,CAACf,IAAI;cACHwE,KAAK,EAAE,CAACC,MAAM,CAACoB,SAAS,EAAE;gBAAE/C,KAAK,EAAE,GAAGiC,QAAQ,GAAG,GAAG;cAAI,CAAC;YAAE,CAC5D;UAAC,CACW;QAAC,CACZ;MAAC,CACQ,CAAC,eAElBhE,IAAA,CAAClB,SAAS;QAAC2E,KAAK,EAAEC,MAAM,CAACqB,UAAW;QAACZ,OAAO,EAAEA,CAAA,KAAMrD,QAAQ,CAAC,CAACD,KAAK,CAAE;QAAA+C,QAAA,EAClE/C,KAAK,gBACJb,IAAA,CAACpB,KAAK;UAACwF,MAAM,EAAEtE,QAAS;UAAC2D,KAAK,EAAE;YAAE1B,KAAK,EAAE,EAAE;YAAEsC,MAAM,EAAE;UAAG;QAAE,CAAE,CAAC,gBAE7DrE,IAAA,CAACpB,KAAK;UAACwF,MAAM,EAAEvE,UAAW;UAAC4D,KAAK,EAAE;YAAE1B,KAAK,EAAE,EAAE;YAAEsC,MAAM,EAAE;UAAG;QAAE,CAAE;MAC/D,CACQ,CAAC;IAAA,CACR;EAAC,CACH,CAAC;AAEX,CAAC;AAED,MAAMX,MAAM,GAAG3E,UAAU,CAACiG,MAAM,CAAC;EAC/BrB,SAAS,EAAE;IACTsB,aAAa,EAAE,QAAQ;IACvBC,SAAS,EAAE,SAAS;IACpBC,QAAQ,EAAE,GAAG;IACbC,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,SAAS;IAC1BC,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,MAAM;IACnB,GAAG5G,QAAQ,CAAC6G,MAAM,CAAC;MACjBC,GAAG,EAAE;QACHC,WAAW,EAAE,MAAM;QACnBC,YAAY,EAAE;UAAE9D,KAAK,EAAE,CAAC;UAAEsC,MAAM,EAAE;QAAE,CAAC;QACrCyB,aAAa,EAAE,IAAI;QACnBC,YAAY,EAAE;MAChB,CAAC;MACDC,OAAO,EAAE;QACPC,SAAS,EAAE;MACb;IACF,CAAC;EACH,CAAC;EACDhC,MAAM,EAAE;IACNgB,aAAa,EAAE,KAAK;IACpBiB,UAAU,EAAE;EACd,CAAC;EACDhC,SAAS,EAAE;IACTiC,OAAO,EAAE,CAAC;IACVC,WAAW,EAAE;EACf,CAAC;EACD9B,QAAQ,EAAE;IACRT,KAAK,EAAE,MAAM;IACbwC,QAAQ,EAAE,EAAE;IACZD,WAAW,EAAE,EAAE;IACfjB,QAAQ,EAAE;EACZ,CAAC;EACDT,aAAa,EAAE;IACb4B,IAAI,EAAE,CAAC;IACPnB,QAAQ,EAAE,EAAE;IACZoB,cAAc,EAAE,QAAQ;IACxBH,WAAW,EAAE;EACf,CAAC;EACDxB,UAAU,EAAE;IACVM,SAAS,EAAE,SAAS;IACpBI,eAAe,EAAE,MAAM;IACvBkB,QAAQ,EAAE;EACZ,CAAC;EACD1B,SAAS,EAAE;IACTT,MAAM,EAAE,MAAM;IACdiB,eAAe,EAAE;EACnB,CAAC;EACDP,UAAU,EAAE;IACVoB,OAAO,EAAE,CAAC;IACVC,WAAW,EAAE;EACf,CAAC;EACDK,UAAU,EAAE;IACVxB,aAAa,EAAE,KAAK;IACpBiB,UAAU,EAAE;EACd,CAAC;EACDQ,WAAW,EAAE;IACX7C,KAAK,EAAE,MAAM;IACbwC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,eAAe9F,aAAa","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