react-native-audio-api 0.6.0-rc.1 → 0.6.0-rc.2

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 (90) hide show
  1. package/README.md +35 -22
  2. package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.cpp +73 -0
  3. package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.h +37 -0
  4. package/android/src/main/cpp/audioapi/android/core/AudioPlayer.cpp +6 -10
  5. package/android/src/main/cpp/audioapi/android/core/AudioPlayer.h +2 -3
  6. package/android/src/main/java/com/swmansion/audioapi/AudioManagerModule.kt +10 -8
  7. package/android/src/main/java/com/swmansion/audioapi/system/MediaNotificationManager.kt +7 -7
  8. package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionEventEmitter.kt +4 -0
  9. package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionManager.kt +31 -13
  10. package/android/src/main/java/com/swmansion/audioapi/system/VolumeChangeListener.kt +27 -0
  11. package/common/cpp/audioapi/AudioAPIModuleInstaller.h +29 -5
  12. package/common/cpp/audioapi/HostObjects/AnalyserNodeHostObject.h +1 -0
  13. package/common/cpp/audioapi/HostObjects/AudioRecorderHostObject.h +149 -0
  14. package/common/cpp/audioapi/core/AudioContext.cpp +4 -3
  15. package/common/cpp/audioapi/core/BaseAudioContext.cpp +6 -6
  16. package/common/cpp/audioapi/core/inputs/AudioRecorder.h +38 -0
  17. package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.h +5 -0
  18. package/common/cpp/audioapi/core/sources/OscillatorNode.cpp +1 -1
  19. package/common/cpp/audioapi/core/utils/AudioNodeManager.cpp +45 -11
  20. package/common/cpp/audioapi/core/utils/AudioNodeManager.h +6 -2
  21. package/ios/audioapi/ios/AudioManagerModule.mm +9 -10
  22. package/ios/audioapi/ios/core/IOSAudioPlayer.h +11 -12
  23. package/ios/audioapi/ios/core/IOSAudioPlayer.mm +22 -16
  24. package/ios/audioapi/ios/core/IOSAudioRecorder.h +36 -0
  25. package/ios/audioapi/ios/core/IOSAudioRecorder.mm +62 -0
  26. package/ios/audioapi/ios/core/{AudioPlayer.h → NativeAudioPlayer.h} +1 -8
  27. package/ios/audioapi/ios/core/{AudioPlayer.m → NativeAudioPlayer.m} +4 -33
  28. package/ios/audioapi/ios/core/NativeAudioRecorder.h +25 -0
  29. package/ios/audioapi/ios/core/NativeAudioRecorder.m +47 -0
  30. package/ios/audioapi/ios/system/AudioEngine.h +7 -1
  31. package/ios/audioapi/ios/system/AudioEngine.mm +64 -20
  32. package/ios/audioapi/ios/system/AudioSessionManager.h +3 -1
  33. package/ios/audioapi/ios/system/AudioSessionManager.mm +37 -25
  34. package/ios/audioapi/ios/system/NotificationManager.h +7 -1
  35. package/ios/audioapi/ios/system/NotificationManager.mm +30 -0
  36. package/lib/commonjs/api.js +15 -1
  37. package/lib/commonjs/api.js.map +1 -1
  38. package/lib/commonjs/core/AudioRecorder.js +51 -0
  39. package/lib/commonjs/core/AudioRecorder.js.map +1 -0
  40. package/lib/commonjs/errors/NotSupportedError.js.map +1 -1
  41. package/lib/commonjs/hooks/useSytemVolume.js +24 -0
  42. package/lib/commonjs/hooks/useSytemVolume.js.map +1 -0
  43. package/lib/commonjs/plugin/withAudioAPI.js +1 -1
  44. package/lib/commonjs/plugin/withAudioAPI.js.map +1 -1
  45. package/lib/commonjs/specs/NativeAudioManagerModule.js +5 -2
  46. package/lib/commonjs/specs/NativeAudioManagerModule.js.map +1 -1
  47. package/lib/commonjs/system/AudioManager.js +23 -50
  48. package/lib/commonjs/system/AudioManager.js.map +1 -1
  49. package/lib/module/api.js +3 -1
  50. package/lib/module/api.js.map +1 -1
  51. package/lib/module/core/AudioRecorder.js +45 -0
  52. package/lib/module/core/AudioRecorder.js.map +1 -0
  53. package/lib/module/errors/NotSupportedError.js.map +1 -1
  54. package/lib/module/hooks/useSytemVolume.js +19 -0
  55. package/lib/module/hooks/useSytemVolume.js.map +1 -0
  56. package/lib/module/plugin/withAudioAPI.js +1 -1
  57. package/lib/module/plugin/withAudioAPI.js.map +1 -1
  58. package/lib/module/specs/NativeAudioManagerModule.js +5 -2
  59. package/lib/module/specs/NativeAudioManagerModule.js.map +1 -1
  60. package/lib/module/system/AudioManager.js +23 -50
  61. package/lib/module/system/AudioManager.js.map +1 -1
  62. package/lib/typescript/api.d.ts +5 -1
  63. package/lib/typescript/api.d.ts.map +1 -1
  64. package/lib/typescript/core/AudioRecorder.d.ts +22 -0
  65. package/lib/typescript/core/AudioRecorder.d.ts.map +1 -0
  66. package/lib/typescript/errors/NotSupportedError.d.ts.map +1 -1
  67. package/lib/typescript/hooks/useSytemVolume.d.ts +2 -0
  68. package/lib/typescript/hooks/useSytemVolume.d.ts.map +1 -0
  69. package/lib/typescript/interfaces.d.ts +11 -5
  70. package/lib/typescript/interfaces.d.ts.map +1 -1
  71. package/lib/typescript/plugin/withAudioAPI.d.ts.map +1 -1
  72. package/lib/typescript/specs/NativeAudioManagerModule.d.ts +2 -1
  73. package/lib/typescript/specs/NativeAudioManagerModule.d.ts.map +1 -1
  74. package/lib/typescript/system/AudioManager.d.ts +4 -3
  75. package/lib/typescript/system/AudioManager.d.ts.map +1 -1
  76. package/lib/typescript/system/types.d.ts +26 -7
  77. package/lib/typescript/system/types.d.ts.map +1 -1
  78. package/lib/typescript/types.d.ts +5 -0
  79. package/lib/typescript/types.d.ts.map +1 -1
  80. package/package.json +2 -1
  81. package/src/api.ts +13 -2
  82. package/src/core/AudioRecorder.ts +81 -0
  83. package/src/hooks/useSytemVolume.ts +19 -0
  84. package/src/interfaces.ts +25 -11
  85. package/src/plugin/withAudioAPI.ts +2 -1
  86. package/src/specs/NativeAudioManagerModule.ts +5 -8
  87. package/src/system/AudioManager.ts +30 -107
  88. package/src/system/types.ts +31 -21
  89. package/src/types.ts +13 -0
  90. /package/src/errors/{NotSupportedError.tsx → NotSupportedError.ts} +0 -0
@@ -13,7 +13,7 @@ class AudioManager {
13
13
  _specs.AudioManagerModule.resetLockScreenInfo();
14
14
  }
15
15
  setAudioSessionOptions(options) {
16
- _specs.AudioManagerModule.setAudioSessionOptions(options.iosCategory ?? '', options.iosMode ?? '', options.iosOptions ?? [], options.active ?? true);
16
+ _specs.AudioManagerModule.setAudioSessionOptions(options.iosCategory ?? '', options.iosMode ?? '', options.iosOptions ?? []);
17
17
  }
