@44-audio/components 0.1.0-dev.5 → 0.1.0-dev.6
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/dist/player.es.js +1 -1
- package/dist/recorder.es.js +139 -139
- package/package.json +1 -1
package/dist/player.es.js
CHANGED
package/dist/recorder.es.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { h as Dr, C as Tr, D as qr, E as
|
|
2
|
-
function Kr(e, r, i,
|
|
1
|
+
import { h as Dr, C as Tr, D as qr, E as $r, F as Rr, G as zr, H as Lr, I as Ar, J as Fr, T as Or, K as _r, L as jr, M as Ur, N as J, O as Nr, P as Pr, d as cr, c as Z, p as rr, a as er, b as P, l as j, Q as ir, y as wr, f as z, g as T, e as L, i as G, z as kr, q as N, j as k, k as tr, s as I, n as t, m as B, r as S, B as ar, R as lr, u as fr, S as X, U as sr, v as Y, V as vr, W as Br, o as Q, w as ur, x as pr, X as xr, A as Hr, Y as Gr } from "./AudioPlayer-bUgQMAfs.mjs";
|
|
2
|
+
function Kr(e, r, i, n, o) {
|
|
3
3
|
Dr && Tr();
|
|
4
|
-
var
|
|
5
|
-
|
|
4
|
+
var s = r.$$slots?.[i], v = !1;
|
|
5
|
+
s === !0 && (s = r.children, v = !0), s === void 0 || s(e, v ? () => n : n);
|
|
6
6
|
}
|
|
7
7
|
const Vr = () => performance.now(), H = {
|
|
8
8
|
// don't access requestAnimationFrame eagerly outside method
|
|
@@ -49,19 +49,19 @@ function Jr(e) {
|
|
|
49
49
|
}
|
|
50
50
|
function br(e) {
|
|
51
51
|
const r = {}, i = e.split(";");
|
|
52
|
-
for (const
|
|
53
|
-
const [o,
|
|
54
|
-
if (!o ||
|
|
55
|
-
const
|
|
56
|
-
r[
|
|
52
|
+
for (const n of i) {
|
|
53
|
+
const [o, s] = n.split(":");
|
|
54
|
+
if (!o || s === void 0) break;
|
|
55
|
+
const v = Jr(o.trim());
|
|
56
|
+
r[v] = s.trim();
|
|
57
57
|
}
|
|
58
58
|
return r;
|
|
59
59
|
}
|
|
60
60
|
const Qr = (e) => e;
|
|
61
|
-
function gr(e, r, i,
|
|
62
|
-
var o = (e & Nr) !== 0,
|
|
61
|
+
function gr(e, r, i, n) {
|
|
62
|
+
var o = (e & Nr) !== 0, s = (e & Pr) !== 0, v = o && s, f = (e & Or) !== 0, q = v ? "both" : o ? "in" : "out", x, _ = r.inert, M = r.style.overflow, w, C;
|
|
63
63
|
function E() {
|
|
64
|
-
return _r(() => x ??= i()(r,
|
|
64
|
+
return _r(() => x ??= i()(r, n?.() ?? /** @type {P} */
|
|
65
65
|
{}, {
|
|
66
66
|
direction: q
|
|
67
67
|
}));
|
|
@@ -73,12 +73,12 @@ function gr(e, r, i, s) {
|
|
|
73
73
|
C?.abort(), C?.reset?.();
|
|
74
74
|
return;
|
|
75
75
|
}
|
|
76
|
-
|
|
76
|
+
s || w?.abort(), or(r, "introstart"), w = yr(r, E(), C, 1, () => {
|
|
77
77
|
or(r, "introend"), w?.abort(), w = x = void 0, r.style.overflow = M;
|
|
78
78
|
});
|
|
79
79
|
},
|
|
80
80
|
out(g) {
|
|
81
|
-
if (!
|
|
81
|
+
if (!s) {
|
|
82
82
|
g?.(), x = void 0;
|
|
83
83
|
return;
|
|
84
84
|
}
|
|
@@ -93,14 +93,14 @@ function gr(e, r, i, s) {
|
|
|
93
93
|
/** @type {Effect} */
|
|
94
94
|
qr
|
|
95
95
|
);
|
|
96
|
-
if ((c.transitions ??= []).push(a), o &&
|
|
96
|
+
if ((c.transitions ??= []).push(a), o && $r) {
|
|
97
97
|
var m = f;
|
|
98
98
|
if (!m) {
|
|
99
99
|
for (var d = (
|
|
100
100
|
/** @type {Effect | null} */
|
|
101
101
|
c.parent
|
|
102
102
|
); d && (d.f & Rr) !== 0; )
|
|
103
|
-
for (; (d = d.parent) && (d.f &
|
|
103
|
+
for (; (d = d.parent) && (d.f & zr) === 0; )
|
|
104
104
|
;
|
|
105
105
|
m = !d || (d.f & Lr) !== 0;
|
|
106
106
|
}
|
|
@@ -109,22 +109,22 @@ function gr(e, r, i, s) {
|
|
|
109
109
|
});
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
function yr(e, r, i,
|
|
113
|
-
var
|
|
112
|
+
function yr(e, r, i, n, o) {
|
|
113
|
+
var s = n === 1;
|
|
114
114
|
if (jr(r)) {
|
|
115
|
-
var
|
|
115
|
+
var v, f = !1;
|
|
116
116
|
return Ur(() => {
|
|
117
117
|
if (!f) {
|
|
118
|
-
var c = r({ direction:
|
|
119
|
-
|
|
118
|
+
var c = r({ direction: s ? "in" : "out" });
|
|
119
|
+
v = yr(e, c, i, n, o);
|
|
120
120
|
}
|
|
121
121
|
}), {
|
|
122
122
|
abort: () => {
|
|
123
|
-
f = !0,
|
|
123
|
+
f = !0, v?.abort();
|
|
124
124
|
},
|
|
125
|
-
deactivate: () =>
|
|
126
|
-
reset: () =>
|
|
127
|
-
t: () =>
|
|
125
|
+
deactivate: () => v.deactivate(),
|
|
126
|
+
reset: () => v.reset(),
|
|
127
|
+
t: () => v.t()
|
|
128
128
|
};
|
|
129
129
|
}
|
|
130
130
|
if (i?.deactivate(), !r?.duration)
|
|
@@ -132,28 +132,28 @@ function yr(e, r, i, s, o) {
|
|
|
132
132
|
abort: J,
|
|
133
133
|
deactivate: J,
|
|
134
134
|
reset: J,
|
|
135
|
-
t: () =>
|
|
135
|
+
t: () => n
|
|
136
136
|
};
|
|
137
137
|
const { delay: q = 0, css: x, tick: _, easing: M = Qr } = r;
|
|
138
138
|
var w = [];
|
|
139
|
-
if (
|
|
139
|
+
if (s && i === void 0 && (_ && _(0, 1), x)) {
|
|
140
140
|
var C = br(x(0, 1));
|
|
141
141
|
w.push(C, C);
|
|
142
142
|
}
|
|
143
|
-
var E = () => 1 -
|
|
143
|
+
var E = () => 1 - n, a = e.animate(w, { duration: q, fill: "forwards" });
|
|
144
144
|
return a.onfinish = () => {
|
|
145
145
|
a.cancel();
|
|
146
|
-
var c = i?.t() ?? 1 -
|
|
146
|
+
var c = i?.t() ?? 1 - n;
|
|
147
147
|
i?.abort();
|
|
148
|
-
var m =
|
|
148
|
+
var m = n - c, d = (
|
|
149
149
|
/** @type {number} */
|
|
150
150
|
r.duration * Math.abs(m)
|
|
151
151
|
), g = [];
|
|
152
152
|
if (d > 0) {
|
|
153
153
|
var l = !1;
|
|
154
154
|
if (x)
|
|
155
|
-
for (var p = Math.ceil(d / 16.666666666666668),
|
|
156
|
-
var y = c + m * M(
|
|
155
|
+
for (var p = Math.ceil(d / 16.666666666666668), u = 0; u <= p; u += 1) {
|
|
156
|
+
var y = c + m * M(u / p), b = br(x(y, 1 - y));
|
|
157
157
|
g.push(b), l ||= b.overflow === "hidden";
|
|
158
158
|
}
|
|
159
159
|
l && (e.style.overflow = "hidden"), E = () => {
|
|
@@ -170,7 +170,7 @@ function yr(e, r, i, s, o) {
|
|
|
170
170
|
});
|
|
171
171
|
}
|
|
172
172
|
a = e.animate(g, { duration: d, fill: "forwards" }), a.onfinish = () => {
|
|
173
|
-
E = () =>
|
|
173
|
+
E = () => n, _?.(n, 1 - n), o();
|
|
174
174
|
};
|
|
175
175
|
}, {
|
|
176
176
|
abort: () => {
|
|
@@ -180,7 +180,7 @@ function yr(e, r, i, s, o) {
|
|
|
180
180
|
o = J;
|
|
181
181
|
},
|
|
182
182
|
reset: () => {
|
|
183
|
-
|
|
183
|
+
n === 0 && _?.(1, 0);
|
|
184
184
|
},
|
|
185
185
|
t: () => E()
|
|
186
186
|
};
|
|
@@ -198,21 +198,21 @@ function mr(e) {
|
|
|
198
198
|
"px"
|
|
199
199
|
];
|
|
200
200
|
}
|
|
201
|
-
function Zr(e, { delay: r = 0, duration: i = 400, easing:
|
|
201
|
+
function Zr(e, { delay: r = 0, duration: i = 400, easing: n = Xr } = {}) {
|
|
202
202
|
const o = +getComputedStyle(e).opacity;
|
|
203
203
|
return {
|
|
204
204
|
delay: r,
|
|
205
205
|
duration: i,
|
|
206
|
-
easing:
|
|
207
|
-
css: (
|
|
206
|
+
easing: n,
|
|
207
|
+
css: (s) => `opacity: ${s * o}`
|
|
208
208
|
};
|
|
209
209
|
}
|
|
210
|
-
function hr(e, { delay: r = 0, duration: i = 400, easing:
|
|
211
|
-
const f = getComputedStyle(e), q = +f.opacity, x = f.transform === "none" ? "" : f.transform, _ = q * (1 -
|
|
210
|
+
function hr(e, { delay: r = 0, duration: i = 400, easing: n = Yr, x: o = 0, y: s = 0, opacity: v = 0 } = {}) {
|
|
211
|
+
const f = getComputedStyle(e), q = +f.opacity, x = f.transform === "none" ? "" : f.transform, _ = q * (1 - v), [M, w] = mr(o), [C, E] = mr(s);
|
|
212
212
|
return {
|
|
213
213
|
delay: r,
|
|
214
214
|
duration: i,
|
|
215
|
-
easing:
|
|
215
|
+
easing: n,
|
|
216
216
|
css: (a, c) => `
|
|
217
217
|
transform: ${x} translate(${(1 - a) * M}${w}, ${(1 - a) * C}${E});
|
|
218
218
|
opacity: ${q - _ * c}`
|
|
@@ -220,26 +220,26 @@ function hr(e, { delay: r = 0, duration: i = 400, easing: s = Yr, x: o = 0, y: n
|
|
|
220
220
|
}
|
|
221
221
|
async function Mr(e = !1) {
|
|
222
222
|
e && (await navigator.mediaDevices.getUserMedia({ audio: !0 })).getTracks().forEach((o) => o.stop());
|
|
223
|
-
const r = await navigator.mediaDevices.enumerateDevices(), i = r.filter((
|
|
224
|
-
id:
|
|
225
|
-
label:
|
|
223
|
+
const r = await navigator.mediaDevices.enumerateDevices(), i = r.filter((n) => n.deviceId).filter((n) => n.kind === "audioinput").map((n) => ({
|
|
224
|
+
id: n.deviceId,
|
|
225
|
+
label: n.label || `Microphone ${r.indexOf(n) + 1}`
|
|
226
226
|
}));
|
|
227
227
|
return i.length === 0 ? Mr(!0) : i;
|
|
228
228
|
}
|
|
229
|
-
async function re(e, r, i,
|
|
230
|
-
I(r, !t(r)), t(i).length || await
|
|
229
|
+
async function re(e, r, i, n) {
|
|
230
|
+
I(r, !t(r)), t(i).length || await n();
|
|
231
231
|
}
|
|
232
|
-
var ee =
|
|
232
|
+
var ee = z("<li><button> </button></li>"), te = z('<li><button class="devices-select__option svelte-q87ygv" disabled>No microphones found</button></li>'), oe = z('<li><button class="devices-select__option svelte-q87ygv" disabled>Loading Microphones...</button></li>'), ae = z('<ul role="listbox" aria-label="Select microphone"><!> <!> <!></ul>'), ie = z('<div class="container" role="group" aria-label="Audio recorder"><button class="devices-btn svelte-q87ygv" aria-haspopup="listbox"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" class="devices-btn__icon svelte-q87ygv"><path d="M201.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 338.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"></path></svg></button> <!></div>');
|
|
233
233
|
const se = {
|
|
234
234
|
hash: "svelte-q87ygv",
|
|
235
235
|
code: '.devices-btn.svelte-q87ygv {background:none;border:none;font-size:inherit;cursor:pointer;color:inherit;}.devices-btn__icon.svelte-q87ygv {width:0.75rem;height:0.75rem;fill:var(--fortyfour-recorder-btn-color);}.devices-select.svelte-q87ygv {display:none;flex-direction:column;list-style:none;margin:0;padding:0;border:var(--fortyfour-recorder-select-border);box-shadow:var(--fortyfour-recorder-select-shadow);border-radius:var(--fortyfour-recorder-select-radius);background:var(--fortyfour-recorder-select-bg);position:absolute;z-index:2147483647;overflow-y:auto;width:11rem;max-height:12rem;}.devices-select--is-open.svelte-q87ygv {display:flex;}.devices-select__option.svelte-q87ygv {padding:0.5rem 1rem;padding-left:0;background:none;border:none;text-align:left;cursor:pointer;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background 0.1s;font:inherit;font-size:var(--fortyfour-recorder-select-font-size);color:var(--fortyfour-recorder-select-color);}.devices-select__option.svelte-q87ygv:hover {background:var(--fortyfour-recorder-select-bg-hover);}.devices-select__option.svelte-q87ygv::before {content:"";display:inline-block;width:2ch;text-align:center;padding:0 0.25rem;}.devices-select__option--is-selected.svelte-q87ygv::before {content:"✓";}.devices-select__option.svelte-q87ygv:disabled {opacity:0.5;cursor:inherit;}.devices-select__option.svelte-q87ygv:disabled:hover {background:inherit;}'
|
|
236
236
|
};
|
|
237
237
|
function Sr(e, r) {
|
|
238
238
|
rr(r, !0), er(e, se);
|
|
239
|
-
let i = P(r, "deviceId", 15, ""),
|
|
239
|
+
let i = P(r, "deviceId", 15, ""), n = P(r, "disabled", 7, !1), o = j(ir([])), s = j(!1), v = j(!1), f;
|
|
240
240
|
wr(() => {
|
|
241
241
|
function a(c) {
|
|
242
|
-
c.composedPath().includes(f) || t(
|
|
242
|
+
c.composedPath().includes(f) || t(s) && I(s, !1);
|
|
243
243
|
}
|
|
244
244
|
return document.addEventListener("pointerdown", a), () => {
|
|
245
245
|
document.removeEventListener("pointerdown", a);
|
|
@@ -247,21 +247,21 @@ function Sr(e, r) {
|
|
|
247
247
|
});
|
|
248
248
|
async function q() {
|
|
249
249
|
try {
|
|
250
|
-
I(
|
|
250
|
+
I(v, !0), (await navigator.mediaDevices.getUserMedia({ audio: !0 })).getTracks().forEach((c) => c.stop()), I(o, await navigator.mediaDevices.enumerateDevices(), !0), I(
|
|
251
251
|
o,
|
|
252
252
|
t(o).filter((c) => c.deviceId).filter((c) => c.kind === "audioinput").map((c, m) => ({
|
|
253
253
|
deviceId: c.deviceId,
|
|
254
254
|
label: c.label || `Microphone ${m + 1}`
|
|
255
255
|
})),
|
|
256
256
|
!0
|
|
257
|
-
), !i() && t(o).length && i(t(o)[0].deviceId), t(o).sort((c, m) => c.label.localeCompare(m.label)), I(
|
|
257
|
+
), !i() && t(o).length && i(t(o)[0].deviceId), t(o).sort((c, m) => c.label.localeCompare(m.label)), I(v, !1);
|
|
258
258
|
} catch (a) {
|
|
259
259
|
console.error("Error accessing microphones:", a);
|
|
260
260
|
}
|
|
261
261
|
}
|
|
262
262
|
function x(a) {
|
|
263
263
|
return () => {
|
|
264
|
-
i(a), I(
|
|
264
|
+
i(a), I(s, !1);
|
|
265
265
|
};
|
|
266
266
|
}
|
|
267
267
|
var _ = {
|
|
@@ -272,18 +272,18 @@ function Sr(e, r) {
|
|
|
272
272
|
i(a), B();
|
|
273
273
|
},
|
|
274
274
|
get disabled() {
|
|
275
|
-
return
|
|
275
|
+
return n();
|
|
276
276
|
},
|
|
277
277
|
set disabled(a = !1) {
|
|
278
|
-
|
|
278
|
+
n(a), B();
|
|
279
279
|
}
|
|
280
280
|
}, M = ie(), w = T(M);
|
|
281
|
-
w.__click = [re,
|
|
281
|
+
w.__click = [re, s, o, q];
|
|
282
282
|
var C = L(w, 2);
|
|
283
283
|
{
|
|
284
284
|
var E = (a) => {
|
|
285
285
|
var c = ae(), m = T(c);
|
|
286
|
-
lr(m, 17, () => t(o),
|
|
286
|
+
lr(m, 17, () => t(o), vr, (u, y) => {
|
|
287
287
|
var b = ee(), h = T(b), D = fr(() => x(t(y).deviceId));
|
|
288
288
|
h.__click = function(...K) {
|
|
289
289
|
t(D)?.apply(this, K);
|
|
@@ -298,47 +298,47 @@ function Sr(e, r) {
|
|
|
298
298
|
t(y).deviceId === i() && "devices-select__option--is-selected"
|
|
299
299
|
]),
|
|
300
300
|
"svelte-q87ygv"
|
|
301
|
-
), h.disabled =
|
|
302
|
-
}), k(
|
|
301
|
+
), h.disabled = n(), Y(A, t(y).label);
|
|
302
|
+
}), k(u, b);
|
|
303
303
|
});
|
|
304
304
|
var d = L(m, 2);
|
|
305
305
|
{
|
|
306
|
-
var g = (
|
|
306
|
+
var g = (u) => {
|
|
307
307
|
var y = te();
|
|
308
|
-
k(
|
|
308
|
+
k(u, y);
|
|
309
309
|
};
|
|
310
|
-
G(d, (
|
|
311
|
-
!t(o).length && !t(
|
|
310
|
+
G(d, (u) => {
|
|
311
|
+
!t(o).length && !t(v) && u(g);
|
|
312
312
|
});
|
|
313
313
|
}
|
|
314
314
|
var l = L(d, 2);
|
|
315
315
|
{
|
|
316
|
-
var p = (
|
|
316
|
+
var p = (u) => {
|
|
317
317
|
var y = oe();
|
|
318
|
-
k(
|
|
318
|
+
k(u, y);
|
|
319
319
|
};
|
|
320
|
-
G(l, (
|
|
321
|
-
t(
|
|
320
|
+
G(l, (u) => {
|
|
321
|
+
t(v) && u(p);
|
|
322
322
|
});
|
|
323
323
|
}
|
|
324
|
-
S(c), N(() => X(c, 1, `devices-select ${t(
|
|
324
|
+
S(c), N(() => X(c, 1, `devices-select ${t(s) ? "devices-select--is-open" : ""}`, "svelte-q87ygv")), gr(3, c, () => Zr, () => ({ duration: 100 })), k(a, c);
|
|
325
325
|
};
|
|
326
326
|
G(C, (a) => {
|
|
327
|
-
t(
|
|
327
|
+
t(s) && a(E);
|
|
328
328
|
});
|
|
329
329
|
}
|
|
330
|
-
return S(M), kr(M, (a) => f = a, () => f), N(() => ar(w, "aria-expanded", t(
|
|
330
|
+
return S(M), kr(M, (a) => f = a, () => f), N(() => ar(w, "aria-expanded", t(s))), k(e, M), tr(_);
|
|
331
331
|
}
|
|
332
332
|
cr(["click"]);
|
|
333
333
|
Z(Sr, { deviceId: {}, disabled: {} }, [], [], !0);
|
|
334
|
-
var ne =
|
|
334
|
+
var ne = z("<button><!></button>");
|
|
335
335
|
const ce = {
|
|
336
336
|
hash: "svelte-f3ispq",
|
|
337
337
|
code: ".btn.svelte-f3ispq {display:flex;align-items:center;gap:var(--fortyfour-recorder-btn-gap);font:inherit;border:none;padding:var(--fortyfour-recorder-btn-padding);border-radius:var(--fortyfour-recorder-btn-radius);background:var(--fortyfour-recorder-btn-bg);color:var(--fortyfour-recorder-btn-color);cursor:pointer;}.btn.svelte-f3ispq:hover {background:var(--fortyfour-recorder-btn-bg-hover);color:var(--fortyfour-recorder-btn-color-hover);}.btn.btn--recording.svelte-f3ispq {background:var(--fortyfour-recorder-red-bg);color:var(--fortyfour-recorder-red-color);}.btn.btn--primary.svelte-f3ispq {background:var(--fortyfour-recorder-btn-primary-bg);color:var(--fortyfour-recorder-btn-primary-color);}.btn.btn--primary.svelte-f3ispq:hover {background:var(--fortyfour-recorder-btn-primary-bg-hover);color:var(--fortyfour-recorder-btn-primary-color-hover);}"
|
|
338
338
|
};
|
|
339
339
|
function nr(e, r) {
|
|
340
340
|
rr(r, !0), er(e, ce);
|
|
341
|
-
const i = P(r, "type", 7),
|
|
341
|
+
const i = P(r, "type", 7), n = P(r, "onclick", 7, () => {
|
|
342
342
|
});
|
|
343
343
|
var o = {
|
|
344
344
|
get type() {
|
|
@@ -348,23 +348,23 @@ function nr(e, r) {
|
|
|
348
348
|
i(f), B();
|
|
349
349
|
},
|
|
350
350
|
get onclick() {
|
|
351
|
-
return
|
|
351
|
+
return n();
|
|
352
352
|
},
|
|
353
353
|
set onclick(f = () => {
|
|
354
354
|
}) {
|
|
355
|
-
|
|
355
|
+
n(f), B();
|
|
356
356
|
}
|
|
357
|
-
},
|
|
358
|
-
|
|
359
|
-
|
|
357
|
+
}, s = ne();
|
|
358
|
+
s.__click = function(...f) {
|
|
359
|
+
n()?.apply(this, f);
|
|
360
360
|
};
|
|
361
|
-
var
|
|
362
|
-
return Kr(
|
|
361
|
+
var v = T(s);
|
|
362
|
+
return Kr(v, r, "default", {}), S(s), N(() => X(s, 1, sr(["btn", i() && `btn--${i()}`]), "svelte-f3ispq")), k(e, s), tr(o);
|
|
363
363
|
}
|
|
364
364
|
cr(["click"]);
|
|
365
365
|
Z(nr, { type: {}, onclick: {} }, ["default"], [], !0);
|
|
366
|
-
var de =
|
|
367
|
-
const
|
|
366
|
+
var de = z("<div></div> <!>", 1), le = z('<div class="time-elapsed svelte-11ls49v"> </div>'), fe = z('<div role="group" aria-label="Audio recorder"><!> <!> <!></div>');
|
|
367
|
+
const ve = {
|
|
368
368
|
hash: "svelte-11ls49v",
|
|
369
369
|
code: `.container.svelte-11ls49v {display:flex;align-items:center;gap:1rem;}.record-icon.svelte-11ls49v {width:1.25rem;height:1.25rem;background:var(--fortyfour-recorder-red-bg);border-radius:50%;}.record-icon--is-recording.svelte-11ls49v {background:var(--fortyfour-recorder-red-color);
|
|
370
370
|
animation: svelte-11ls49v-pulse 2s infinite ease-out;}.time-elapsed.svelte-11ls49v {font-variant-numeric:tabular-nums;}
|
|
@@ -384,33 +384,33 @@ const ue = {
|
|
|
384
384
|
}`
|
|
385
385
|
};
|
|
386
386
|
function Er(e, r) {
|
|
387
|
-
rr(r, !0), er(e,
|
|
388
|
-
let i = P(r, "deviceId", 15, ""),
|
|
387
|
+
rr(r, !0), er(e, ve);
|
|
388
|
+
let i = P(r, "deviceId", 15, ""), n = P(r, "onDone", 7), o = j(ir({
|
|
389
389
|
state: "ready",
|
|
390
390
|
// "ready", "recording"
|
|
391
391
|
timeElapsed: 0,
|
|
392
392
|
error: null
|
|
393
|
-
})),
|
|
393
|
+
})), s;
|
|
394
394
|
Br(() => {
|
|
395
|
-
|
|
395
|
+
s?.stop();
|
|
396
396
|
});
|
|
397
|
-
function
|
|
397
|
+
function v() {
|
|
398
398
|
t(o).state === "ready" ? f() : t(o).state === "recording" && q();
|
|
399
399
|
}
|
|
400
400
|
async function f() {
|
|
401
401
|
const a = await navigator.mediaDevices.getUserMedia({
|
|
402
402
|
audio: { deviceId: i() ? { exact: i() } : void 0 }
|
|
403
403
|
}), c = [];
|
|
404
|
-
|
|
405
|
-
t(o).state === "recording" && (a.getTracks().forEach((d) => d.stop()),
|
|
406
|
-
},
|
|
404
|
+
s = new MediaRecorder(a), s.ondataavailable = (d) => c.push(d.data), s.onstop = () => {
|
|
405
|
+
t(o).state === "recording" && (a.getTracks().forEach((d) => d.stop()), n()(URL.createObjectURL(new Blob(c, { type: s.mimeType }))), t(o).state = "ready");
|
|
406
|
+
}, s.start();
|
|
407
407
|
const m = () => {
|
|
408
408
|
t(o).state === "recording" && (t(o).timeElapsed += 1, setTimeout(m, 1e3));
|
|
409
409
|
};
|
|
410
410
|
setTimeout(m, 1e3), t(o).state = "recording";
|
|
411
411
|
}
|
|
412
412
|
function q() {
|
|
413
|
-
|
|
413
|
+
s?.stop();
|
|
414
414
|
}
|
|
415
415
|
var x = {
|
|
416
416
|
get deviceId() {
|
|
@@ -420,16 +420,16 @@ function Er(e, r) {
|
|
|
420
420
|
i(a), B();
|
|
421
421
|
},
|
|
422
422
|
get onDone() {
|
|
423
|
-
return
|
|
423
|
+
return n();
|
|
424
424
|
},
|
|
425
425
|
set onDone(a) {
|
|
426
|
-
|
|
426
|
+
n(a), B();
|
|
427
427
|
}
|
|
428
428
|
}, _ = fe(), M = T(_);
|
|
429
429
|
{
|
|
430
430
|
let a = fr(() => t(o).state === "recording" && "recording");
|
|
431
431
|
nr(M, {
|
|
432
|
-
onclick:
|
|
432
|
+
onclick: v,
|
|
433
433
|
get type() {
|
|
434
434
|
return t(a);
|
|
435
435
|
},
|
|
@@ -437,13 +437,13 @@ function Er(e, r) {
|
|
|
437
437
|
var d = de(), g = Q(d), l = L(g, 2);
|
|
438
438
|
{
|
|
439
439
|
var p = (y) => {
|
|
440
|
-
var b =
|
|
440
|
+
var b = ur("Record");
|
|
441
441
|
k(y, b);
|
|
442
|
-
},
|
|
442
|
+
}, u = (y) => {
|
|
443
443
|
var b = pr(), h = Q(b);
|
|
444
444
|
{
|
|
445
445
|
var D = (A) => {
|
|
446
|
-
var K =
|
|
446
|
+
var K = ur("Recording");
|
|
447
447
|
k(A, K);
|
|
448
448
|
};
|
|
449
449
|
G(
|
|
@@ -457,7 +457,7 @@ function Er(e, r) {
|
|
|
457
457
|
k(y, b);
|
|
458
458
|
};
|
|
459
459
|
G(l, (y) => {
|
|
460
|
-
t(o).state === "ready" ? y(p) : y(
|
|
460
|
+
t(o).state === "ready" ? y(p) : y(u, !1);
|
|
461
461
|
});
|
|
462
462
|
}
|
|
463
463
|
N(() => X(
|
|
@@ -512,10 +512,10 @@ function Er(e, r) {
|
|
|
512
512
|
)), k(e, _), tr(x);
|
|
513
513
|
}
|
|
514
514
|
Z(Er, { deviceId: {}, onDone: {} }, [], [], !0);
|
|
515
|
-
function
|
|
515
|
+
function ue(e, r, i) {
|
|
516
516
|
I(r, e.target.value, !0), i()(e.target.value);
|
|
517
517
|
}
|
|
518
|
-
var pe =
|
|
518
|
+
var pe = z("<option> </option>"), ge = xr('<rect width="10" fill="#4A90E2"></rect>'), ye = z(`<div><label for="mic-select" class="svelte-zkiuts">Input Device</label> <select id="mic-select" class="svelte-zkiuts"></select> <div><div>Mic Test</div> <div>Having mic issues? Start a test and say something fun and see if it picks up your voice.</div> <div><button> </button> <audio></audio> <svg style="vertical-align: middle; margin-left: 1em; border: 1px solid #ccc; background:
|
|
519
519
|
#f9f9f9;" fill="none" xmlns="http://www.w3.org/2000/svg"></svg></div></div></div>`);
|
|
520
520
|
const be = {
|
|
521
521
|
hash: "svelte-zkiuts",
|
|
@@ -524,32 +524,32 @@ const be = {
|
|
|
524
524
|
function me(e, r) {
|
|
525
525
|
rr(r, !0), er(e, be);
|
|
526
526
|
const i = P(r, "onSelectMic", 7);
|
|
527
|
-
let
|
|
527
|
+
let n = j(ir([])), o = j(null), s = null, v = j(!1), f = j(ir(Array(15).fill(1)));
|
|
528
528
|
wr(() => {
|
|
529
|
-
const d = async () => I(
|
|
529
|
+
const d = async () => I(n, await Mr(), !0);
|
|
530
530
|
navigator.mediaDevices.ondevicechange = d, d();
|
|
531
531
|
});
|
|
532
532
|
async function q() {
|
|
533
|
-
if (
|
|
534
|
-
if (t(
|
|
535
|
-
|
|
533
|
+
if (s) {
|
|
534
|
+
if (t(v)) {
|
|
535
|
+
s.srcObject.getTracks().forEach((d) => d.stop()), I(v, !1);
|
|
536
536
|
return;
|
|
537
537
|
}
|
|
538
|
-
I(f, Array(15).fill(1), !0), I(
|
|
538
|
+
I(f, Array(15).fill(1), !0), I(v, !0);
|
|
539
539
|
try {
|
|
540
540
|
let A = function(F) {
|
|
541
|
-
if (!t(
|
|
542
|
-
|
|
541
|
+
if (!t(v)) {
|
|
542
|
+
u.close();
|
|
543
543
|
return;
|
|
544
544
|
}
|
|
545
545
|
const R = new Uint8Array(b.fftSize);
|
|
546
546
|
b.getByteTimeDomainData(R);
|
|
547
|
-
let
|
|
547
|
+
let $ = 0;
|
|
548
548
|
for (let U = 0; U < R.length; U++) {
|
|
549
549
|
const V = (R[U] - 128) / 128;
|
|
550
|
-
|
|
550
|
+
$ += V * V;
|
|
551
551
|
}
|
|
552
|
-
const O = Math.sqrt(
|
|
552
|
+
const O = Math.sqrt($ / R.length);
|
|
553
553
|
D.push(O), requestAnimationFrame(A);
|
|
554
554
|
};
|
|
555
555
|
const d = await navigator.mediaDevices.getUserMedia({
|
|
@@ -560,13 +560,13 @@ function me(e, r) {
|
|
|
560
560
|
let p;
|
|
561
561
|
g.ondataavailable = (F) => F.data.size && l.push(F.data), g.onstop = () => {
|
|
562
562
|
const F = new Blob(l, { type: g.mimeType }), R = URL.createObjectURL(F);
|
|
563
|
-
|
|
563
|
+
s.src = R, s.play(), d.getTracks().forEach(($) => $.stop()), I(v, !1), clearInterval(p);
|
|
564
564
|
}, g.start(), setTimeout(() => g.stop(), 5e3);
|
|
565
|
-
const
|
|
565
|
+
const u = new (window.AudioContext || window.webkitAudioContext)(), y = u.createMediaStreamSource(d), b = u.createAnalyser();
|
|
566
566
|
y.connect(b), b.fftSize = 2048;
|
|
567
567
|
const h = (F, R) => {
|
|
568
568
|
if (F <= 0) return 0;
|
|
569
|
-
const
|
|
569
|
+
const $ = 20 * Math.log10(F), O = -50, U = -10, W = (Math.min(U, Math.max(O, $)) - O) / (U - O);
|
|
570
570
|
return Math.round(W * R);
|
|
571
571
|
};
|
|
572
572
|
let D = [];
|
|
@@ -574,7 +574,7 @@ function me(e, r) {
|
|
|
574
574
|
let K = 0;
|
|
575
575
|
p = setInterval(
|
|
576
576
|
() => {
|
|
577
|
-
const F = D.reduce((
|
|
577
|
+
const F = D.reduce(($, O) => $ + O, 0) / D.length, R = h(F, 100);
|
|
578
578
|
t(f)[K++] = R, D = [];
|
|
579
579
|
},
|
|
580
580
|
300
|
|
@@ -592,12 +592,12 @@ function me(e, r) {
|
|
|
592
592
|
i(d), B();
|
|
593
593
|
}
|
|
594
594
|
}, _ = ye(), M = L(T(_), 2);
|
|
595
|
-
M.__change = [
|
|
595
|
+
M.__change = [ue, o, i], lr(M, 21, () => t(n), vr, (d, g) => {
|
|
596
596
|
var l = pe(), p = T(l, !0);
|
|
597
597
|
S(l);
|
|
598
|
-
var
|
|
598
|
+
var u = {};
|
|
599
599
|
N(() => {
|
|
600
|
-
Y(p, t(g).label),
|
|
600
|
+
Y(p, t(g).label), u !== (u = t(g).id) && (l.value = (l.__value = t(g).id) ?? "");
|
|
601
601
|
}), k(d, l);
|
|
602
602
|
}), S(M);
|
|
603
603
|
var w = L(M, 2), C = L(T(w), 4), E = T(C);
|
|
@@ -605,18 +605,18 @@ function me(e, r) {
|
|
|
605
605
|
var a = T(E, !0);
|
|
606
606
|
S(E);
|
|
607
607
|
var c = L(E, 2);
|
|
608
|
-
kr(c, (d) =>
|
|
608
|
+
kr(c, (d) => s = d, () => s);
|
|
609
609
|
var m = L(c, 2);
|
|
610
|
-
return lr(m, 21, () => t(f),
|
|
610
|
+
return lr(m, 21, () => t(f), vr, (d, g, l) => {
|
|
611
611
|
var p = ge();
|
|
612
612
|
ar(p, "x", l * 12), N(() => {
|
|
613
613
|
ar(p, "y", 100 - t(g)), ar(p, "height", t(g));
|
|
614
614
|
}), k(d, p);
|
|
615
|
-
}), S(m), S(C), S(w), S(_), N(() => Y(a, t(
|
|
615
|
+
}), S(m), S(C), S(w), S(_), N(() => Y(a, t(v) ? "Stop Testing" : "Let's Check")), k(e, _), tr(x);
|
|
616
616
|
}
|
|
617
617
|
cr(["change", "click"]);
|
|
618
618
|
Z(me, { onSelectMic: {} }, [], [], !0);
|
|
619
|
-
var he =
|
|
619
|
+
var he = z('<div><p>Recording saved! ID:</p> <code><pre> </pre></code></div> <p><button class="primary">Record Again</button></p>', 1), _e = z("<p>Processing your recording…</p>"), we = xr('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" style="fill: currentColor; width: 1em; height: 1em;"><path d="M232.7 69.9L224 96L128 96C110.3 96 96 110.3 96 128C96 145.7 110.3 160 128 160L512 160C529.7 160 544 145.7 544 128C544 110.3 529.7 96 512 96L416 96L407.3 69.9C402.9 56.8 390.7 48 376.9 48L263.1 48C249.3 48 237.1 56.8 232.7 69.9zM512 208L128 208L149.1 531.1C150.7 556.4 171.7 576 197 576L443 576C468.3 576 489.3 556.4 490.9 531.1L512 208z"></path></svg>'), ke = z('<div class="confirm svelte-1i5eb1b"><!> <!> <!></div>'), xe = z('<div class="row"><!></div>'), Ie = z('<div class="recorder svelte-1i5eb1b" role="group" aria-label="44 audio recorder"><!></div>');
|
|
620
620
|
const Me = {
|
|
621
621
|
hash: "svelte-1i5eb1b",
|
|
622
622
|
code: `:host {--fortyfour-recorder-bg-0: #2d2d2d;--fortyfour-recorder-bg-1: #393939;--fortyfour-recorder-bg-2: #515151;--fortyfour-recorder-bg-primary: hsla(210, 50%, 60%, 1);--fortyfour-recorder-bg-primary-light: hsla(210, 55%, 64%, 1);--fortyfour-recorder-color-0: #d3d0c8;--fortyfour-recorder-color-primary: hsla(0, 0%, 100%, 0.9);--fortyfour-recorder-red-bg: #f2777a;--fortyfour-recorder-red-color: #ffffff;--fortyfour-recorder-font-size-lg: 1.25rem;--fortyfour-recorder-font-size-md: 1rem;--fortyfour-recorder-font-size-sm: 0.875rem;--fortyfour-recorder-font-size-xs: 0.6825rem;--fortyfour-recorder-radius-xl: 3rem;--fortyfour-recorder-radius-lg: 1rem;--fortyfour-recorder-radius-md: 0.5rem;--fortyfour-recorder-spacing-md: 1rem;--fortyfour-recorder-spacing-sm-1: 0.85rem;--fortyfour-recorder-spacing-sm: 0.5rem;--fortyfour-recorder-radius: var(--fortyfour-recorder-radius-lg);--fortyfour-recorder-bg: var(--fortyfour-recorder-bg-0);--fortyfour-recorder-color: var(--fortyfour-recorder-color-0);--fortyfour-recorder-btn-radius: var(--fortyfour-recorder-radius-xl);--fortyfour-recorder-btn-padding: var(--fortyfour-recorder-spacing-sm)
|
|
@@ -625,8 +625,8 @@ const Me = {
|
|
|
625
625
|
function Se(e, r) {
|
|
626
626
|
rr(r, !0), er(e, Me);
|
|
627
627
|
const i = r.$$host;
|
|
628
|
-
let
|
|
629
|
-
const
|
|
628
|
+
let n = P(r, "projectId", 7), o = P(r, "labelsStr", 7, ""), s = P(r, "apiHost", 7, "api.44.audio");
|
|
629
|
+
const v = o() ? o().split(",").map((l) => l.trim()) : [];
|
|
630
630
|
let f = j(
|
|
631
631
|
"ready"
|
|
632
632
|
// "ready", "recording", "confirm", "processing", "done"
|
|
@@ -635,11 +635,11 @@ function Se(e, r) {
|
|
|
635
635
|
if (t(f) !== "confirm" || !t(x))
|
|
636
636
|
return;
|
|
637
637
|
const l = new FormData();
|
|
638
|
-
l.append("projectId",
|
|
639
|
-
const
|
|
638
|
+
l.append("projectId", n()), v.forEach((b) => l.append("labels", b));
|
|
639
|
+
const u = await (await fetch(t(x))).blob(), y = new File([u], "recording.audio", { type: u.type });
|
|
640
640
|
l.append("audioFile", y);
|
|
641
641
|
try {
|
|
642
|
-
const h = await (await fetch(`https://${
|
|
642
|
+
const h = await (await fetch(`https://${s()}/recordings`, { method: "POST", body: l })).json();
|
|
643
643
|
I(q, h.recordingId, !0), I(f, "processing");
|
|
644
644
|
let D = !1;
|
|
645
645
|
for (; !D; )
|
|
@@ -654,7 +654,7 @@ function Se(e, r) {
|
|
|
654
654
|
}
|
|
655
655
|
async function C(l) {
|
|
656
656
|
try {
|
|
657
|
-
const p = await fetch(`https
|
|
657
|
+
const p = await fetch(`https://${s()}/api/v1/recordings/${l}/status`);
|
|
658
658
|
if (!p.ok)
|
|
659
659
|
throw new Error("Failed to fetch data");
|
|
660
660
|
return (await p.json()).status === "ready";
|
|
@@ -667,10 +667,10 @@ function Se(e, r) {
|
|
|
667
667
|
}
|
|
668
668
|
var a = {
|
|
669
669
|
get projectId() {
|
|
670
|
-
return
|
|
670
|
+
return n();
|
|
671
671
|
},
|
|
672
672
|
set projectId(l) {
|
|
673
|
-
|
|
673
|
+
n(l), B();
|
|
674
674
|
},
|
|
675
675
|
get labelsStr() {
|
|
676
676
|
return o();
|
|
@@ -679,20 +679,20 @@ function Se(e, r) {
|
|
|
679
679
|
o(l), B();
|
|
680
680
|
},
|
|
681
681
|
get apiHost() {
|
|
682
|
-
return
|
|
682
|
+
return s();
|
|
683
683
|
},
|
|
684
684
|
set apiHost(l = "api.44.audio") {
|
|
685
|
-
|
|
685
|
+
s(l), B();
|
|
686
686
|
}
|
|
687
687
|
}, c = Ie(), m = T(c);
|
|
688
688
|
{
|
|
689
689
|
var d = (l) => {
|
|
690
|
-
var p = he(),
|
|
691
|
-
S(b), S(y), S(
|
|
692
|
-
var D = L(
|
|
690
|
+
var p = he(), u = Q(p), y = L(T(u), 2), b = T(y), h = T(b, !0);
|
|
691
|
+
S(b), S(y), S(u);
|
|
692
|
+
var D = L(u, 2), A = T(D);
|
|
693
693
|
A.__click = w, S(D), N(() => Y(h, t(q))), k(l, p);
|
|
694
694
|
}, g = (l) => {
|
|
695
|
-
var p = pr(),
|
|
695
|
+
var p = pr(), u = Q(p);
|
|
696
696
|
{
|
|
697
697
|
var y = (h) => {
|
|
698
698
|
var D = _e();
|
|
@@ -701,7 +701,7 @@ function Se(e, r) {
|
|
|
701
701
|
var D = pr(), A = Q(D);
|
|
702
702
|
{
|
|
703
703
|
var K = (R) => {
|
|
704
|
-
var
|
|
704
|
+
var $ = ke(), O = T($);
|
|
705
705
|
Hr(O, {
|
|
706
706
|
get audioURL() {
|
|
707
707
|
return t(x);
|
|
@@ -722,13 +722,13 @@ function Se(e, r) {
|
|
|
722
722
|
onclick: M,
|
|
723
723
|
children: (W, Cr) => {
|
|
724
724
|
Gr();
|
|
725
|
-
var dr =
|
|
725
|
+
var dr = ur("Save");
|
|
726
726
|
k(W, dr);
|
|
727
727
|
},
|
|
728
728
|
$$slots: { default: !0 }
|
|
729
|
-
}), S(
|
|
729
|
+
}), S($), gr(1, $, () => hr, () => ({ y: 20, duration: 700 })), k(R, $);
|
|
730
730
|
}, F = (R) => {
|
|
731
|
-
var
|
|
731
|
+
var $ = xe(), O = T($);
|
|
732
732
|
Er(O, {
|
|
733
733
|
onDone: E,
|
|
734
734
|
get deviceId() {
|
|
@@ -737,7 +737,7 @@ function Se(e, r) {
|
|
|
737
737
|
set deviceId(U) {
|
|
738
738
|
I(_, U, !0);
|
|
739
739
|
}
|
|
740
|
-
}), S(
|
|
740
|
+
}), S($), gr(1, $, () => hr, () => ({ y: -20, duration: 700 })), k(R, $);
|
|
741
741
|
};
|
|
742
742
|
G(
|
|
743
743
|
A,
|
|
@@ -750,7 +750,7 @@ function Se(e, r) {
|
|
|
750
750
|
k(h, D);
|
|
751
751
|
};
|
|
752
752
|
G(
|
|
753
|
-
|
|
753
|
+
u,
|
|
754
754
|
(h) => {
|
|
755
755
|
t(f) === "processing" ? h(y) : h(b, !1);
|
|
756
756
|
},
|