react-native-audio-api 0.12.0-nightly-6993a06-20260122 → 0.12.0-nightly-6a44b58-20260123
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/cpp/audioapi/HostObjects/analysis/AnalyserNodeHostObject.cpp +4 -2
- package/common/cpp/audioapi/HostObjects/analysis/AnalyserNodeHostObject.h +1 -2
- package/common/cpp/audioapi/HostObjects/effects/BiquadFilterNodeHostObject.cpp +4 -2
- package/common/cpp/audioapi/HostObjects/effects/BiquadFilterNodeHostObject.h +1 -0
- package/common/cpp/audioapi/HostObjects/effects/WaveShaperNodeHostObject.cpp +4 -3
- package/common/cpp/audioapi/HostObjects/effects/WaveShaperNodeHostObject.h +2 -0
- package/common/cpp/audioapi/HostObjects/sources/OscillatorNodeHostObject.cpp +4 -2
- package/common/cpp/audioapi/HostObjects/sources/OscillatorNodeHostObject.h +1 -0
- package/common/cpp/audioapi/HostObjects/utils/JsEnumParser.cpp +127 -0
- package/common/cpp/audioapi/HostObjects/utils/JsEnumParser.h +17 -0
- package/common/cpp/audioapi/core/analysis/AnalyserNode.cpp +8 -8
- package/common/cpp/audioapi/core/analysis/AnalyserNode.h +2 -26
- package/common/cpp/audioapi/core/effects/BiquadFilterNode.cpp +4 -4
- package/common/cpp/audioapi/core/effects/BiquadFilterNode.h +3 -50
- package/common/cpp/audioapi/core/effects/WaveShaperNode.cpp +5 -5
- package/common/cpp/audioapi/core/effects/WaveShaperNode.h +2 -25
- package/common/cpp/audioapi/core/sources/OscillatorNode.cpp +4 -4
- package/common/cpp/audioapi/core/sources/OscillatorNode.h +2 -37
- package/common/cpp/test/src/core/effects/WaveShaperNodeTest.cpp +2 -1
- package/development/react/package.json +6 -0
- package/lib/commonjs/development/react/Audio/Audio.js +26 -0
- package/lib/commonjs/development/react/Audio/Audio.js.map +1 -0
- package/lib/commonjs/development/react/Audio/Audio.web.js +12 -0
- package/lib/commonjs/development/react/Audio/Audio.web.js.map +1 -0
- package/lib/commonjs/development/react/Audio/index.js +14 -0
- package/lib/commonjs/development/react/Audio/index.js.map +1 -0
- package/lib/commonjs/development/react/Audio/types.js +2 -0
- package/lib/commonjs/development/react/Audio/types.js.map +1 -0
- package/lib/commonjs/development/react/Audio/utils.js +67 -0
- package/lib/commonjs/development/react/Audio/utils.js.map +1 -0
- package/lib/commonjs/development/react/index.js +28 -0
- package/lib/commonjs/development/react/index.js.map +1 -0
- package/lib/module/development/react/Audio/Audio.js +22 -0
- package/lib/module/development/react/Audio/Audio.js.map +1 -0
- package/lib/module/development/react/Audio/Audio.web.js +8 -0
- package/lib/module/development/react/Audio/Audio.web.js.map +1 -0
- package/lib/module/development/react/Audio/index.js +4 -0
- package/lib/module/development/react/Audio/index.js.map +1 -0
- package/lib/module/development/react/Audio/types.js +2 -0
- package/lib/module/development/react/Audio/types.js.map +1 -0
- package/lib/module/development/react/Audio/utils.js +62 -0
- package/lib/module/development/react/Audio/utils.js.map +1 -0
- package/lib/module/development/react/index.js +5 -0
- package/lib/module/development/react/index.js.map +1 -0
- package/lib/typescript/development/react/Audio/Audio.d.ts +5 -0
- package/lib/typescript/development/react/Audio/Audio.d.ts.map +1 -0
- package/lib/typescript/development/react/Audio/Audio.web.d.ts +5 -0
- package/lib/typescript/development/react/Audio/Audio.web.d.ts.map +1 -0
- package/lib/typescript/development/react/Audio/index.d.ts +3 -0
- package/lib/typescript/development/react/Audio/index.d.ts.map +1 -0
- package/lib/typescript/development/react/Audio/types.d.ts +47 -0
- package/lib/typescript/development/react/Audio/types.d.ts.map +1 -0
- package/lib/typescript/development/react/Audio/utils.d.ts +4 -0
- package/lib/typescript/development/react/Audio/utils.d.ts.map +1 -0
- package/lib/typescript/development/react/index.d.ts +3 -0
- package/lib/typescript/development/react/index.d.ts.map +1 -0
- package/package.json +2 -1
- package/src/development/react/Audio/Audio.tsx +24 -0
- package/src/development/react/Audio/Audio.web.tsx +9 -0
- package/src/development/react/Audio/index.ts +3 -0
- package/src/development/react/Audio/types.ts +64 -0
- package/src/development/react/Audio/utils.ts +86 -0
- package/src/development/react/index.ts +2 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8
|
+
const Audio = props => {
|
|
9
|
+
return null;
|
|
10
|
+
};
|
|
11
|
+
var _default = exports.default = Audio;
|
|
12
|
+
//# sourceMappingURL=Audio.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Audio","props","_default","exports","default"],"sourceRoot":"../../../../../src","sources":["development/react/Audio/Audio.web.tsx"],"mappings":";;;;;;AAGA;AACA,MAAMA,KAA2B,GAAIC,KAAK,IAAK;EAC7C,OAAO,IAAI;AACb,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaJ,KAAK","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _Audio.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _Audio = _interopRequireDefault(require("./Audio"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_Audio","_interopRequireDefault","require","e","__esModule","default"],"sourceRoot":"../../../../../src","sources":["development/react/Audio/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAkC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["development/react/Audio/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useStableAudioProps = useStableAudioProps;
|
|
7
|
+
exports.withPropsDefaults = withPropsDefaults;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
function withPropsDefaults(props) {
|
|
10
|
+
return {
|
|
11
|
+
...props,
|
|
12
|
+
autoPlay: props.autoPlay ?? false,
|
|
13
|
+
controls: props.controls ?? false,
|
|
14
|
+
loop: props.loop ?? false,
|
|
15
|
+
muted: props.muted ?? false,
|
|
16
|
+
preload: props.preload ?? 'auto',
|
|
17
|
+
source: props.source ?? [],
|
|
18
|
+
playbackRate: props.playbackRate ?? 1.0,
|
|
19
|
+
preservesPitch: props.preservesPitch ?? true,
|
|
20
|
+
volume: props.volume ?? 1.0
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function useStableAudioProps(props) {
|
|
24
|
+
const {
|
|
25
|
+
// Control Props
|
|
26
|
+
autoPlay,
|
|
27
|
+
controls,
|
|
28
|
+
loop,
|
|
29
|
+
muted,
|
|
30
|
+
preload,
|
|
31
|
+
source,
|
|
32
|
+
playbackRate,
|
|
33
|
+
preservesPitch,
|
|
34
|
+
volume,
|
|
35
|
+
// Event Props
|
|
36
|
+
onLoadStart,
|
|
37
|
+
onLoad,
|
|
38
|
+
onError,
|
|
39
|
+
onProgress,
|
|
40
|
+
onSeeked,
|
|
41
|
+
onEnded,
|
|
42
|
+
onPlay,
|
|
43
|
+
onPause
|
|
44
|
+
} = withPropsDefaults(props);
|
|
45
|
+
return (0, _react.useMemo)(() => ({
|
|
46
|
+
// Control Props
|
|
47
|
+
autoPlay,
|
|
48
|
+
controls,
|
|
49
|
+
loop,
|
|
50
|
+
muted,
|
|
51
|
+
preload,
|
|
52
|
+
source,
|
|
53
|
+
playbackRate,
|
|
54
|
+
preservesPitch,
|
|
55
|
+
volume,
|
|
56
|
+
// Event Props
|
|
57
|
+
onLoadStart,
|
|
58
|
+
onLoad,
|
|
59
|
+
onError,
|
|
60
|
+
onProgress,
|
|
61
|
+
onSeeked,
|
|
62
|
+
onEnded,
|
|
63
|
+
onPlay,
|
|
64
|
+
onPause
|
|
65
|
+
}), [autoPlay, controls, loop, muted, preload, source, playbackRate, preservesPitch, volume, onLoadStart, onLoad, onError, onProgress, onSeeked, onEnded, onPlay, onPause]);
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","withPropsDefaults","props","autoPlay","controls","loop","muted","preload","source","playbackRate","preservesPitch","volume","useStableAudioProps","onLoadStart","onLoad","onError","onProgress","onSeeked","onEnded","onPlay","onPause","useMemo"],"sourceRoot":"../../../../../src","sources":["development/react/Audio/utils.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,SAASC,iBAAiBA,CAACC,KAAiB,EAAkB;EACnE,OAAO;IACL,GAAGA,KAAK;IACRC,QAAQ,EAAED,KAAK,CAACC,QAAQ,IAAI,KAAK;IACjCC,QAAQ,EAAEF,KAAK,CAACE,QAAQ,IAAI,KAAK;IACjCC,IAAI,EAAEH,KAAK,CAACG,IAAI,IAAI,KAAK;IACzBC,KAAK,EAAEJ,KAAK,CAACI,KAAK,IAAI,KAAK;IAC3BC,OAAO,EAAEL,KAAK,CAACK,OAAO,IAAI,MAAM;IAChCC,MAAM,EAAEN,KAAK,CAACM,MAAM,IAAI,EAAE;IAC1BC,YAAY,EAAEP,KAAK,CAACO,YAAY,IAAI,GAAG;IACvCC,cAAc,EAAER,KAAK,CAACQ,cAAc,IAAI,IAAI;IAC5CC,MAAM,EAAET,KAAK,CAACS,MAAM,IAAI;EAC1B,CAAC;AACH;AAEO,SAASC,mBAAmBA,CAACV,KAAiB,EAAkB;EACrE,MAAM;IACJ;IACAC,QAAQ;IACRC,QAAQ;IACRC,IAAI;IACJC,KAAK;IACLC,OAAO;IACPC,MAAM;IACNC,YAAY;IACZC,cAAc;IACdC,MAAM;IAEN;IACAE,WAAW;IACXC,MAAM;IACNC,OAAO;IACPC,UAAU;IACVC,QAAQ;IACRC,OAAO;IACPC,MAAM;IACNC;EACF,CAAC,GAAGnB,iBAAiB,CAACC,KAAK,CAAC;EAE5B,OAAO,IAAAmB,cAAO,EACZ,OAAO;IACL;IACAlB,QAAQ;IACRC,QAAQ;IACRC,IAAI;IACJC,KAAK;IACLC,OAAO;IACPC,MAAM;IACNC,YAAY;IACZC,cAAc;IACdC,MAAM;IAEN;IACAE,WAAW;IACXC,MAAM;IACNC,OAAO;IACPC,UAAU;IACVC,QAAQ;IACRC,OAAO;IACPC,MAAM;IACNC;EACF,CAAC,CAAC,EACF,CACEjB,QAAQ,EACRC,QAAQ,EACRC,IAAI,EACJC,KAAK,EACLC,OAAO,EACPC,MAAM,EACNC,YAAY,EACZC,cAAc,EACdC,MAAM,EACNE,WAAW,EACXC,MAAM,EACNC,OAAO,EACPC,UAAU,EACVC,QAAQ,EACRC,OAAO,EACPC,MAAM,EACNC,OAAO,CAEX,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
Audio: true
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "Audio", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () {
|
|
12
|
+
return _Audio.default;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
var _Audio = _interopRequireWildcard(require("./Audio"));
|
|
16
|
+
Object.keys(_Audio).forEach(function (key) {
|
|
17
|
+
if (key === "default" || key === "__esModule") return;
|
|
18
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
19
|
+
if (key in exports && exports[key] === _Audio[key]) return;
|
|
20
|
+
Object.defineProperty(exports, key, {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function () {
|
|
23
|
+
return _Audio[key];
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_Audio","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","set","getOwnPropertyDescriptor"],"sourceRoot":"../../../../src","sources":["development/react/index.ts"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,MAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAd,MAAA,CAAAM,GAAA;IAAA;EAAA;AAAA;AAAwB,SAAAL,wBAAAc,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAhB,uBAAA,YAAAA,CAAAc,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAP,GAAA,CAAAC,CAAA,GAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAR,cAAA,CAAAC,IAAA,CAAAM,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAlB,MAAA,CAAAS,cAAA,KAAAT,MAAA,CAAAyB,wBAAA,CAAAb,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAR,GAAA,IAAAQ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useStableAudioProps } from "./utils.js";
|
|
4
|
+
const Audio = inProps => {
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
6
|
+
const {
|
|
7
|
+
autoPlay,
|
|
8
|
+
controls,
|
|
9
|
+
loop,
|
|
10
|
+
muted,
|
|
11
|
+
preload,
|
|
12
|
+
source,
|
|
13
|
+
playbackRate,
|
|
14
|
+
preservesPitch,
|
|
15
|
+
volume
|
|
16
|
+
} = useStableAudioProps(inProps);
|
|
17
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
18
|
+
|
|
19
|
+
return null;
|
|
20
|
+
};
|
|
21
|
+
export default Audio;
|
|
22
|
+
//# sourceMappingURL=Audio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useStableAudioProps","Audio","inProps","autoPlay","controls","loop","muted","preload","source","playbackRate","preservesPitch","volume"],"sourceRoot":"../../../../../src","sources":["development/react/Audio/Audio.tsx"],"mappings":";;AAGA,SAASA,mBAAmB,QAAQ,YAAS;AAE7C,MAAMC,KAA2B,GAAIC,OAAO,IAAK;EAC/C;EACA,MAAM;IACJC,QAAQ;IACRC,QAAQ;IACRC,IAAI;IACJC,KAAK;IACLC,OAAO;IACPC,MAAM;IACNC,YAAY;IACZC,cAAc;IACdC;EACF,CAAC,GAAGX,mBAAmB,CAACE,OAAO,CAAC;EAChC;;EAEA,OAAO,IAAI;AACb,CAAC;AAED,eAAeD,KAAK","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Audio","props"],"sourceRoot":"../../../../../src","sources":["development/react/Audio/Audio.web.tsx"],"mappings":";;AAGA;AACA,MAAMA,KAA2B,GAAIC,KAAK,IAAK;EAC7C,OAAO,IAAI;AACb,CAAC;AAED,eAAeD,KAAK","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["default"],"sourceRoot":"../../../../../src","sources":["development/react/Audio/index.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,SAAS","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["development/react/Audio/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
export function withPropsDefaults(props) {
|
|
5
|
+
return {
|
|
6
|
+
...props,
|
|
7
|
+
autoPlay: props.autoPlay ?? false,
|
|
8
|
+
controls: props.controls ?? false,
|
|
9
|
+
loop: props.loop ?? false,
|
|
10
|
+
muted: props.muted ?? false,
|
|
11
|
+
preload: props.preload ?? 'auto',
|
|
12
|
+
source: props.source ?? [],
|
|
13
|
+
playbackRate: props.playbackRate ?? 1.0,
|
|
14
|
+
preservesPitch: props.preservesPitch ?? true,
|
|
15
|
+
volume: props.volume ?? 1.0
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export function useStableAudioProps(props) {
|
|
19
|
+
const {
|
|
20
|
+
// Control Props
|
|
21
|
+
autoPlay,
|
|
22
|
+
controls,
|
|
23
|
+
loop,
|
|
24
|
+
muted,
|
|
25
|
+
preload,
|
|
26
|
+
source,
|
|
27
|
+
playbackRate,
|
|
28
|
+
preservesPitch,
|
|
29
|
+
volume,
|
|
30
|
+
// Event Props
|
|
31
|
+
onLoadStart,
|
|
32
|
+
onLoad,
|
|
33
|
+
onError,
|
|
34
|
+
onProgress,
|
|
35
|
+
onSeeked,
|
|
36
|
+
onEnded,
|
|
37
|
+
onPlay,
|
|
38
|
+
onPause
|
|
39
|
+
} = withPropsDefaults(props);
|
|
40
|
+
return useMemo(() => ({
|
|
41
|
+
// Control Props
|
|
42
|
+
autoPlay,
|
|
43
|
+
controls,
|
|
44
|
+
loop,
|
|
45
|
+
muted,
|
|
46
|
+
preload,
|
|
47
|
+
source,
|
|
48
|
+
playbackRate,
|
|
49
|
+
preservesPitch,
|
|
50
|
+
volume,
|
|
51
|
+
// Event Props
|
|
52
|
+
onLoadStart,
|
|
53
|
+
onLoad,
|
|
54
|
+
onError,
|
|
55
|
+
onProgress,
|
|
56
|
+
onSeeked,
|
|
57
|
+
onEnded,
|
|
58
|
+
onPlay,
|
|
59
|
+
onPause
|
|
60
|
+
}), [autoPlay, controls, loop, muted, preload, source, playbackRate, preservesPitch, volume, onLoadStart, onLoad, onError, onProgress, onSeeked, onEnded, onPlay, onPause]);
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","withPropsDefaults","props","autoPlay","controls","loop","muted","preload","source","playbackRate","preservesPitch","volume","useStableAudioProps","onLoadStart","onLoad","onError","onProgress","onSeeked","onEnded","onPlay","onPause"],"sourceRoot":"../../../../../src","sources":["development/react/Audio/utils.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAG/B,OAAO,SAASC,iBAAiBA,CAACC,KAAiB,EAAkB;EACnE,OAAO;IACL,GAAGA,KAAK;IACRC,QAAQ,EAAED,KAAK,CAACC,QAAQ,IAAI,KAAK;IACjCC,QAAQ,EAAEF,KAAK,CAACE,QAAQ,IAAI,KAAK;IACjCC,IAAI,EAAEH,KAAK,CAACG,IAAI,IAAI,KAAK;IACzBC,KAAK,EAAEJ,KAAK,CAACI,KAAK,IAAI,KAAK;IAC3BC,OAAO,EAAEL,KAAK,CAACK,OAAO,IAAI,MAAM;IAChCC,MAAM,EAAEN,KAAK,CAACM,MAAM,IAAI,EAAE;IAC1BC,YAAY,EAAEP,KAAK,CAACO,YAAY,IAAI,GAAG;IACvCC,cAAc,EAAER,KAAK,CAACQ,cAAc,IAAI,IAAI;IAC5CC,MAAM,EAAET,KAAK,CAACS,MAAM,IAAI;EAC1B,CAAC;AACH;AAEA,OAAO,SAASC,mBAAmBA,CAACV,KAAiB,EAAkB;EACrE,MAAM;IACJ;IACAC,QAAQ;IACRC,QAAQ;IACRC,IAAI;IACJC,KAAK;IACLC,OAAO;IACPC,MAAM;IACNC,YAAY;IACZC,cAAc;IACdC,MAAM;IAEN;IACAE,WAAW;IACXC,MAAM;IACNC,OAAO;IACPC,UAAU;IACVC,QAAQ;IACRC,OAAO;IACPC,MAAM;IACNC;EACF,CAAC,GAAGnB,iBAAiB,CAACC,KAAK,CAAC;EAE5B,OAAOF,OAAO,CACZ,OAAO;IACL;IACAG,QAAQ;IACRC,QAAQ;IACRC,IAAI;IACJC,KAAK;IACLC,OAAO;IACPC,MAAM;IACNC,YAAY;IACZC,cAAc;IACdC,MAAM;IAEN;IACAE,WAAW;IACXC,MAAM;IACNC,OAAO;IACPC,UAAU;IACVC,QAAQ;IACRC,OAAO;IACPC,MAAM;IACNC;EACF,CAAC,CAAC,EACF,CACEjB,QAAQ,EACRC,QAAQ,EACRC,IAAI,EACJC,KAAK,EACLC,OAAO,EACPC,MAAM,EACNC,YAAY,EACZC,cAAc,EACdC,MAAM,EACNE,WAAW,EACXC,MAAM,EACNC,OAAO,EACPC,UAAU,EACVC,QAAQ,EACRC,OAAO,EACPC,MAAM,EACNC,OAAO,CAEX,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["default","Audio"],"sourceRoot":"../../../../src","sources":["development/react/index.ts"],"mappings":";;AAAA,cAAc,kBAAS;AACvB,SAASA,OAAO,IAAIC,KAAK,QAAQ,kBAAS","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Audio.d.ts","sourceRoot":"","sources":["../../../../../src/development/react/Audio/Audio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAgB/B,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Audio.web.d.ts","sourceRoot":"","sources":["../../../../../src/development/react/Audio/Audio.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAE/B,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/development/react/Audio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export interface AudioURISource {
|
|
2
|
+
uri?: string | undefined;
|
|
3
|
+
method?: string | undefined;
|
|
4
|
+
headers?: {
|
|
5
|
+
[key: string]: string;
|
|
6
|
+
} | undefined;
|
|
7
|
+
body?: string | undefined;
|
|
8
|
+
}
|
|
9
|
+
export type AudioRequireSource = number;
|
|
10
|
+
export interface TimeRanges {
|
|
11
|
+
length: number;
|
|
12
|
+
start(index: number): number;
|
|
13
|
+
end(index: number): number;
|
|
14
|
+
}
|
|
15
|
+
export type AudioSource = AudioURISource | AudioRequireSource | ReadonlyArray<AudioURISource>;
|
|
16
|
+
export type PreloadType = 'auto' | 'metadata' | 'none';
|
|
17
|
+
interface AudioControlProps {
|
|
18
|
+
autoPlay: boolean;
|
|
19
|
+
controls: boolean;
|
|
20
|
+
loop: boolean;
|
|
21
|
+
muted: boolean;
|
|
22
|
+
preload: PreloadType;
|
|
23
|
+
source: AudioSource;
|
|
24
|
+
playbackRate: number;
|
|
25
|
+
preservesPitch: boolean;
|
|
26
|
+
volume: number;
|
|
27
|
+
}
|
|
28
|
+
interface AudioReadonlyProps {
|
|
29
|
+
}
|
|
30
|
+
type TMPEmptyEventHandler = () => void;
|
|
31
|
+
interface AudioEventProps {
|
|
32
|
+
onLoadStart?: TMPEmptyEventHandler;
|
|
33
|
+
onLoad?: TMPEmptyEventHandler;
|
|
34
|
+
onError?: TMPEmptyEventHandler;
|
|
35
|
+
onProgress?: TMPEmptyEventHandler;
|
|
36
|
+
onSeeked?: TMPEmptyEventHandler;
|
|
37
|
+
onEnded?: TMPEmptyEventHandler;
|
|
38
|
+
onPlay?: TMPEmptyEventHandler;
|
|
39
|
+
onPause?: TMPEmptyEventHandler;
|
|
40
|
+
}
|
|
41
|
+
export interface AudioPropsBase extends AudioControlProps, AudioReadonlyProps, AudioEventProps {
|
|
42
|
+
}
|
|
43
|
+
export type AudioProps = Partial<AudioPropsBase> & {
|
|
44
|
+
source: AudioSource;
|
|
45
|
+
};
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/development/react/Audio/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAEhD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAExC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,WAAW,GACnB,cAAc,GACd,kBAAkB,GAClB,aAAa,CAAC,cAAc,CAAC,CAAC;AAElC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;AAEvD,UAAU,iBAAiB;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,kBAAkB;CAO3B;AAED,KAAK,oBAAoB,GAAG,MAAM,IAAI,CAAC;AAEvC,UAAU,eAAe;IACvB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,WAAW,cACf,SAAQ,iBAAiB,EACvB,kBAAkB,EAClB,eAAe;CAAG;AAEtB,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/development/react/Audio/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAErD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,CAanE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,CAmErE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/development/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-audio-api",
|
|
3
|
-
"version": "0.12.0-nightly-
|
|
3
|
+
"version": "0.12.0-nightly-6a44b58-20260123",
|
|
4
4
|
"description": "react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification",
|
|
5
5
|
"bin": {
|
|
6
6
|
"setup-rn-audio-api-web": "./scripts/setup-rn-audio-api-web.js"
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"types": "lib/typescript/index.d.ts",
|
|
13
13
|
"files": [
|
|
14
14
|
"src/",
|
|
15
|
+
"development/react/",
|
|
15
16
|
"lib/",
|
|
16
17
|
"common/",
|
|
17
18
|
"android/src/main/AndroidManifest.xml",
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import type { AudioProps } from './types';
|
|
4
|
+
import { useStableAudioProps } from './utils';
|
|
5
|
+
|
|
6
|
+
const Audio: React.FC<AudioProps> = (inProps) => {
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
8
|
+
const {
|
|
9
|
+
autoPlay,
|
|
10
|
+
controls,
|
|
11
|
+
loop,
|
|
12
|
+
muted,
|
|
13
|
+
preload,
|
|
14
|
+
source,
|
|
15
|
+
playbackRate,
|
|
16
|
+
preservesPitch,
|
|
17
|
+
volume,
|
|
18
|
+
} = useStableAudioProps(inProps);
|
|
19
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
20
|
+
|
|
21
|
+
return null;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export default Audio;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export interface AudioURISource {
|
|
2
|
+
uri?: string | undefined;
|
|
3
|
+
// bundle?: string | undefined;
|
|
4
|
+
method?: string | undefined;
|
|
5
|
+
headers?: { [key: string]: string } | undefined;
|
|
6
|
+
// cache?: 'default' | 'reload' | 'force-cache' | 'only-if-cached' | undefined;
|
|
7
|
+
body?: string | undefined;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export type AudioRequireSource = number;
|
|
11
|
+
|
|
12
|
+
export interface TimeRanges {
|
|
13
|
+
length: number;
|
|
14
|
+
start(index: number): number;
|
|
15
|
+
end(index: number): number;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export type AudioSource =
|
|
19
|
+
| AudioURISource
|
|
20
|
+
| AudioRequireSource
|
|
21
|
+
| ReadonlyArray<AudioURISource>;
|
|
22
|
+
|
|
23
|
+
export type PreloadType = 'auto' | 'metadata' | 'none';
|
|
24
|
+
|
|
25
|
+
interface AudioControlProps {
|
|
26
|
+
autoPlay: boolean;
|
|
27
|
+
controls: boolean; // TBD: should we support control display at all?
|
|
28
|
+
loop: boolean;
|
|
29
|
+
muted: boolean;
|
|
30
|
+
preload: PreloadType;
|
|
31
|
+
source: AudioSource;
|
|
32
|
+
playbackRate: number;
|
|
33
|
+
preservesPitch: boolean;
|
|
34
|
+
volume: number;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
interface AudioReadonlyProps {
|
|
38
|
+
// TODO: decide if we want to expose them this way
|
|
39
|
+
// duration: number;
|
|
40
|
+
// currentTime: number;
|
|
41
|
+
// ended: boolean;
|
|
42
|
+
// paused: boolean;
|
|
43
|
+
// buffered: TimeRanges;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
type TMPEmptyEventHandler = () => void;
|
|
47
|
+
|
|
48
|
+
interface AudioEventProps {
|
|
49
|
+
onLoadStart?: TMPEmptyEventHandler;
|
|
50
|
+
onLoad?: TMPEmptyEventHandler;
|
|
51
|
+
onError?: TMPEmptyEventHandler;
|
|
52
|
+
onProgress?: TMPEmptyEventHandler;
|
|
53
|
+
onSeeked?: TMPEmptyEventHandler;
|
|
54
|
+
onEnded?: TMPEmptyEventHandler;
|
|
55
|
+
onPlay?: TMPEmptyEventHandler;
|
|
56
|
+
onPause?: TMPEmptyEventHandler;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface AudioPropsBase
|
|
60
|
+
extends AudioControlProps,
|
|
61
|
+
AudioReadonlyProps,
|
|
62
|
+
AudioEventProps {}
|
|
63
|
+
|
|
64
|
+
export type AudioProps = Partial<AudioPropsBase> & { source: AudioSource };
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { AudioProps, AudioPropsBase } from './types';
|
|
3
|
+
|
|
4
|
+
export function withPropsDefaults(props: AudioProps): AudioPropsBase {
|
|
5
|
+
return {
|
|
6
|
+
...props,
|
|
7
|
+
autoPlay: props.autoPlay ?? false,
|
|
8
|
+
controls: props.controls ?? false,
|
|
9
|
+
loop: props.loop ?? false,
|
|
10
|
+
muted: props.muted ?? false,
|
|
11
|
+
preload: props.preload ?? 'auto',
|
|
12
|
+
source: props.source ?? [],
|
|
13
|
+
playbackRate: props.playbackRate ?? 1.0,
|
|
14
|
+
preservesPitch: props.preservesPitch ?? true,
|
|
15
|
+
volume: props.volume ?? 1.0,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function useStableAudioProps(props: AudioProps): AudioPropsBase {
|
|
20
|
+
const {
|
|
21
|
+
// Control Props
|
|
22
|
+
autoPlay,
|
|
23
|
+
controls,
|
|
24
|
+
loop,
|
|
25
|
+
muted,
|
|
26
|
+
preload,
|
|
27
|
+
source,
|
|
28
|
+
playbackRate,
|
|
29
|
+
preservesPitch,
|
|
30
|
+
volume,
|
|
31
|
+
|
|
32
|
+
// Event Props
|
|
33
|
+
onLoadStart,
|
|
34
|
+
onLoad,
|
|
35
|
+
onError,
|
|
36
|
+
onProgress,
|
|
37
|
+
onSeeked,
|
|
38
|
+
onEnded,
|
|
39
|
+
onPlay,
|
|
40
|
+
onPause,
|
|
41
|
+
} = withPropsDefaults(props);
|
|
42
|
+
|
|
43
|
+
return useMemo(
|
|
44
|
+
() => ({
|
|
45
|
+
// Control Props
|
|
46
|
+
autoPlay,
|
|
47
|
+
controls,
|
|
48
|
+
loop,
|
|
49
|
+
muted,
|
|
50
|
+
preload,
|
|
51
|
+
source,
|
|
52
|
+
playbackRate,
|
|
53
|
+
preservesPitch,
|
|
54
|
+
volume,
|
|
55
|
+
|
|
56
|
+
// Event Props
|
|
57
|
+
onLoadStart,
|
|
58
|
+
onLoad,
|
|
59
|
+
onError,
|
|
60
|
+
onProgress,
|
|
61
|
+
onSeeked,
|
|
62
|
+
onEnded,
|
|
63
|
+
onPlay,
|
|
64
|
+
onPause,
|
|
65
|
+
}),
|
|
66
|
+
[
|
|
67
|
+
autoPlay,
|
|
68
|
+
controls,
|
|
69
|
+
loop,
|
|
70
|
+
muted,
|
|
71
|
+
preload,
|
|
72
|
+
source,
|
|
73
|
+
playbackRate,
|
|
74
|
+
preservesPitch,
|
|
75
|
+
volume,
|
|
76
|
+
onLoadStart,
|
|
77
|
+
onLoad,
|
|
78
|
+
onError,
|
|
79
|
+
onProgress,
|
|
80
|
+
onSeeked,
|
|
81
|
+
onEnded,
|
|
82
|
+
onPlay,
|
|
83
|
+
onPause,
|
|
84
|
+
]
|
|
85
|
+
);
|
|
86
|
+
}
|