18
18
  getDevicePreferredSampleRate() {
19
19
  return _specs.AudioManagerModule.getDevicePreferredSampleRate();
@@ -21,56 +21,29 @@ class AudioManager {
21
21
  observeAudioInterruptions(enabled) {
22
22
  _specs.AudioManagerModule.observeAudioInterruptions(enabled);
23
23
  }
24
- enableRemoteCommand(name, enabled, callback) {
25
- _specs.AudioManagerModule.enableRemoteCommand(name, enabled);
24
+ observeVolumeChanges(enabled) {
25
+ _specs.AudioManagerModule.observeVolumeChanges(enabled);
26
+ }
27
+ enableRemoteCommand(name) {
28
+ _specs.AudioManagerModule.enableRemoteCommand(name, true);
29
+ }
30
+ enableRemoteEvent(name, callback) {
26
31
  let subscription = null;
27
- if (enabled && callback) {
28
- switch (name) {
29
- case 'play':
30
- subscription = _specs.eventEmitter.addListener('onRemotePlay', callback);
31
- break;
32
- case 'pause':
33
- subscription = _specs.eventEmitter.addListener('onRemotePause', callback);
34
- break;
35
- case 'stop':
36
- subscription = _specs.eventEmitter.addListener('onRemoteStop', callback);
37
- break;
38
- case 'togglePlayPause':
39
- subscription = _specs.eventEmitter.addListener('onRemoteTogglePlayPause', callback);
40
- break;
41
- case 'changePlaybackRate':
42
- subscription = _specs.eventEmitter.addListener('onRemoteChangePlaybackRate', callback);
43
- break;
44
- case 'nextTrack':
45
- subscription = _specs.eventEmitter.addListener('onRemoteNextTrack', callback);
46
- break;
47
- case 'previousTrack':
48
- subscription = _specs.eventEmitter.addListener('onRemotePreviousTrack', callback);
49
- break;
50
- case 'skipForward':
51
- subscription = _specs.eventEmitter.addListener('onRemoteSkipForward', callback);
52
- break;
53
- case 'skipBackward':
54
- subscription = _specs.eventEmitter.addListener('onRemoteSkipBackward', callback);
55
- break;
56
- case 'seekForward':
57
- subscription = _specs.eventEmitter.addListener('onRemoteSeekForward', callback);
58
- break;
59
- case 'seekBackward':
60
- subscription = _specs.eventEmitter.addListener('onRemoteSeekBackward', callback);
61
- break;
62
- case 'changePlaybackPosition':
63
- subscription = _specs.eventEmitter.addListener('onRemoteChangePlaybackPosition', callback);
64
- break;
65
- case 'interruption':
66
- subscription = _specs.eventEmitter.addListener('onInterruption', callback);
67
- break;
68
- case 'routeChange':
69
- subscription = _specs.eventEmitter.addListener('onRouteChange', callback);
70
- break;
71
- default:
72
- console.error('Unsupported RemoteControl action:', name);
73
- }
32
+ if (!callback) {
33
+ return null;
34
+ }
35
+ switch (name) {
36
+ case 'interruption':
37
+ subscription = _specs.eventEmitter.addListener('onInterruption', callback);
38
+ break;
39
+ case 'routeChange':
40
+ subscription = _specs.eventEmitter.addListener('onRouteChange', callback);
41
+ break;
42
+ case 'volumeChange':
43
+ subscription = _specs.eventEmitter.addListener('onVolumeChange', callback);
44
+ break;
45
+ default:
46
+ console.error('Unsupported RemoteControl action:', name);
74
47
  }
75
48
  return subscription;
76
49
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_specs","require","AudioManager","setLockScreenInfo","info","AudioManagerModule","resetLockScreenInfo","setAudioSessionOptions","options","iosCategory","iosMode","iosOptions","active","getDevicePreferredSampleRate","observeAudioInterruptions","enabled","enableRemoteCommand","name","callback","subscription","eventEmitter","addListener","console","error","_default","exports","default"],"sourceRoot":"../../../src","sources":["system/AudioManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_specs","require","AudioManager","setLockScreenInfo","info","AudioManagerModule","resetLockScreenInfo","setAudioSessionOptions","options","iosCategory","iosMode","iosOptions","getDevicePreferredSampleRate","observeAudioInterruptions","enabled","observeVolumeChanges","enableRemoteCommand","name","enableRemoteEvent","callback","subscription","eventEmitter","addListener","console","error","_default","exports","default"],"sourceRoot":"../../../src","sources":["system/AudioManager.ts"],"mappings":";;;;;;AAOA,IAAAA,MAAA,GAAAC,OAAA;AAGA,MAAMC,YAAY,CAAC;EACjBC,iBAAiBA,CAACC,IAAoB,EAAE;IACtCC,yBAAkB,CAACF,iBAAiB,CAACC,IAAI,CAAC;EAC5C;EAEAE,mBAAmBA,CAAA,EAAG;IACpBD,yBAAkB,CAACC,mBAAmB,CAAC,CAAC;EAC1C;EAEAC,sBAAsBA,CAACC,OAAuB,EAAE;IAC9CH,yBAAkB,CAACE,sBAAsB,CACvCC,OAAO,CAACC,WAAW,IAAI,EAAE,EACzBD,OAAO,CAACE,OAAO,IAAI,EAAE,EACrBF,OAAO,CAACG,UAAU,IAAI,EACxB,CAAC;EACH;EAEAC,4BAA4BA,CAAA,EAAW;IACrC,OAAOP,yBAAkB,CAACO,4BAA4B,CAAC,CAAC;EAC1D;EAEAC,yBAAyBA,CAACC,OAAgB,EAAE;IAC1CT,yBAAkB,CAACQ,yBAAyB,CAACC,OAAO,CAAC;EACvD;EAEAC,oBAAoBA,CAACD,OAAgB,EAAE;IACrCT,yBAAkB,CAACU,oBAAoB,CAACD,OAAO,CAAC;EAClD;EAEAE,mBAAmBA,CAAiCC,IAAU,EAAQ;IACpEZ,yBAAkB,CAACW,mBAAmB,CAACC,IAAI,EAAE,IAAI,CAAC;EACpD;EAEAC,iBAAiBA,CACfD,IAAU,EACVE,QAAoC,EACR;IAC5B,IAAIC,YAAY,GAAG,IAAI;IACvB,IAAI,CAACD,QAAQ,EAAE;MACb,OAAO,IAAI;IACb;IACA,QAAQF,IAAI;MACV,KAAK,cAAc;QACjBG,YAAY,GAAGC,mBAAY,CAACC,WAAW,CAAC,gBAAgB,EAAEH,QAAQ,CAAC;QACnE;MAEF,KAAK,aAAa;QAChBC,YAAY,GAAGC,mBAAY,CAACC,WAAW,CAAC,eAAe,EAAEH,QAAQ,CAAC;QAClE;MAEF,KAAK,cAAc;QACjBC,YAAY,GAAGC,mBAAY,CAACC,WAAW,CAAC,gBAAgB,EAAEH,QAAQ,CAAC;QACnE;MAEF;QACEI,OAAO,CAACC,KAAK,CAAC,mCAAmC,EAAEP,IAAI,CAAC;IAC5D;IACA,OAAOG,YAAY;EACrB;AACF;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAIzB,YAAY,CAAC,CAAC","ignoreList":[]}
package/lib/module/api.js CHANGED
@@ -6,7 +6,7 @@ import NativeAudioAPIModule from "./specs/NativeAudioAPIModule.js";
6
6
 
7
7
  /* eslint-disable no-var */
8
8
 
9
- if (global.createAudioContext == null || global.createOfflineAudioContext == null) {
9
+ if (global.createAudioContext == null || global.createOfflineAudioContext == null || global.createAudioRecorder == null) {
10
10
  if (!NativeAudioAPIModule) {
11
11
  throw new Error(`Failed to install react-native-audio-api: The native module could not be found.`);
12
12
  }
@@ -26,7 +26,9 @@ export { default as BiquadFilterNode } from "./core/BiquadFilterNode.js";
26
26
  export { default as GainNode } from "./core/GainNode.js";
27
27
  export { default as OscillatorNode } from "./core/OscillatorNode.js";
28
28
  export { default as StereoPannerNode } from "./core/StereoPannerNode.js";
29
+ export { default as AudioRecorder } from "./core/AudioRecorder.js";
29
30
  export { default as AudioManager } from "./system/index.js";
31
+ export { default as useSystemVolume } from "./hooks/useSytemVolume.js";
30
32
  export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints } from "./types.js";
31
33
  export { IndexSizeError, InvalidAccessError, InvalidStateError, RangeError, NotSupportedError } from "./errors/index.js";
32
34
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeAudioAPIModule","global","createAudioContext","createOfflineAudioContext","Error","install","default","AudioBuffer","AudioBufferSourceNode","AudioContext","OfflineAudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","AudioManager","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState","WindowType","PeriodicWaveConstraints","IndexSizeError","InvalidAccessError","InvalidStateError","RangeError","NotSupportedError"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;AAAA,OAAOA,oBAAoB,MAAM,iCAA8B;;AAG/D;;AASA;;AAEA,IACEC,MAAM,CAACC,kBAAkB,IAAI,IAAI,IACjCD,MAAM,CAACE,yBAAyB,IAAI,IAAI,EACxC;EACA,IAAI,CAACH,oBAAoB,EAAE;IACzB,MAAM,IAAII,KAAK,CACb,iFACF,CAAC;EACH;EAEAJ,oBAAoB,CAACK,OAAO,CAAC,CAAC;AAChC;AAEA,SAASC,OAAO,IAAIC,WAAW,QAAQ,uBAAoB;AAC3D,SAASD,OAAO,IAAIE,qBAAqB,QAAQ,iCAA8B;AAC/E,SAASF,OAAO,IAAIG,YAAY,QAAQ,wBAAqB;AAC7D,SAASH,OAAO,IAAII,mBAAmB,QAAQ,+BAA4B;AAC3E,SAASJ,OAAO,IAAIK,oBAAoB,QAAQ,gCAA6B;AAC7E,SAASL,OAAO,IAAIM,SAAS,QAAQ,qBAAkB;AACvD,SAASN,OAAO,IAAIO,YAAY,QAAQ,wBAAqB;AAC7D,SAASP,OAAO,IAAIQ,UAAU,QAAQ,sBAAmB;AACzD,SAASR,OAAO,IAAIS,wBAAwB,QAAQ,oCAAiC;AACrF,SAAST,OAAO,IAAIU,gBAAgB,QAAQ,4BAAyB;AACrE,SAASV,OAAO,IAAIW,gBAAgB,QAAQ,4BAAyB;AACrE,SAASX,OAAO,IAAIY,QAAQ,QAAQ,oBAAiB;AACrD,SAASZ,OAAO,IAAIa,cAAc,QAAQ,0BAAuB;AACjE,SAASb,OAAO,IAAIc,gBAAgB,QAAQ,4BAAyB;AACrE,SAASd,OAAO,IAAIe,YAAY,QAAQ,mBAAU;AAElD,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,EACZC,UAAU,EACVC,uBAAuB,QAClB,YAAS;AAEhB,SACEC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,UAAU,EACVC,iBAAiB,QACZ,mBAAU","ignoreList":[]}
1
+ {"version":3,"names":["NativeAudioAPIModule","global","createAudioContext","createOfflineAudioContext","createAudioRecorder","Error","install","default","AudioBuffer","AudioBufferSourceNode","AudioContext","OfflineAudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","AudioRecorder","AudioManager","useSystemVolume","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState","WindowType","PeriodicWaveConstraints","IndexSizeError","InvalidAccessError","InvalidStateError","RangeError","NotSupportedError"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;AAAA,OAAOA,oBAAoB,MAAM,iCAA8B;;AAQ/D;;AAYA;;AAEA,IACEC,MAAM,CAACC,kBAAkB,IAAI,IAAI,IACjCD,MAAM,CAACE,yBAAyB,IAAI,IAAI,IACxCF,MAAM,CAACG,mBAAmB,IAAI,IAAI,EAClC;EACA,IAAI,CAACJ,oBAAoB,EAAE;IACzB,MAAM,IAAIK,KAAK,CACb,iFACF,CAAC;EACH;EAEAL,oBAAoB,CAACM,OAAO,CAAC,CAAC;AAChC;AAEA,SAASC,OAAO,IAAIC,WAAW,QAAQ,uBAAoB;AAC3D,SAASD,OAAO,IAAIE,qBAAqB,QAAQ,iCAA8B;AAC/E,SAASF,OAAO,IAAIG,YAAY,QAAQ,wBAAqB;AAC7D,SAASH,OAAO,IAAII,mBAAmB,QAAQ,+BAA4B;AAC3E,SAASJ,OAAO,IAAIK,oBAAoB,QAAQ,gCAA6B;AAC7E,SAASL,OAAO,IAAIM,SAAS,QAAQ,qBAAkB;AACvD,SAASN,OAAO,IAAIO,YAAY,QAAQ,wBAAqB;AAC7D,SAASP,OAAO,IAAIQ,UAAU,QAAQ,sBAAmB;AACzD,SAASR,OAAO,IAAIS,wBAAwB,QAAQ,oCAAiC;AACrF,SAAST,OAAO,IAAIU,gBAAgB,QAAQ,4BAAyB;AACrE,SAASV,OAAO,IAAIW,gBAAgB,QAAQ,4BAAyB;AACrE,SAASX,OAAO,IAAIY,QAAQ,QAAQ,oBAAiB;AACrD,SAASZ,OAAO,IAAIa,cAAc,QAAQ,0BAAuB;AACjE,SAASb,OAAO,IAAIc,gBAAgB,QAAQ,4BAAyB;AACrE,SAASd,OAAO,IAAIe,aAAa,QAAQ,yBAAsB;AAC/D,SAASf,OAAO,IAAIgB,YAAY,QAAQ,mBAAU;AAClD,SAAShB,OAAO,IAAIiB,eAAe,QAAQ,2BAAwB;AAEnE,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,EACZC,UAAU,EACVC,uBAAuB,QAClB,YAAS;AAEhB,SACEC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,UAAU,EACVC,iBAAiB,QACZ,mBAAU","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ import AudioBuffer from "./AudioBuffer.js";
4
+ export default class AudioRecorder {
5
+ onAudioReadyCallback = null;
6
+ onErrorCallback = null;
7
+ onStatusChangeCallback = null;
8
+ onAudioReadyInternal = (buffer, numFrames, when) => {
9
+ if (this.onAudioReadyCallback) {
10
+ this.onAudioReadyCallback(new AudioBuffer(buffer), numFrames, when);
11
+ }
12
+ };
13
+ onErrorInternal = error => {
14
+ if (this.onErrorCallback) {
15
+ this.onErrorCallback(error);
16
+ }
17
+ };
18
+ onStatusChangeInternal = (status, previousStatus) => {
19
+ if (this.onStatusChangeCallback) {
20
+ this.onStatusChangeCallback(status, previousStatus);
21
+ }
22
+ };
23
+ constructor(options) {
24
+ this.recorder = global.createAudioRecorder(options);
25
+ }
26
+ start() {
27
+ this.recorder.start();
28
+ }
29
+ stop() {
30
+ this.recorder.stop();
31
+ }
32
+ onAudioReady(callback) {
33
+ this.onAudioReadyCallback = callback;
34
+ this.recorder.onAudioReady(this.onAudioReadyInternal);
35
+ }
36
+ onError(callback) {
37
+ this.onErrorCallback = callback;
38
+ this.recorder.onError(this.onErrorInternal);
39
+ }
40
+ onStatusChange(callback) {
41
+ this.onStatusChangeCallback = callback;
42
+ this.recorder.onStatusChange(this.onStatusChangeInternal);
43
+ }
44
+ }
45
+ //# sourceMappingURL=AudioRecorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AudioBuffer","AudioRecorder","onAudioReadyCallback","onErrorCallback","onStatusChangeCallback","onAudioReadyInternal","buffer","numFrames","when","onErrorInternal","error","onStatusChangeInternal","status","previousStatus","constructor","options","recorder","global","createAudioRecorder","start","stop","onAudioReady","callback","onError","onStatusChange"],"sourceRoot":"../../../src","sources":["core/AudioRecorder.ts"],"mappings":";;AAQA,OAAOA,WAAW,MAAM,kBAAe;AAevC,eAAe,MAAMC,aAAa,CAAC;EAEzBC,oBAAoB,GAA8B,IAAI;EACtDC,eAAe,GAAyB,IAAI;EAC5CC,sBAAsB,GAAgC,IAAI;EAE1DC,oBAAoB,GAAwBA,CAClDC,MAAoB,EACpBC,SAAiB,EACjBC,IAAY,KACT;IACH,IAAI,IAAI,CAACN,oBAAoB,EAAE;MAC7B,IAAI,CAACA,oBAAoB,CAAC,IAAIF,WAAW,CAACM,MAAM,CAAC,EAAEC,SAAS,EAAEC,IAAI,CAAC;IACrE;EACF,CAAC;EAEOC,eAAe,GAAoBC,KAAY,IAAK;IAC1D,IAAI,IAAI,CAACP,eAAe,EAAE;MACxB,IAAI,CAACA,eAAe,CAACO,KAAK,CAAC;IAC7B;EACF,CAAC;EAEOC,sBAAsB,GAA0BA,CACtDC,MAA2B,EAC3BC,cAAmC,KAChC;IACH,IAAI,IAAI,CAACT,sBAAsB,EAAE;MAC/B,IAAI,CAACA,sBAAsB,CAACQ,MAAM,EAAEC,cAAc,CAAC;IACrD;EACF,CAAC;EAEDC,WAAWA,CAACC,OAA6B,EAAE;IACzC,IAAI,CAACC,QAAQ,GAAGC,MAAM,CAACC,mBAAmB,CAACH,OAAO,CAAC;EACrD;EAEOI,KAAKA,CAAA,EAAS;IACnB,IAAI,CAACH,QAAQ,CAACG,KAAK,CAAC,CAAC;EACvB;EAEOC,IAAIA,CAAA,EAAS;IAClB,IAAI,CAACJ,QAAQ,CAACI,IAAI,CAAC,CAAC;EACtB;EAEOC,YAAYA,CAACC,QAA4B,EAAQ;IACtD,IAAI,CAACpB,oBAAoB,GAAGoB,QAAQ;IACpC,IAAI,CAACN,QAAQ,CAACK,YAAY,CAAC,IAAI,CAAChB,oBAAoB,CAAC;EACvD;EAEOkB,OAAOA,CAACD,QAAuB,EAAQ;IAC5C,IAAI,CAACnB,eAAe,GAAGmB,QAAQ;IAC/B,IAAI,CAACN,QAAQ,CAACO,OAAO,CAAC,IAAI,CAACd,eAAe,CAAC;EAC7C;EAEOe,cAAcA,CAACF,QAA8B,EAAQ;IAC1D,IAAI,CAAClB,sBAAsB,GAAGkB,QAAQ;IACtC,IAAI,CAACN,QAAQ,CAACQ,cAAc,CAAC,IAAI,CAACb,sBAAsB,CAAC;EAC3D;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["NotSupportedError","Error","constructor","message","name"],"sourceRoot":"../../../src","sources":["errors/NotSupportedError.tsx"],"mappings":";;AAAA,MAAMA,iBAAiB,SAASC,KAAK,CAAC;EACpCC,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,mBAAmB;EACjC;AACF;AAEA,eAAeJ,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["NotSupportedError","Error","constructor","message","name"],"sourceRoot":"../../../src","sources":["errors/NotSupportedError.ts"],"mappings":";;AAAA,MAAMA,iBAAiB,SAASC,KAAK,CAAC;EACpCC,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,mBAAmB;EACjC;AACF;AAEA,eAAeJ,iBAAiB","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useState } from 'react';
4
+ import AudioManager from "../system/AudioManager.js";
5
+ export default function useSystemVolume() {
6
+ const [volume, setVolume] = useState(0);
7
+ useEffect(() => {
8
+ AudioManager.observeVolumeChanges(true);
9
+ const listener = AudioManager.enableRemoteEvent('volumeChange', e => {
10
+ setVolume(parseFloat(e.value.toFixed(2)));
11
+ });
12
+ return () => {
13
+ listener?.remove();
14
+ AudioManager.observeVolumeChanges(false);
15
+ };
16
+ }, []);
17
+ return volume;
18
+ }
19
+ //# sourceMappingURL=useSytemVolume.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useState","AudioManager","useSystemVolume","volume","setVolume","observeVolumeChanges","listener","enableRemoteEvent","e","parseFloat","value","toFixed","remove"],"sourceRoot":"../../../src","sources":["hooks/useSytemVolume.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,OAAOC,YAAY,MAAM,2BAAwB;AAEjD,eAAe,SAASC,eAAeA,CAAA,EAAG;EACxC,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGJ,QAAQ,CAAC,CAAC,CAAC;EAEvCD,SAAS,CAAC,MAAM;IACdE,YAAY,CAACI,oBAAoB,CAAC,IAAI,CAAC;IACvC,MAAMC,QAAQ,GAAGL,YAAY,CAACM,iBAAiB,CAAC,cAAc,EAAGC,CAAC,IAAK;MACrEJ,SAAS,CAACK,UAAU,CAACD,CAAC,CAACE,KAAK,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC;IACF,OAAO,MAAM;MACXL,QAAQ,EAAEM,MAAM,CAAC,CAAC;MAClBX,YAAY,CAACI,oBAAoB,CAAC,KAAK,CAAC;IAC1C,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOF,MAAM;AACf","ignoreList":[]}
@@ -22,7 +22,7 @@ const withForegroundService = (config, {
22
22
  const SFTypes = androidFSTypes.join('|');
23
23
  const serviceElement = {
24
24
  $: {
25
- 'android:name': 'system.MediaNotificationManager$NotificationService',
25
+ 'android:name': 'com.swmansion.audioapi.system.MediaNotificationManager$NotificationService',
26
26
  'android:stopWithTask': 'true',
27
27
  'android:foregroundServiceType': SFTypes
28
28
  },
@@ -1 +1 @@
1
- {"version":3,"names":["AndroidConfig","createRunOncePlugin","withInfoPlist","withAndroidManifest","pkg","require","withBackgroundAudio","config","iosConfig","modResults","UIBackgroundModes","Array","from","Set","withAndroidPermissions","androidFSPermissions","Permissions","withPermissions","withForegroundService","androidFSTypes","mod","manifest","mainApplication","Manifest","getMainApplicationOrThrow","SFTypes","join","serviceElement","$","intentFilter","service","push","withAudioAPI","iosBackgroundMode","androidForegroundService","name","version"],"sourceRoot":"../../../src","sources":["plugin/withAudioAPI.ts"],"mappings":";;AAAA,SACEA,aAAa,EACbC,mBAAmB,EAEnBC,aAAa,EACbC,mBAAmB,QACd,sBAAsB;AAE7B,MAAMC,GAAG,GAAGC,OAAO,CAAC,qCAAqC,CAAC;AAE1D,MAAMC,mBAAiC,GAAIC,MAAM,IAAK;EACpD,OAAOL,aAAa,CAACK,MAAM,EAAGC,SAAS,IAAK;IAC1CA,SAAS,CAACC,UAAU,CAACC,iBAAiB,GAAG,CACvC,GAAGC,KAAK,CAACC,IAAI,CACX,IAAIC,GAAG,CAAC,CAAC,IAAIL,SAAS,CAACC,UAAU,CAACC,iBAAiB,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CACtE,CAAC,CACF;IAED,OAAOF,SAAS;EAClB,CAAC,CAAC;AACJ,CAAC;AAED,MAAMM,sBAEJ,GAAGA,CAACP,MAAM,EAAE;EAAEQ;AAAqB,CAAC,KAAK;EACzC,OAAOf,aAAa,CAACgB,WAAW,CAACC,eAAe,CAC9CV,MAAM,EACNQ,oBACF,CAAC;AACH,CAAC;AAED,MAAMG,qBAEJ,GAAGA,CAACX,MAAM,EAAE;EAAEY;AAAe,CAAC,KAAK;EACnC,OAAOhB,mBAAmB,CAACI,MAAM,EAAGa,GAAG,IAAK;IAC1C,MAAMC,QAAQ,GAAGD,GAAG,CAACX,UAAU;IAC/B,MAAMa,eAAe,GACnBtB,aAAa,CAACuB,QAAQ,CAACC,yBAAyB,CAACH,QAAQ,CAAC;IAE5D,MAAMI,OAAO,GAAGN,cAAc,CAACO,IAAI,CAAC,GAAG,CAAC;IAExC,MAAMC,cAAc,GAAG;MACrBC,CAAC,EAAE;QACD,cAAc,EAAE,qDAAqD;QACrE,sBAAsB,EAAE,MAAM;QAC9B,+BAA+B,EAAEH;MACnC,CAAC;MACDI,YAAY,EAAE;IAChB,CAAC;IAED,IAAI,CAACP,eAAe,CAACQ,OAAO,EAAE;MAC5BR,eAAe,CAACQ,OAAO,GAAG,EAAE;IAC9B;IAEAR,eAAe,CAACQ,OAAO,CAACC,IAAI,CAACJ,cAAc,CAAC;IAE5C,OAAOP,GAAG;EACZ,CAAC,CAAC;AACJ,CAAC;AAED,MAAMY,YAKJ,GAAGA,CACHzB,MAAM,EACN;EACE0B,iBAAiB,GAAG,IAAI;EACxBC,wBAAwB,GAAG,IAAI;EAC/BnB,oBAAoB,GAAG,EAAE;EACzBI,cAAc,GAAG;AACnB,CAAC,KACE;EACH,IAAIc,iBAAiB,EAAE;IACrB1B,MAAM,GAAGD,mBAAmB,CAACC,MAAM,CAAC;EACtC;EACA,IAAI2B,wBAAwB,EAAE;IAC5B3B,MAAM,GAAGO,sBAAsB,CAACP,MAAM,EAAE;MACtCQ;IACF,CAAC,CAAC;IACFR,MAAM,GAAGW,qBAAqB,CAACX,MAAM,EAAE;MACrCY;IACF,CAAC,CAAC;EACJ;EAEA,OAAOZ,MAAM;AACf,CAAC;AAED,eAAeN,mBAAmB,CAAC+B,YAAY,EAAE5B,GAAG,CAAC+B,IAAI,EAAE/B,GAAG,CAACgC,OAAO,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["AndroidConfig","createRunOncePlugin","withInfoPlist","withAndroidManifest","pkg","require","withBackgroundAudio","config","iosConfig","modResults","UIBackgroundModes","Array","from","Set","withAndroidPermissions","androidFSPermissions","Permissions","withPermissions","withForegroundService","androidFSTypes","mod","manifest","mainApplication","Manifest","getMainApplicationOrThrow","SFTypes","join","serviceElement","$","intentFilter","service","push","withAudioAPI","iosBackgroundMode","androidForegroundService","name","version"],"sourceRoot":"../../../src","sources":["plugin/withAudioAPI.ts"],"mappings":";;AAAA,SACEA,aAAa,EACbC,mBAAmB,EAEnBC,aAAa,EACbC,mBAAmB,QACd,sBAAsB;AAE7B,MAAMC,GAAG,GAAGC,OAAO,CAAC,qCAAqC,CAAC;AAE1D,MAAMC,mBAAiC,GAAIC,MAAM,IAAK;EACpD,OAAOL,aAAa,CAACK,MAAM,EAAGC,SAAS,IAAK;IAC1CA,SAAS,CAACC,UAAU,CAACC,iBAAiB,GAAG,CACvC,GAAGC,KAAK,CAACC,IAAI,CACX,IAAIC,GAAG,CAAC,CAAC,IAAIL,SAAS,CAACC,UAAU,CAACC,iBAAiB,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CACtE,CAAC,CACF;IAED,OAAOF,SAAS;EAClB,CAAC,CAAC;AACJ,CAAC;AAED,MAAMM,sBAEJ,GAAGA,CAACP,MAAM,EAAE;EAAEQ;AAAqB,CAAC,KAAK;EACzC,OAAOf,aAAa,CAACgB,WAAW,CAACC,eAAe,CAC9CV,MAAM,EACNQ,oBACF,CAAC;AACH,CAAC;AAED,MAAMG,qBAEJ,GAAGA,CAACX,MAAM,EAAE;EAAEY;AAAe,CAAC,KAAK;EACnC,OAAOhB,mBAAmB,CAACI,MAAM,EAAGa,GAAG,IAAK;IAC1C,MAAMC,QAAQ,GAAGD,GAAG,CAACX,UAAU;IAC/B,MAAMa,eAAe,GACnBtB,aAAa,CAACuB,QAAQ,CAACC,yBAAyB,CAACH,QAAQ,CAAC;IAE5D,MAAMI,OAAO,GAAGN,cAAc,CAACO,IAAI,CAAC,GAAG,CAAC;IAExC,MAAMC,cAAc,GAAG;MACrBC,CAAC,EAAE;QACD,cAAc,EACZ,4EAA4E;QAC9E,sBAAsB,EAAE,MAAM;QAC9B,+BAA+B,EAAEH;MACnC,CAAC;MACDI,YAAY,EAAE;IAChB,CAAC;IAED,IAAI,CAACP,eAAe,CAACQ,OAAO,EAAE;MAC5BR,eAAe,CAACQ,OAAO,GAAG,EAAE;IAC9B;IAEAR,eAAe,CAACQ,OAAO,CAACC,IAAI,CAACJ,cAAc,CAAC;IAE5C,OAAOP,GAAG;EACZ,CAAC,CAAC;AACJ,CAAC;AAED,MAAMY,YAKJ,GAAGA,CACHzB,MAAM,EACN;EACE0B,iBAAiB,GAAG,IAAI;EACxBC,wBAAwB,GAAG,IAAI;EAC/BnB,oBAAoB,GAAG,EAAE;EACzBI,cAAc,GAAG;AACnB,CAAC,KACE;EACH,IAAIc,iBAAiB,EAAE;IACrB1B,MAAM,GAAGD,mBAAmB,CAACC,MAAM,CAAC;EACtC;EACA,IAAI2B,wBAAwB,EAAE;IAC5B3B,MAAM,GAAGO,sBAAsB,CAACP,MAAM,EAAE;MACtCQ;IACF,CAAC,CAAC;IACFR,MAAM,GAAGW,qBAAqB,CAACX,MAAM,EAAE;MACrCY;IACF,CAAC,CAAC;EACJ;EAEA,OAAOZ,MAAM;AACf,CAAC;AAED,eAAeN,mBAAmB,CAAC+B,YAAY,EAAE5B,GAAG,CAAC+B,IAAI,EAAE/B,GAAG,CAACgC,OAAO,CAAC","ignoreList":[]}
@@ -16,14 +16,17 @@ const AudioManagerModule = {
16
16
  enableRemoteCommand(name, enabled) {
17
17
  NativeAudioManagerModule.enableRemoteCommand(name, enabled);
18
18
  },
19
- setAudioSessionOptions(category, mode, options, active) {
20
- NativeAudioManagerModule.setAudioSessionOptions(category, mode, options, active);
19
+ setAudioSessionOptions(category, mode, options) {
20
+ NativeAudioManagerModule.setAudioSessionOptions(category, mode, options);
21
21
  },
22
22
  getDevicePreferredSampleRate() {
23
23
  return NativeAudioManagerModule.getDevicePreferredSampleRate();
24
24
  },
25
25
  observeAudioInterruptions(enabled) {
26
26
  NativeAudioManagerModule.observeAudioInterruptions(enabled);
27
+ },
28
+ observeVolumeChanges(enabled) {
29
+ NativeAudioManagerModule.observeVolumeChanges(enabled);
27
30
  }
28
31
  };
29
32
  export { eventEmitter, AudioManagerModule };
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","NativeEventEmitter","Platform","NativeAudioManagerModule","AudioManagerModule","eventEmitter","OS","Error","setLockScreenInfo","info","resetLockScreenInfo","enableRemoteCommand","name","enabled","setAudioSessionOptions","category","mode","options","active","getDevicePreferredSampleRate","observeAudioInterruptions"],"sourceRoot":"../../../src","sources":["specs/NativeAudioManagerModule.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,kBAAkB,EAAEC,QAAQ,QAAQ,cAAc;AAE1E,MAAMC,wBAAwB,GAAGH,aAAa,CAACI,kBAAkB;AACjE,MAAMC,YAAY,GAChBH,QAAQ,CAACI,EAAE,KAAK,SAAS,GACrB,IAAIL,kBAAkB,CAAC,CAAC,GACxB,IAAIA,kBAAkB,CAACD,aAAa,CAACI,kBAAkB,CAAC;AAE9D,IAAI,CAACD,wBAAwB,IAAI,CAACE,YAAY,EAAE;EAC9C,MAAM,IAAIE,KAAK,CACb,iFACF,CAAC;AACH;AAEA,MAAMH,kBAAkB,GAAG;EACzBI,iBAAiBA,CAACC,IAEjB,EAAQ;IACPN,wBAAwB,CAACK,iBAAiB,CAACC,IAAI,CAAC;EAClD,CAAC;EACDC,mBAAmBA,CAAA,EAAS;IAC1BP,wBAAwB,CAACO,mBAAmB,CAAC,CAAC;EAChD,CAAC;EACDC,mBAAmBA,CAACC,IAAY,EAAEC,OAAgB,EAAQ;IACxDV,wBAAwB,CAACQ,mBAAmB,CAACC,IAAI,EAAEC,OAAO,CAAC;EAC7D,CAAC;EACDC,sBAAsBA,CACpBC,QAAgB,EAChBC,IAAY,EACZC,OAAsB,EACtBC,MAAe,EACT;IACNf,wBAAwB,CAACW,sBAAsB,CAC7CC,QAAQ,EACRC,IAAI,EACJC,OAAO,EACPC,MACF,CAAC;EACH,CAAC;EACDC,4BAA4BA,CAAA,EAAW;IACrC,OAAOhB,wBAAwB,CAACgB,4BAA4B,CAAC,CAAC;EAChE,CAAC;EACDC,yBAAyBA,CAACP,OAAgB,EAAQ;IAChDV,wBAAwB,CAACiB,yBAAyB,CAACP,OAAO,CAAC;EAC7D;AACF,CAAC;AAED,SAASR,YAAY,EAAED,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","NativeEventEmitter","Platform","NativeAudioManagerModule","AudioManagerModule","eventEmitter","OS","Error","setLockScreenInfo","info","resetLockScreenInfo","enableRemoteCommand","name","enabled","setAudioSessionOptions","category","mode","options","getDevicePreferredSampleRate","observeAudioInterruptions","observeVolumeChanges"],"sourceRoot":"../../../src","sources":["specs/NativeAudioManagerModule.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,kBAAkB,EAAEC,QAAQ,QAAQ,cAAc;AAE1E,MAAMC,wBAAwB,GAAGH,aAAa,CAACI,kBAAkB;AACjE,MAAMC,YAAY,GAChBH,QAAQ,CAACI,EAAE,KAAK,SAAS,GACrB,IAAIL,kBAAkB,CAAC,CAAC,GACxB,IAAIA,kBAAkB,CAACD,aAAa,CAACI,kBAAkB,CAAC;AAE9D,IAAI,CAACD,wBAAwB,IAAI,CAACE,YAAY,EAAE;EAC9C,MAAM,IAAIE,KAAK,CACb,iFACF,CAAC;AACH;AAEA,MAAMH,kBAAkB,GAAG;EACzBI,iBAAiBA,CAACC,IAEjB,EAAQ;IACPN,wBAAwB,CAACK,iBAAiB,CAACC,IAAI,CAAC;EAClD,CAAC;EACDC,mBAAmBA,CAAA,EAAS;IAC1BP,wBAAwB,CAACO,mBAAmB,CAAC,CAAC;EAChD,CAAC;EACDC,mBAAmBA,CAACC,IAAY,EAAEC,OAAgB,EAAQ;IACxDV,wBAAwB,CAACQ,mBAAmB,CAACC,IAAI,EAAEC,OAAO,CAAC;EAC7D,CAAC;EACDC,sBAAsBA,CACpBC,QAAgB,EAChBC,IAAY,EACZC,OAAsB,EAChB;IACNd,wBAAwB,CAACW,sBAAsB,CAACC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,CAAC;EAC1E,CAAC;EACDC,4BAA4BA,CAAA,EAAW;IACrC,OAAOf,wBAAwB,CAACe,4BAA4B,CAAC,CAAC;EAChE,CAAC;EACDC,yBAAyBA,CAACN,OAAgB,EAAQ;IAChDV,wBAAwB,CAACgB,yBAAyB,CAACN,OAAO,CAAC;EAC7D,CAAC;EACDO,oBAAoBA,CAACP,OAAgB,EAAQ;IAC3CV,wBAAwB,CAACiB,oBAAoB,CAACP,OAAO,CAAC;EACxD;AACF,CAAC;AAED,SAASR,YAAY,EAAED,kBAAkB","ignoreList":[]}
@@ -9,7 +9,7 @@ class AudioManager {
9
9
  AudioManagerModule.resetLockScreenInfo();
10
10
  }
11
11
  setAudioSessionOptions(options) {
12
- AudioManagerModule.setAudioSessionOptions(options.iosCategory ?? '', options.iosMode ?? '', options.iosOptions ?? [], options.active ?? true);
12
+ AudioManagerModule.setAudioSessionOptions(options.iosCategory ?? '', options.iosMode ?? '', options.iosOptions ?? []);
13
13
  }
14
14
  getDevicePreferredSampleRate() {
15
15
  return AudioManagerModule.getDevicePreferredSampleRate();
@@ -17,56 +17,29 @@ class AudioManager {
17
17
  observeAudioInterruptions(enabled) {
18
18
  AudioManagerModule.observeAudioInterruptions(enabled);
19
19
  }
20
- enableRemoteCommand(name, enabled, callback) {
21
- AudioManagerModule.enableRemoteCommand(name, enabled);
20
+ observeVolumeChanges(enabled) {
21
+ AudioManagerModule.observeVolumeChanges(enabled);
22
+ }
23
+ enableRemoteCommand(name) {
24
+ AudioManagerModule.enableRemoteCommand(name, true);
25
+ }
26
+ enableRemoteEvent(name, callback) {
22
27
  let subscription = null;
23
- if (enabled && callback) {
24
- switch (name) {
25
- case 'play':
26
- subscription = eventEmitter.addListener('onRemotePlay', callback);
27
- break;
28
- case 'pause':
29
- subscription = eventEmitter.addListener('onRemotePause', callback);
30
- break;
31
- case 'stop':
32
- subscription = eventEmitter.addListener('onRemoteStop', callback);
33
- break;
34
- case 'togglePlayPause':
35
- subscription = eventEmitter.addListener('onRemoteTogglePlayPause', callback);
36
- break;
37
- case 'changePlaybackRate':
38
- subscription = eventEmitter.addListener('onRemoteChangePlaybackRate', callback);
39
- break;
40
- case 'nextTrack':
41
- subscription = eventEmitter.addListener('onRemoteNextTrack', callback);
42
- break;
43
- case 'previousTrack':
44
- subscription = eventEmitter.addListener('onRemotePreviousTrack', callback);
45
- break;
46
- case 'skipForward':
47
- subscription = eventEmitter.addListener('onRemoteSkipForward', callback);
48
- break;
49
- case 'skipBackward':
50
- subscription = eventEmitter.addListener('onRemoteSkipBackward', callback);
51
- break;
52
- case 'seekForward':
53
- subscription = eventEmitter.addListener('onRemoteSeekForward', callback);
54
- break;
55
- case 'seekBackward':
56
- subscription = eventEmitter.addListener('onRemoteSeekBackward', callback);
57
- break;
58
- case 'changePlaybackPosition':
59
- subscription = eventEmitter.addListener('onRemoteChangePlaybackPosition', callback);
60
- break;
61
- case 'interruption':
62
- subscription = eventEmitter.addListener('onInterruption', callback);
63
- break;
64
- case 'routeChange':
65
- subscription = eventEmitter.addListener('onRouteChange', callback);
66
- break;
67
- default:
68
- console.error('Unsupported RemoteControl action:', name);
69
- }
28
+ if (!callback) {
29
+ return null;
30
+ }
31
+ switch (name) {
32
+ case 'interruption':
33
+ subscription = eventEmitter.addListener('onInterruption', callback);
34
+ break;
35
+ case 'routeChange':
36
+ subscription = eventEmitter.addListener('onRouteChange', callback);
37
+ break;
38
+ case 'volumeChange':
39
+ subscription = eventEmitter.addListener('onVolumeChange', callback);
40
+ break;
41
+ default:
42
+ console.error('Unsupported RemoteControl action:', name);
70
43
  }
71
44
  return subscription;
72
45
  }
@@ -1 +1 @@
1
- {"version":3,"names":["AudioManagerModule","eventEmitter","AudioManager","setLockScreenInfo","info","resetLockScreenInfo","setAudioSessionOptions","options","iosCategory","iosMode","iosOptions","active","getDevicePreferredSampleRate","observeAudioInterruptions","enabled","enableRemoteCommand","name","callback","subscription","addListener","console","error"],"sourceRoot":"../../../src","sources":["system/AudioManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AudioManagerModule","eventEmitter","AudioManager","setLockScreenInfo","info","resetLockScreenInfo","setAudioSessionOptions","options","iosCategory","iosMode","iosOptions","getDevicePreferredSampleRate","observeAudioInterruptions","enabled","observeVolumeChanges","enableRemoteCommand","name","enableRemoteEvent","callback","subscription","addListener","console","error"],"sourceRoot":"../../../src","sources":["system/AudioManager.ts"],"mappings":";;AAOA,SAASA,kBAAkB,EAAEC,YAAY,QAAQ,mBAAU;AAG3D,MAAMC,YAAY,CAAC;EACjBC,iBAAiBA,CAACC,IAAoB,EAAE;IACtCJ,kBAAkB,CAACG,iBAAiB,CAACC,IAAI,CAAC;EAC5C;EAEAC,mBAAmBA,CAAA,EAAG;IACpBL,kBAAkB,CAACK,mBAAmB,CAAC,CAAC;EAC1C;EAEAC,sBAAsBA,CAACC,OAAuB,EAAE;IAC9CP,kBAAkB,CAACM,sBAAsB,CACvCC,OAAO,CAACC,WAAW,IAAI,EAAE,EACzBD,OAAO,CAACE,OAAO,IAAI,EAAE,EACrBF,OAAO,CAACG,UAAU,IAAI,EACxB,CAAC;EACH;EAEAC,4BAA4BA,CAAA,EAAW;IACrC,OAAOX,kBAAkB,CAACW,4BAA4B,CAAC,CAAC;EAC1D;EAEAC,yBAAyBA,CAACC,OAAgB,EAAE;IAC1Cb,kBAAkB,CAACY,yBAAyB,CAACC,OAAO,CAAC;EACvD;EAEAC,oBAAoBA,CAACD,OAAgB,EAAE;IACrCb,kBAAkB,CAACc,oBAAoB,CAACD,OAAO,CAAC;EAClD;EAEAE,mBAAmBA,CAAiCC,IAAU,EAAQ;IACpEhB,kBAAkB,CAACe,mBAAmB,CAACC,IAAI,EAAE,IAAI,CAAC;EACpD;EAEAC,iBAAiBA,CACfD,IAAU,EACVE,QAAoC,EACR;IAC5B,IAAIC,YAAY,GAAG,IAAI;IACvB,IAAI,CAACD,QAAQ,EAAE;MACb,OAAO,IAAI;IACb;IACA,QAAQF,IAAI;MACV,KAAK,cAAc;QACjBG,YAAY,GAAGlB,YAAY,CAACmB,WAAW,CAAC,gBAAgB,EAAEF,QAAQ,CAAC;QACnE;MAEF,KAAK,aAAa;QAChBC,YAAY,GAAGlB,YAAY,CAACmB,WAAW,CAAC,eAAe,EAAEF,QAAQ,CAAC;QAClE;MAEF,KAAK,cAAc;QACjBC,YAAY,GAAGlB,YAAY,CAACmB,WAAW,CAAC,gBAAgB,EAAEF,QAAQ,CAAC;QACnE;MAEF;QACEG,OAAO,CAACC,KAAK,CAAC,mCAAmC,EAAEN,IAAI,CAAC;IAC5D;IACA,OAAOG,YAAY;EACrB;AACF;AAEA,eAAe,IAAIjB,YAAY,CAAC,CAAC","ignoreList":[]}
@@ -1,7 +1,9 @@
1
- import type { IAudioContext, IOfflineAudioContext } from './interfaces';
1
+ import { AudioRecorderOptions } from './types';
2
+ import type { IAudioContext, IAudioRecorder, IOfflineAudioContext } from './interfaces';
2
3
  declare global {
3
4
  var createAudioContext: (sampleRate?: number) => IAudioContext;
4
5
  var createOfflineAudioContext: (numberOfChannels: number, length: number, sampleRate: number) => IOfflineAudioContext;
6
+ var createAudioRecorder: (options: AudioRecorderOptions) => IAudioRecorder;
5
7
  }
6
8
  export { default as AudioBuffer } from './core/AudioBuffer';
7
9
  export { default as AudioBufferSourceNode } from './core/AudioBufferSourceNode';
@@ -17,7 +19,9 @@ export { default as BiquadFilterNode } from './core/BiquadFilterNode';
17
19
  export { default as GainNode } from './core/GainNode';
18
20
  export { default as OscillatorNode } from './core/OscillatorNode';
19
21
  export { default as StereoPannerNode } from './core/StereoPannerNode';
22
+ export { default as AudioRecorder } from './core/AudioRecorder';
20
23
  export { default as AudioManager } from './system';
24
+ export { default as useSystemVolume } from './hooks/useSytemVolume';
21
25
  export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints, } from './types';
22
26
  export { IndexSizeError, InvalidAccessError, InvalidStateError, RangeError, NotSupportedError, } from './errors';
23
27
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGxE,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,kBAAkB,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;IAC/D,IAAI,yBAAyB,EAAE,CAC7B,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,KACf,oBAAoB,CAAC;CAC3B;AAgBD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,UAAU,EACV,uBAAuB,GACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,GAClB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,kBAAkB,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;IAC/D,IAAI,yBAAyB,EAAE,CAC7B,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,KACf,oBAAoB,CAAC;IAE1B,IAAI,mBAAmB,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,cAAc,CAAC;CAC5E;AAkBD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,UAAU,EACV,uBAAuB,GACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,GAClB,MAAM,UAAU,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { IAudioRecorder } from '../interfaces';
2
+ import { AudioRecorderStatus, AudioRecorderOptions } from '../types';
3
+ import AudioBuffer from './AudioBuffer';
4
+ export type AudioReadyCallback = (buffer: AudioBuffer, numFrames: number, when: number) => void;
5
+ export type ErrorCallback = (error: Error) => void;
6
+ export type StatusChangeCallback = (status: AudioRecorderStatus, previousStatus: AudioRecorderStatus) => void;
7
+ export default class AudioRecorder {
8
+ protected readonly recorder: IAudioRecorder;
9
+ private onAudioReadyCallback;
10
+ private onErrorCallback;
11
+ private onStatusChangeCallback;
12
+ private onAudioReadyInternal;
13
+ private onErrorInternal;
14
+ private onStatusChangeInternal;
15
+ constructor(options: AudioRecorderOptions);
16
+ start(): void;
17
+ stop(): void;
18
+ onAudioReady(callback: AudioReadyCallback): void;
19
+ onError(callback: ErrorCallback): void;
20
+ onStatusChange(callback: StatusChangeCallback): void;
21
+ }
22
+ //# sourceMappingURL=AudioRecorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioRecorder.d.ts","sourceRoot":"","sources":["../../../src/core/AudioRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAKf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,MAAM,MAAM,kBAAkB,GAAG,CAC/B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,KACT,IAAI,CAAC;AAEV,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAEnD,MAAM,MAAM,oBAAoB,GAAG,CACjC,MAAM,EAAE,mBAAmB,EAC3B,cAAc,EAAE,mBAAmB,KAChC,IAAI,CAAC;AAEV,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC5C,OAAO,CAAC,oBAAoB,CAAmC;IAC/D,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,sBAAsB,CAAqC;IAEnE,OAAO,CAAC,oBAAoB,CAQ1B;IAEF,OAAO,CAAC,eAAe,CAIrB;IAEF,OAAO,CAAC,sBAAsB,CAO5B;gBAEU,OAAO,EAAE,oBAAoB;IAIlC,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIZ,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAKhD,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAKtC,cAAc,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;CAI5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"NotSupportedError.d.ts","sourceRoot":"","sources":["../../../src/errors/NotSupportedError.tsx"],"names":[],"mappings":"AAAA,cAAM,iBAAkB,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAI5B;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"NotSupportedError.d.ts","sourceRoot":"","sources":["../../../src/errors/NotSupportedError.ts"],"names":[],"mappings":"AAAA,cAAM,iBAAkB,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAI5B;AAED,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function useSystemVolume(): number;
2
+ //# sourceMappingURL=useSytemVolume.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSytemVolume.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSytemVolume.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,eAAe,WAetC"}
@@ -1,8 +1,4 @@
1
- import { ContextState, BiquadFilterType, OscillatorType, ChannelCountMode, ChannelInterpretation, WindowType } from './types';
2
- export interface AudioAPIInstaller {
3
- createAudioContext: (sampleRate?: number) => IAudioContext;
4
- createOfflineAudioContext: (numberOfChannels: number, length: number, sampleRate: number) => IAudioContext;
5
- }
1
+ import { WindowType, ContextState, OscillatorType, BiquadFilterType, ChannelCountMode, AudioRecorderStatus, ChannelInterpretation } from './types';
6
2
  export interface IBaseAudioContext {
7
3
  readonly destination: IAudioDestinationNode;
8
4
  readonly state: ContextState;
@@ -111,4 +107,14 @@ export interface IAnalyserNode extends IAudioNode {
111
107
  getFloatTimeDomainData: (array: Float32Array) => void;
112
108
  getByteTimeDomainData: (array: Uint8Array) => void;
113
109
  }
110
+ export type IAudioReadyCallback = (buffer: IAudioBuffer, numFrames: number, when: number) => void;
111
+ export type IErrorCallback = (error: Error) => void;
112
+ export type IStatusChangeCallback = (status: AudioRecorderStatus, previousStatus: AudioRecorderStatus) => void;
113
+ export interface IAudioRecorder {
114
+ start: () => void;
115
+ stop: () => void;
116
+ onAudioReady: (callback: IAudioReadyCallback) => void;
117
+ onError: (callback: IErrorCallback) => void;
118
+ onStatusChange: (callback: IStatusChangeCallback) => void;
119
+ }
114
120
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"withAudioAPI.d.ts","sourceRoot":"","sources":["../../../src/plugin/withAudioAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAGb,MAAM,sBAAsB,CAAC;;;;;;;AAmF9B,wBAAwE"}
1
+ {"version":3,"file":"withAudioAPI.d.ts","sourceRoot":"","sources":["../../../src/plugin/withAudioAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAGb,MAAM,sBAAsB,CAAC;;;;;;;AAoF9B,wBAAwE"}
@@ -6,9 +6,10 @@ declare const AudioManagerModule: {
6
6
  }): void;
7
7
  resetLockScreenInfo(): void;
8
8
  enableRemoteCommand(name: string, enabled: boolean): void;
9
- setAudioSessionOptions(category: string, mode: string, options: Array<string>, active: boolean): void;
9
+ setAudioSessionOptions(category: string, mode: string, options: Array<string>): void;
10
10
  getDevicePreferredSampleRate(): number;
11
11
  observeAudioInterruptions(enabled: boolean): void;
12
+ observeVolumeChanges(enabled: boolean): void;
12
13
  };
13
14
  export { eventEmitter, AudioManagerModule };
14
15
  //# sourceMappingURL=NativeAudioManagerModule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NativeAudioManagerModule.d.ts","sourceRoot":"","sources":["../../../src/specs/NativeAudioManagerModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,kBAAkB,EAAY,MAAM,cAAc,CAAC;AAG3E,QAAA,MAAM,YAAY,oBAG4C,CAAC;AAQ/D,QAAA,MAAM,kBAAkB;;;QAGlB,IAAI;2BAGe,IAAI;8BAGD,MAAM,WAAW,OAAO,GAAG,IAAI;qCAI7C,MAAM,QACV,MAAM,WACH,MAAM,MAAM,CAAC,UACd,OAAO,GACd,IAAI;oCAQyB,MAAM;uCAGH,OAAO,GAAG,IAAI;CAGlD,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"NativeAudioManagerModule.d.ts","sourceRoot":"","sources":["../../../src/specs/NativeAudioManagerModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,kBAAkB,EAAY,MAAM,cAAc,CAAC;AAG3E,QAAA,MAAM,YAAY,oBAG4C,CAAC;AAQ/D,QAAA,MAAM,kBAAkB;;;QAGlB,IAAI;2BAGe,IAAI;8BAGD,MAAM,WAAW,OAAO,GAAG,IAAI;qCAI7C,MAAM,QACV,MAAM,WACH,MAAM,MAAM,CAAC,GACrB,IAAI;oCAGyB,MAAM;uCAGH,OAAO,GAAG,IAAI;kCAGnB,OAAO,GAAG,IAAI;CAG7C,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,13 +1,14 @@
1
- import { SessionOptions, LockScreenInfo, RemoteControlEventName, InterruptionEventName, RemoteControlEmptyEventType, RemoteControlEventType, OnInterruptionEventType, OnRouteChangeEventType } from './types';
1
+ import { SessionOptions, LockScreenInfo, RemoteEventName, RemoteEventCallback, RemoteCommandName } from './types';
2
2
  import { EmitterSubscription } from 'react-native';
3
- type AudioManagerEventType = RemoteControlEmptyEventType | RemoteControlEventType | OnInterruptionEventType | OnRouteChangeEventType;
4
3
  declare class AudioManager {
5
4
  setLockScreenInfo(info: LockScreenInfo): void;
6
5
  resetLockScreenInfo(): void;
7
6
  setAudioSessionOptions(options: SessionOptions): void;
8
7
  getDevicePreferredSampleRate(): number;
9
8
  observeAudioInterruptions(enabled: boolean): void;
10
- enableRemoteCommand(name: RemoteControlEventName | InterruptionEventName, enabled: boolean, callback?: (event: AudioManagerEventType) => void): EmitterSubscription | null;
9
+ observeVolumeChanges(enabled: boolean): void;
10
+ enableRemoteCommand<Name extends RemoteCommandName>(name: Name): void;
11
+ enableRemoteEvent<Name extends RemoteEventName>(name: Name, callback?: RemoteEventCallback<Name>): EmitterSubscription | null;
11
12
  }
12
13
  declare const _default: AudioManager;
13
14
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"AudioManager.d.ts","sourceRoot":"","sources":["../../../src/system/AudioManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,KAAK,qBAAqB,GACtB,2BAA2B,GAC3B,sBAAsB,GACtB,uBAAuB,GACvB,sBAAsB,CAAC;AAE3B,cAAM,YAAY;IAChB,iBAAiB,CAAC,IAAI,EAAE,cAAc;IAItC,mBAAmB;IAInB,sBAAsB,CAAC,OAAO,EAAE,cAAc;IAS9C,4BAA4B,IAAI,MAAM;IAItC,yBAAyB,CAAC,OAAO,EAAE,OAAO;IAI1C,mBAAmB,CACjB,IAAI,EAAE,sBAAsB,GAAG,qBAAqB,EACpD,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAChD,mBAAmB,GAAG,IAAI;CAiG9B;;AAED,wBAAkC"}
1
+ {"version":3,"file":"AudioManager.d.ts","sourceRoot":"","sources":["../../../src/system/AudioManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,cAAM,YAAY;IAChB,iBAAiB,CAAC,IAAI,EAAE,cAAc;IAItC,mBAAmB;IAInB,sBAAsB,CAAC,OAAO,EAAE,cAAc;IAQ9C,4BAA4B,IAAI,MAAM;IAItC,yBAAyB,CAAC,OAAO,EAAE,OAAO;IAI1C,oBAAoB,CAAC,OAAO,EAAE,OAAO;IAIrC,mBAAmB,CAAC,IAAI,SAAS,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAIrE,iBAAiB,CAAC,IAAI,SAAS,eAAe,EAC5C,IAAI,EAAE,IAAI,EACV,QAAQ,CAAC,EAAE,mBAAmB,CAAC,IAAI,CAAC,GACnC,mBAAmB,GAAG,IAAI;CAuB9B;;AAED,wBAAkC"}
@@ -5,7 +5,6 @@ export interface SessionOptions {
5
5
  iosMode?: IOSMode;
6
6
  iosOptions?: IOSOption[];
7
7
  iosCategory?: IOSCategory;
8
- active?: boolean;
9
8
  }
10
9
  export type MediaState = 'state_playing' | 'state_paused';
11
10
  interface BaseLockScreenInfo {
@@ -22,19 +21,39 @@ export interface LockScreenInfo extends BaseLockScreenInfo {
22
21
  speed?: number;
23
22
  elapsedTime?: number;
24
23
  }
25
- export type RemoteControlEventName = 'play' | 'pause' | 'stop' | 'togglePlayPause' | 'changePlaybackRate' | 'nextTrack' | 'previousTrack' | 'skipForward' | 'skipBackward' | 'seekForward' | 'seekBackward' | 'changePlaybackPosition';
26
- export type InterruptionEventName = 'interruption' | 'routeChange';
27
- export interface RemoteControlEmptyEventType {
24
+ interface RemoteEmptyType {
28
25
  }
29
- export interface RemoteControlEventType {
26
+ interface RemoteControlEventType {
30
27
  value: number;
31
28
  }
32
- export interface OnInterruptionEventType {
29
+ interface OnInterruptionEventType {
33
30
  type: 'ended' | 'began';
34
31
  shouldResume: boolean;
35
32
  }
36
- export interface OnRouteChangeEventType {
33
+ interface OnRouteChangeEventType {
37
34
  reason: string;
38
35
  }
36
+ interface RemoteCommands {
37
+ play: RemoteEmptyType;
38
+ pause: RemoteEmptyType;
39
+ stop: RemoteEmptyType;
40
+ togglePlayPause: RemoteEmptyType;
41
+ changePlaybackRate: RemoteEmptyType;
42
+ nextTrack: RemoteEmptyType;
43
+ previousTrack: RemoteEmptyType;
44
+ skipForward: RemoteEmptyType;
45
+ skipBackward: RemoteEmptyType;
46
+ seekForward: RemoteEmptyType;
47
+ seekBackward: RemoteEmptyType;
48
+ changePlaybackPosition: RemoteEmptyType;
49
+ }
50
+ interface RemoteEvents {
51
+ volumeChange: RemoteControlEventType;
52
+ interruption: OnInterruptionEventType;
53
+ routeChange: OnRouteChangeEventType;
54
+ }
55
+ export type RemoteCommandName = keyof RemoteCommands;
56
+ export type RemoteEventName = keyof RemoteEvents;
57
+ export type RemoteEventCallback<Name extends RemoteEventName> = (event: RemoteEvents[Name]) => void;
39
58
  export {};
40
59
  //# sourceMappingURL=types.d.ts.map