@pacem/pacem-media 1.0.0-bessel → 1.0.0-dirac
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/browser/pacem-media.js +14 -1
- package/dist/browser/pacem-media.js.map +1 -1
- package/dist/browser/pacem-media.min.js +1 -1
- package/dist/bundle/pacem-media.min.mjs +1 -1
- package/dist/bundle/pacem-media.mjs +12 -1
- package/dist/bundle/pacem-media.mjs.map +2 -2
- package/dist/docs/pacem-media.json +1203 -0
- package/dist/esm/audio.js +8 -1
- package/dist/esm/index-components-media.js +1 -1
- package/dist/esm/index-components.js +1 -1
- package/dist/esm/index-iife.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/media-recorder.js +7 -1
- package/package.json +2 -1
- package/typings/index.d.ts +23 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-media v1.0.0-
|
|
2
|
+
* @pacem/pacem-media v1.0.0-dirac (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14
14
|
};
|
|
15
15
|
//namespace Pacem.Components.Media {
|
|
16
|
+
/** Wraps a native `HTMLAudioElement`, exposing playback control and its readiness/lifecycle as reactive properties and events. */
|
|
16
17
|
let PacemAudioElement = class PacemAudioElement extends pacemCore.PacemEventTarget {
|
|
17
18
|
constructor() {
|
|
18
19
|
super(...arguments);
|
|
@@ -62,6 +63,10 @@
|
|
|
62
63
|
a.removeEventListener('canplay', this._canPlayHandler, false);
|
|
63
64
|
super.disconnectedCallback();
|
|
64
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Starts (or resumes) playback of the underlying `<audio>` element, dispatching a `start` event on success or an `error` event on failure.
|
|
68
|
+
* @returns A promise that resolves once playback has started, or rejects with `'disabled'` if the element is disabled.
|
|
69
|
+
*/
|
|
65
70
|
play() {
|
|
66
71
|
// sudden exit when disabled
|
|
67
72
|
if (this.disabled) {
|
|
@@ -73,9 +78,11 @@
|
|
|
73
78
|
this.dispatchEvent(new CustomEvent('error', { detail: e }));
|
|
74
79
|
});
|
|
75
80
|
}
|
|
81
|
+
/** Pauses playback. */
|
|
76
82
|
pause() {
|
|
77
83
|
this.#audio.pause();
|
|
78
84
|
}
|
|
85
|
+
/** Reloads the underlying `<audio>` element, resetting its playback state. */
|
|
79
86
|
reset() {
|
|
80
87
|
this.#audio.load();
|
|
81
88
|
}
|
|
@@ -127,6 +134,7 @@
|
|
|
127
134
|
}
|
|
128
135
|
return 'captureStream' in obj && typeof obj['captureStream'] === 'function';
|
|
129
136
|
}
|
|
137
|
+
/** Wraps the native `MediaRecorder` API, capturing audio/video from a canvas, media element or media stream into a `Blob`. */
|
|
130
138
|
let PacemMediaRecorderElement = class PacemMediaRecorderElement extends pacemCore.PacemEventTarget {
|
|
131
139
|
constructor() {
|
|
132
140
|
super(...arguments);
|
|
@@ -207,29 +215,34 @@
|
|
|
207
215
|
this.#recorder = null;
|
|
208
216
|
}
|
|
209
217
|
}
|
|
218
|
+
/** Concatenates the buffered data chunks recorded so far into a single `Blob` and assigns it to `output`, clearing the buffer. */
|
|
210
219
|
flush() {
|
|
211
220
|
const blob = new Blob(this.#chunks, { 'type': this.mimeType || DEFAULT_MIMETYPE });
|
|
212
221
|
this.#chunks = [];
|
|
213
222
|
this.output = blob;
|
|
214
223
|
}
|
|
224
|
+
/** Starts recording, if the underlying recorder is currently inactive. */
|
|
215
225
|
start() {
|
|
216
226
|
const r = this.#recorder;
|
|
217
227
|
if (!pacemCore.Utils.isNull(r) && r.state === 'inactive') {
|
|
218
228
|
r.start();
|
|
219
229
|
}
|
|
220
230
|
}
|
|
231
|
+
/** Stops recording, if the underlying recorder is not already inactive. */
|
|
221
232
|
stop() {
|
|
222
233
|
const r = this.#recorder;
|
|
223
234
|
if (!pacemCore.Utils.isNull(r) && r.state !== 'inactive') {
|
|
224
235
|
r.stop();
|
|
225
236
|
}
|
|
226
237
|
}
|
|
238
|
+
/** Resumes a paused recording. */
|
|
227
239
|
resume() {
|
|
228
240
|
const r = this.#recorder;
|
|
229
241
|
if (!pacemCore.Utils.isNull(r) && r.state === 'paused') {
|
|
230
242
|
r.start();
|
|
231
243
|
}
|
|
232
244
|
}
|
|
245
|
+
/** Pauses an ongoing recording. */
|
|
233
246
|
pause() {
|
|
234
247
|
const r = this.#recorder;
|
|
235
248
|
if (!pacemCore.Utils.isNull(r) && r.state !== 'paused') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pacem-media.js","sources":["../esm/audio.js","../esm/media-recorder.js","../esm/index-iife.js"],"sourcesContent":["var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { P, CustomElement, PacemEventTarget, Watch, PropertyConverters } from '@pacem/pacem-core';\n//namespace Pacem.Components.Media {\nlet PacemAudioElement = class PacemAudioElement extends PacemEventTarget {\n constructor() {\n super(...arguments);\n this._endedHandler = (e) => {\n this.dispatchEvent(new Event('end'));\n };\n this._canPlayHandler = (e) => {\n this.#canPlay = true;\n this._autoplay();\n };\n this._canPlayThroughHandler = (e) => {\n this.#canPlayThrough = true;\n this._autoplay();\n };\n }\n // TODO: structure a proper MediaElement hierarchy (share logic with a future VideoElement)\n /** @readonly */\n // @Watch({ converter: PropertyConverters.Boolean }) duration: number;\n #audio;\n #canPlay;\n #canPlayThrough;\n connectedCallback() {\n super.connectedCallback();\n const a = this.#audio = new Audio();\n a.addEventListener('canplay', this._canPlayHandler, false);\n a.addEventListener('ended', this._endedHandler, false);\n a.addEventListener('canplaythrough', this._canPlayThroughHandler, false);\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (!first) {\n switch (name) {\n case 'src':\n this._init();\n break;\n }\n }\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._init();\n }\n disconnectedCallback() {\n const a = this.#audio;\n a.removeEventListener('ended', this._endedHandler, false);\n a.removeEventListener('canplaythrough', this._canPlayThroughHandler, false);\n a.removeEventListener('canplay', this._canPlayHandler, false);\n super.disconnectedCallback();\n }\n play() {\n // sudden exit when disabled\n if (this.disabled) {\n return Promise.reject('disabled');\n }\n return this.#audio.play().then(_ => {\n this.dispatchEvent(new Event('start'));\n }, e => {\n this.dispatchEvent(new CustomEvent('error', { detail: e }));\n });\n }\n pause() {\n this.#audio.pause();\n }\n reset() {\n this.#audio.load();\n }\n get _canPlay() {\n return this.stream && this.#canPlay || this.#canPlayThrough;\n }\n _autoplay() {\n if (this.autoplay) {\n if (this._canPlay) {\n this.play();\n }\n }\n }\n _init(src = this.src) {\n const audio = this.#audio;\n this.#canPlay =\n this.#canPlayThrough = false;\n audio.src = src;\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemAudioElement.prototype, \"src\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Boolean })\n], PacemAudioElement.prototype, \"stream\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Boolean })\n], PacemAudioElement.prototype, \"autoplay\", void 0);\nPacemAudioElement = __decorate([\n CustomElement({ tagName: P + '-audio' })\n], PacemAudioElement);\nexport { PacemAudioElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { P, CustomElement, PacemEventTarget, Watch, PropertyConverters, Utils } from '@pacem/pacem-core';\n//namespace Pacem.Components.Media {\nconst DEFAULT_FPS = 25;\nconst DEFAULT_MIMETYPE = \"video/mp4\";\nconst DEFAULT_AUDIO_BITS_PER_SEC = 128000;\nconst DEFAULT_VIDEO_BITS_PER_SEC = 2500000;\nconst MEDIA_RECORDER_EVENTS = [\"start\", \"stop\", \"dataavailable\", \"pause\", \"resume\", \"error\", \"warning\"];\nfunction isStream(obj) {\n if (obj instanceof HTMLCanvasElement) {\n return true;\n }\n return 'captureStream' in obj && typeof obj['captureStream'] === 'function';\n}\nlet PacemMediaRecorderElement = class PacemMediaRecorderElement extends PacemEventTarget {\n constructor() {\n super(...arguments);\n this._recorderLifecycleHandler = (evt) => {\n this.state = this.#recorder.state;\n switch (evt.type) {\n case 'start':\n this.output = null;\n break;\n case 'stop':\n this.flush();\n break;\n case 'dataavailable':\n var evtb = evt;\n this.#chunks.push(evtb.data);\n break;\n }\n };\n this.#recorder = null;\n this.#chunks = [];\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._setupMediaRecorder();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (!first) {\n switch (name) {\n case 'source':\n case 'fps':\n case 'mimeType':\n case 'audioBitsPerSecond':\n case 'videoBitsPerSecond':\n this._setupMediaRecorder();\n break;\n }\n }\n }\n disconnectedCallback() {\n this._closeMediaRecorder();\n super.disconnectedCallback();\n }\n #recorder;\n #chunks;\n _setupMediaRecorder(stream = this.source, options = {\n mimeType: this.mimeType || DEFAULT_MIMETYPE,\n audioBitsPerSecond: this.audioBitsPerSecond ?? DEFAULT_AUDIO_BITS_PER_SEC,\n videoBitsPerSecond: this.videoBitsPerSecond ?? DEFAULT_VIDEO_BITS_PER_SEC\n }) {\n this._closeMediaRecorder();\n if (!Utils.isNull(stream)) {\n if (isStream(stream)) {\n const fps = this.fps || DEFAULT_FPS;\n stream = stream.captureStream(fps);\n }\n try {\n this.#recorder = new MediaRecorder(stream, options);\n }\n catch (e) {\n console.error(e);\n }\n const r = this.#recorder;\n MEDIA_RECORDER_EVENTS.forEach(e => {\n r.addEventListener(e, this._recorderLifecycleHandler, false);\n });\n }\n }\n _closeMediaRecorder() {\n const r = this.#recorder;\n if (!Utils.isNull(r)) {\n if (r.state !== 'inactive') {\n r.stop();\n }\n MEDIA_RECORDER_EVENTS.forEach(e => {\n r.removeEventListener(e, this._recorderLifecycleHandler, false);\n });\n this.#recorder = null;\n }\n }\n flush() {\n const blob = new Blob(this.#chunks, { 'type': this.mimeType || DEFAULT_MIMETYPE });\n this.#chunks = [];\n this.output = blob;\n }\n start() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state === 'inactive') {\n r.start();\n }\n }\n stop() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state !== 'inactive') {\n r.stop();\n }\n }\n resume() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state === 'paused') {\n r.start();\n }\n }\n pause() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state !== 'paused') {\n r.pause();\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Element })\n], PacemMediaRecorderElement.prototype, \"source\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemMediaRecorderElement.prototype, \"fps\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemMediaRecorderElement.prototype, \"mimeType\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemMediaRecorderElement.prototype, \"audioBitsPerSecond\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemMediaRecorderElement.prototype, \"videoBitsPerSecond\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.String })\n], PacemMediaRecorderElement.prototype, \"state\", void 0);\n__decorate([\n Watch()\n], PacemMediaRecorderElement.prototype, \"output\", void 0);\nPacemMediaRecorderElement = __decorate([\n CustomElement({ tagName: P + '-media-recorder' })\n], PacemMediaRecorderElement);\nexport { PacemMediaRecorderElement };\n","import { DeepMerger } from '@pacem/pacem-foundation';\nimport * as Output from './index';\nDeepMerger.merge(Output);\n"],"names":["__decorate","this","PacemEventTarget","Watch","PropertyConverters","CustomElement","P","Utils","DeepMerger"],"mappings":";;;IAAA,IAAIA,YAAU,GAAG,CAACC,SAAI,IAAIA,SAAI,CAAC,UAAU,KAAK,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IACvF,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;IAChI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC;IAClI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;IACrJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;IACjE,CAAC;IAED;IACA,IAAI,iBAAiB,GAAG,MAAM,iBAAiB,SAASC,0BAAgB,CAAC;IACzE,IAAI,WAAW,GAAG;IAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;IAC3B,QAAQ,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,KAAK;IACpC,YAAY,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAChD,QAAQ,CAAC;IACT,QAAQ,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK;IACtC,YAAY,IAAI,CAAC,QAAQ,GAAG,IAAI;IAChC,YAAY,IAAI,CAAC,SAAS,EAAE;IAC5B,QAAQ,CAAC;IACT,QAAQ,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC,KAAK;IAC7C,YAAY,IAAI,CAAC,eAAe,GAAG,IAAI;IACvC,YAAY,IAAI,CAAC,SAAS,EAAE;IAC5B,QAAQ,CAAC;IACT,IAAI;IACJ;IACA;IACA;IACA,IAAI,MAAM;IACV,IAAI,QAAQ;IACZ,IAAI,eAAe;IACnB,IAAI,iBAAiB,GAAG;IACxB,QAAQ,KAAK,CAAC,iBAAiB,EAAE;IACjC,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,EAAE;IAC3C,QAAQ,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC;IAClE,QAAQ,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC;IAC9D,QAAQ,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC;IAChF,IAAI;IACJ,IAAI,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;IACnD,QAAQ,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC;IAC5D,QAAQ,IAAI,CAAC,KAAK,EAAE;IACpB,YAAY,QAAQ,IAAI;IACxB,gBAAgB,KAAK,KAAK;IAC1B,oBAAoB,IAAI,CAAC,KAAK,EAAE;IAChC,oBAAoB;IACpB;IACA,QAAQ;IACR,IAAI;IACJ,IAAI,qBAAqB,GAAG;IAC5B,QAAQ,KAAK,CAAC,qBAAqB,EAAE;IACrC,QAAQ,IAAI,CAAC,KAAK,EAAE;IACpB,IAAI;IACJ,IAAI,oBAAoB,GAAG;IAC3B,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM;IAC7B,QAAQ,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC;IACjE,QAAQ,CAAC,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC;IACnF,QAAQ,CAAC,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC;IACrE,QAAQ,KAAK,CAAC,oBAAoB,EAAE;IACpC,IAAI;IACJ,IAAI,IAAI,GAAG;IACX;IACA,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;IAC3B,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;IAC7C,QAAQ;IACR,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI;IAC5C,YAAY,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,CAAC,IAAI;IAChB,YAAY,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACvE,QAAQ,CAAC,CAAC;IACV,IAAI;IACJ,IAAI,KAAK,GAAG;IACZ,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;IAC3B,IAAI;IACJ,IAAI,KAAK,GAAG;IACZ,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;IAC1B,IAAI;IACJ,IAAI,IAAI,QAAQ,GAAG;IACnB,QAAQ,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe;IACnE,IAAI;IACJ,IAAI,SAAS,GAAG;IAChB,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;IAC3B,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE;IAC/B,gBAAgB,IAAI,CAAC,IAAI,EAAE;IAC3B,YAAY;IACZ,QAAQ;IACR,IAAI;IACJ,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC1B,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM;IACjC,QAAQ,IAAI,CAAC,QAAQ;IACrB,YAAY,IAAI,CAAC,eAAe,GAAG,KAAK;IACxC,QAAQ,KAAK,CAAC,GAAG,GAAG,GAAG;IACvB,IAAI;IACJ,CAAC;AACDF,gBAAU,CAAC;IACX,IAAIG,eAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAEC,4BAAkB,CAAC,MAAM,EAAE;IAC/D,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;AAC9CJ,gBAAU,CAAC;IACX,IAAIG,eAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAEC,4BAAkB,CAAC,OAAO,EAAE;IAChE,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;AACjDJ,gBAAU,CAAC;IACX,IAAIG,eAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAEC,4BAAkB,CAAC,OAAO,EAAE;IAChE,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;IACnD,iBAAiB,GAAGJ,YAAU,CAAC;IAC/B,IAAIK,uBAAa,CAAC,EAAE,OAAO,EAAEC,WAAC,GAAG,QAAQ,EAAE;IAC3C,CAAC,EAAE,iBAAiB,CAAC;;ICtGrB,IAAI,UAAU,GAAG,CAACL,SAAI,IAAIA,SAAI,CAAC,UAAU,KAAK,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IACvF,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;IAChI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC;IAClI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;IACrJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;IACjE,CAAC;IAED;IACA,MAAM,WAAW,GAAG,EAAE;IACtB,MAAM,gBAAgB,GAAG,WAAW;IACpC,MAAM,0BAA0B,GAAG,MAAM;IACzC,MAAM,0BAA0B,GAAG,OAAO;IAC1C,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;IACvG,SAAS,QAAQ,CAAC,GAAG,EAAE;IACvB,IAAI,IAAI,GAAG,YAAY,iBAAiB,EAAE;IAC1C,QAAQ,OAAO,IAAI;IACnB,IAAI;IACJ,IAAI,OAAO,eAAe,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,eAAe,CAAC,KAAK,UAAU;IAC/E;IACA,IAAI,yBAAyB,GAAG,MAAM,yBAAyB,SAASC,0BAAgB,CAAC;IACzF,IAAI,WAAW,GAAG;IAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;IAC3B,QAAQ,IAAI,CAAC,yBAAyB,GAAG,CAAC,GAAG,KAAK;IAClD,YAAY,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK;IAC7C,YAAY,QAAQ,GAAG,CAAC,IAAI;IAC5B,gBAAgB,KAAK,OAAO;IAC5B,oBAAoB,IAAI,CAAC,MAAM,GAAG,IAAI;IACtC,oBAAoB;IACpB,gBAAgB,KAAK,MAAM;IAC3B,oBAAoB,IAAI,CAAC,KAAK,EAAE;IAChC,oBAAoB;IACpB,gBAAgB,KAAK,eAAe;IACpC,oBAAoB,IAAI,IAAI,GAAG,GAAG;IAClC,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAChD,oBAAoB;IACpB;IACA,QAAQ,CAAC;IACT,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI;IAC7B,QAAQ,IAAI,CAAC,OAAO,GAAG,EAAE;IACzB,IAAI;IACJ,IAAI,qBAAqB,GAAG;IAC5B,QAAQ,KAAK,CAAC,qBAAqB,EAAE;IACrC,QAAQ,IAAI,CAAC,mBAAmB,EAAE;IAClC,IAAI;IACJ,IAAI,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;IACnD,QAAQ,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC;IAC5D,QAAQ,IAAI,CAAC,KAAK,EAAE;IACpB,YAAY,QAAQ,IAAI;IACxB,gBAAgB,KAAK,QAAQ;IAC7B,gBAAgB,KAAK,KAAK;IAC1B,gBAAgB,KAAK,UAAU;IAC/B,gBAAgB,KAAK,oBAAoB;IACzC,gBAAgB,KAAK,oBAAoB;IACzC,oBAAoB,IAAI,CAAC,mBAAmB,EAAE;IAC9C,oBAAoB;IACpB;IACA,QAAQ;IACR,IAAI;IACJ,IAAI,oBAAoB,GAAG;IAC3B,QAAQ,IAAI,CAAC,mBAAmB,EAAE;IAClC,QAAQ,KAAK,CAAC,oBAAoB,EAAE;IACpC,IAAI;IACJ,IAAI,SAAS;IACb,IAAI,OAAO;IACX,IAAI,mBAAmB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG;IACxD,QAAQ,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,gBAAgB;IACnD,QAAQ,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,0BAA0B;IACjF,QAAQ,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI;IACvD,KAAK,EAAE;IACP,QAAQ,IAAI,CAAC,mBAAmB,EAAE;IAClC,QAAQ,IAAI,CAACK,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;IACnC,YAAY,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;IAClC,gBAAgB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,WAAW;IACnD,gBAAgB,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;IAClD,YAAY;IACZ,YAAY,IAAI;IAChB,gBAAgB,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC;IACnE,YAAY;IACZ,YAAY,OAAO,CAAC,EAAE;IACtB,gBAAgB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAChC,YAAY;IACZ,YAAY,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS;IACpC,YAAY,qBAAqB,CAAC,OAAO,CAAC,CAAC,IAAI;IAC/C,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC;IAC5E,YAAY,CAAC,CAAC;IACd,QAAQ;IACR,IAAI;IACJ,IAAI,mBAAmB,GAAG;IAC1B,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS;IAChC,QAAQ,IAAI,CAACA,eAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;IAC9B,YAAY,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,EAAE;IACxC,gBAAgB,CAAC,CAAC,IAAI,EAAE;IACxB,YAAY;IACZ,YAAY,qBAAqB,CAAC,OAAO,CAAC,CAAC,IAAI;IAC/C,gBAAgB,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC;IAC/E,YAAY,CAAC,CAAC;IACd,YAAY,IAAI,CAAC,SAAS,GAAG,IAAI;IACjC,QAAQ;IACR,IAAI;IACJ,IAAI,KAAK,GAAG;IACZ,QAAQ,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,IAAI,gBAAgB,EAAE,CAAC;IAC1F,QAAQ,IAAI,CAAC,OAAO,GAAG,EAAE;IACzB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI;IAC1B,IAAI;IACJ,IAAI,KAAK,GAAG;IACZ,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS;IAChC,QAAQ,IAAI,CAACA,eAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,EAAE;IACxD,YAAY,CAAC,CAAC,KAAK,EAAE;IACrB,QAAQ;IACR,IAAI;IACJ,IAAI,IAAI,GAAG;IACX,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS;IAChC,QAAQ,IAAI,CAACA,eAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,EAAE;IACxD,YAAY,CAAC,CAAC,IAAI,EAAE;IACpB,QAAQ;IACR,IAAI;IACJ,IAAI,MAAM,GAAG;IACb,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS;IAChC,QAAQ,IAAI,CAACA,eAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE;IACtD,YAAY,CAAC,CAAC,KAAK,EAAE;IACrB,QAAQ;IACR,IAAI;IACJ,IAAI,KAAK,GAAG;IACZ,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS;IAChC,QAAQ,IAAI,CAACA,eAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE;IACtD,YAAY,CAAC,CAAC,KAAK,EAAE;IACrB,QAAQ;IACR,IAAI;IACJ,CAAC;IACD,UAAU,CAAC;IACX,IAAIJ,eAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAEC,4BAAkB,CAAC,OAAO,EAAE;IAChE,CAAC,EAAE,yBAAyB,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;IACzD,UAAU,CAAC;IACX,IAAID,eAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAEC,4BAAkB,CAAC,MAAM,EAAE;IAC/D,CAAC,EAAE,yBAAyB,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;IACtD,UAAU,CAAC;IACX,IAAID,eAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAEC,4BAAkB,CAAC,MAAM,EAAE;IAC/D,CAAC,EAAE,yBAAyB,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;IAC3D,UAAU,CAAC;IACX,IAAID,eAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAEC,4BAAkB,CAAC,MAAM,EAAE;IAC/D,CAAC,EAAE,yBAAyB,CAAC,SAAS,EAAE,oBAAoB,EAAE,MAAM,CAAC;IACrE,UAAU,CAAC;IACX,IAAID,eAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAEC,4BAAkB,CAAC,MAAM,EAAE;IAC/D,CAAC,EAAE,yBAAyB,CAAC,SAAS,EAAE,oBAAoB,EAAE,MAAM,CAAC;IACrE,UAAU,CAAC;IACX,IAAID,eAAK,CAAC,EAAE,SAAS,EAAEC,4BAAkB,CAAC,MAAM,EAAE;IAClD,CAAC,EAAE,yBAAyB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;IACxD,UAAU,CAAC;IACX,IAAID,eAAK;IACT,CAAC,EAAE,yBAAyB,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;IACzD,yBAAyB,GAAG,UAAU,CAAC;IACvC,IAAIE,uBAAa,CAAC,EAAE,OAAO,EAAEC,WAAC,GAAG,iBAAiB,EAAE;IACpD,CAAC,EAAE,yBAAyB,CAAC;;;;;;;;;;;;;;;;;;ACtJ7BE,8BAAU,CAAC,KAAK,CAAC,MAAM,CAAC;;;;;;"}
|
|
1
|
+
{"version":3,"file":"pacem-media.js","sources":["../esm/audio.js","../esm/media-recorder.js","../esm/index-iife.js"],"sourcesContent":["var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { P, CustomElement, PacemEventTarget, Watch, PropertyConverters } from '@pacem/pacem-core';\n//namespace Pacem.Components.Media {\n/** Wraps a native `HTMLAudioElement`, exposing playback control and its readiness/lifecycle as reactive properties and events. */\nlet PacemAudioElement = class PacemAudioElement extends PacemEventTarget {\n constructor() {\n super(...arguments);\n this._endedHandler = (e) => {\n this.dispatchEvent(new Event('end'));\n };\n this._canPlayHandler = (e) => {\n this.#canPlay = true;\n this._autoplay();\n };\n this._canPlayThroughHandler = (e) => {\n this.#canPlayThrough = true;\n this._autoplay();\n };\n }\n // TODO: structure a proper MediaElement hierarchy (share logic with a future VideoElement)\n /** @readonly */\n // @Watch({ converter: PropertyConverters.Boolean }) duration: number;\n #audio;\n #canPlay;\n #canPlayThrough;\n connectedCallback() {\n super.connectedCallback();\n const a = this.#audio = new Audio();\n a.addEventListener('canplay', this._canPlayHandler, false);\n a.addEventListener('ended', this._endedHandler, false);\n a.addEventListener('canplaythrough', this._canPlayThroughHandler, false);\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (!first) {\n switch (name) {\n case 'src':\n this._init();\n break;\n }\n }\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._init();\n }\n disconnectedCallback() {\n const a = this.#audio;\n a.removeEventListener('ended', this._endedHandler, false);\n a.removeEventListener('canplaythrough', this._canPlayThroughHandler, false);\n a.removeEventListener('canplay', this._canPlayHandler, false);\n super.disconnectedCallback();\n }\n /**\n * Starts (or resumes) playback of the underlying `<audio>` element, dispatching a `start` event on success or an `error` event on failure.\n * @returns A promise that resolves once playback has started, or rejects with `'disabled'` if the element is disabled.\n */\n play() {\n // sudden exit when disabled\n if (this.disabled) {\n return Promise.reject('disabled');\n }\n return this.#audio.play().then(_ => {\n this.dispatchEvent(new Event('start'));\n }, e => {\n this.dispatchEvent(new CustomEvent('error', { detail: e }));\n });\n }\n /** Pauses playback. */\n pause() {\n this.#audio.pause();\n }\n /** Reloads the underlying `<audio>` element, resetting its playback state. */\n reset() {\n this.#audio.load();\n }\n get _canPlay() {\n return this.stream && this.#canPlay || this.#canPlayThrough;\n }\n _autoplay() {\n if (this.autoplay) {\n if (this._canPlay) {\n this.play();\n }\n }\n }\n _init(src = this.src) {\n const audio = this.#audio;\n this.#canPlay =\n this.#canPlayThrough = false;\n audio.src = src;\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemAudioElement.prototype, \"src\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Boolean })\n], PacemAudioElement.prototype, \"stream\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Boolean })\n], PacemAudioElement.prototype, \"autoplay\", void 0);\nPacemAudioElement = __decorate([\n CustomElement({ tagName: P + '-audio' })\n], PacemAudioElement);\nexport { PacemAudioElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { P, CustomElement, PacemEventTarget, Watch, PropertyConverters, Utils } from '@pacem/pacem-core';\n//namespace Pacem.Components.Media {\nconst DEFAULT_FPS = 25;\nconst DEFAULT_MIMETYPE = \"video/mp4\";\nconst DEFAULT_AUDIO_BITS_PER_SEC = 128000;\nconst DEFAULT_VIDEO_BITS_PER_SEC = 2500000;\nconst MEDIA_RECORDER_EVENTS = [\"start\", \"stop\", \"dataavailable\", \"pause\", \"resume\", \"error\", \"warning\"];\nfunction isStream(obj) {\n if (obj instanceof HTMLCanvasElement) {\n return true;\n }\n return 'captureStream' in obj && typeof obj['captureStream'] === 'function';\n}\n/** Wraps the native `MediaRecorder` API, capturing audio/video from a canvas, media element or media stream into a `Blob`. */\nlet PacemMediaRecorderElement = class PacemMediaRecorderElement extends PacemEventTarget {\n constructor() {\n super(...arguments);\n this._recorderLifecycleHandler = (evt) => {\n this.state = this.#recorder.state;\n switch (evt.type) {\n case 'start':\n this.output = null;\n break;\n case 'stop':\n this.flush();\n break;\n case 'dataavailable':\n var evtb = evt;\n this.#chunks.push(evtb.data);\n break;\n }\n };\n this.#recorder = null;\n this.#chunks = [];\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._setupMediaRecorder();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (!first) {\n switch (name) {\n case 'source':\n case 'fps':\n case 'mimeType':\n case 'audioBitsPerSecond':\n case 'videoBitsPerSecond':\n this._setupMediaRecorder();\n break;\n }\n }\n }\n disconnectedCallback() {\n this._closeMediaRecorder();\n super.disconnectedCallback();\n }\n #recorder;\n #chunks;\n _setupMediaRecorder(stream = this.source, options = {\n mimeType: this.mimeType || DEFAULT_MIMETYPE,\n audioBitsPerSecond: this.audioBitsPerSecond ?? DEFAULT_AUDIO_BITS_PER_SEC,\n videoBitsPerSecond: this.videoBitsPerSecond ?? DEFAULT_VIDEO_BITS_PER_SEC\n }) {\n this._closeMediaRecorder();\n if (!Utils.isNull(stream)) {\n if (isStream(stream)) {\n const fps = this.fps || DEFAULT_FPS;\n stream = stream.captureStream(fps);\n }\n try {\n this.#recorder = new MediaRecorder(stream, options);\n }\n catch (e) {\n console.error(e);\n }\n const r = this.#recorder;\n MEDIA_RECORDER_EVENTS.forEach(e => {\n r.addEventListener(e, this._recorderLifecycleHandler, false);\n });\n }\n }\n _closeMediaRecorder() {\n const r = this.#recorder;\n if (!Utils.isNull(r)) {\n if (r.state !== 'inactive') {\n r.stop();\n }\n MEDIA_RECORDER_EVENTS.forEach(e => {\n r.removeEventListener(e, this._recorderLifecycleHandler, false);\n });\n this.#recorder = null;\n }\n }\n /** Concatenates the buffered data chunks recorded so far into a single `Blob` and assigns it to `output`, clearing the buffer. */\n flush() {\n const blob = new Blob(this.#chunks, { 'type': this.mimeType || DEFAULT_MIMETYPE });\n this.#chunks = [];\n this.output = blob;\n }\n /** Starts recording, if the underlying recorder is currently inactive. */\n start() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state === 'inactive') {\n r.start();\n }\n }\n /** Stops recording, if the underlying recorder is not already inactive. */\n stop() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state !== 'inactive') {\n r.stop();\n }\n }\n /** Resumes a paused recording. */\n resume() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state === 'paused') {\n r.start();\n }\n }\n /** Pauses an ongoing recording. */\n pause() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state !== 'paused') {\n r.pause();\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Element })\n], PacemMediaRecorderElement.prototype, \"source\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemMediaRecorderElement.prototype, \"fps\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemMediaRecorderElement.prototype, \"mimeType\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemMediaRecorderElement.prototype, \"audioBitsPerSecond\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemMediaRecorderElement.prototype, \"videoBitsPerSecond\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.String })\n], PacemMediaRecorderElement.prototype, \"state\", void 0);\n__decorate([\n Watch()\n], PacemMediaRecorderElement.prototype, \"output\", void 0);\nPacemMediaRecorderElement = __decorate([\n CustomElement({ tagName: P + '-media-recorder' })\n], PacemMediaRecorderElement);\nexport { PacemMediaRecorderElement };\n","import { DeepMerger } from '@pacem/pacem-foundation';\nimport * as Output from './index';\nDeepMerger.merge(Output);\n"],"names":["__decorate","this","PacemEventTarget","Watch","PropertyConverters","CustomElement","P","Utils","DeepMerger"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-media v1.0.0-
|
|
2
|
+
* @pacem/pacem-media v1.0.0-dirac (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -79,6 +79,10 @@ var PacemAudioElement = class PacemAudioElement2 extends PacemEventTarget {
|
|
|
79
79
|
a.removeEventListener("canplay", this._canPlayHandler, false);
|
|
80
80
|
super.disconnectedCallback();
|
|
81
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Starts (or resumes) playback of the underlying `<audio>` element, dispatching a `start` event on success or an `error` event on failure.
|
|
84
|
+
* @returns A promise that resolves once playback has started, or rejects with `'disabled'` if the element is disabled.
|
|
85
|
+
*/
|
|
82
86
|
play() {
|
|
83
87
|
if (this.disabled) {
|
|
84
88
|
return Promise.reject("disabled");
|
|
@@ -89,9 +93,11 @@ var PacemAudioElement = class PacemAudioElement2 extends PacemEventTarget {
|
|
|
89
93
|
this.dispatchEvent(new CustomEvent("error", { detail: e }));
|
|
90
94
|
});
|
|
91
95
|
}
|
|
96
|
+
/** Pauses playback. */
|
|
92
97
|
pause() {
|
|
93
98
|
this.#audio.pause();
|
|
94
99
|
}
|
|
100
|
+
/** Reloads the underlying `<audio>` element, resetting its playback state. */
|
|
95
101
|
reset() {
|
|
96
102
|
this.#audio.load();
|
|
97
103
|
}
|
|
@@ -222,29 +228,34 @@ var PacemMediaRecorderElement = class PacemMediaRecorderElement2 extends PacemEv
|
|
|
222
228
|
this.#recorder = null;
|
|
223
229
|
}
|
|
224
230
|
}
|
|
231
|
+
/** Concatenates the buffered data chunks recorded so far into a single `Blob` and assigns it to `output`, clearing the buffer. */
|
|
225
232
|
flush() {
|
|
226
233
|
const blob = new Blob(this.#chunks, { "type": this.mimeType || DEFAULT_MIMETYPE });
|
|
227
234
|
this.#chunks = [];
|
|
228
235
|
this.output = blob;
|
|
229
236
|
}
|
|
237
|
+
/** Starts recording, if the underlying recorder is currently inactive. */
|
|
230
238
|
start() {
|
|
231
239
|
const r = this.#recorder;
|
|
232
240
|
if (!Utils.isNull(r) && r.state === "inactive") {
|
|
233
241
|
r.start();
|
|
234
242
|
}
|
|
235
243
|
}
|
|
244
|
+
/** Stops recording, if the underlying recorder is not already inactive. */
|
|
236
245
|
stop() {
|
|
237
246
|
const r = this.#recorder;
|
|
238
247
|
if (!Utils.isNull(r) && r.state !== "inactive") {
|
|
239
248
|
r.stop();
|
|
240
249
|
}
|
|
241
250
|
}
|
|
251
|
+
/** Resumes a paused recording. */
|
|
242
252
|
resume() {
|
|
243
253
|
const r = this.#recorder;
|
|
244
254
|
if (!Utils.isNull(r) && r.state === "paused") {
|
|
245
255
|
r.start();
|
|
246
256
|
}
|
|
247
257
|
}
|
|
258
|
+
/** Pauses an ongoing recording. */
|
|
248
259
|
pause() {
|
|
249
260
|
const r = this.#recorder;
|
|
250
261
|
if (!Utils.isNull(r) && r.state !== "paused") {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../esm/index-components.js", "../esm/index-components-media.js", "../esm/audio.js", "../esm/media-recorder.js"],
|
|
4
|
-
"sourcesContent": ["export * as Media from './index-components-media';\n", "export * from './audio';\nexport * from './media-recorder';\n", "var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { P, CustomElement, PacemEventTarget, Watch, PropertyConverters } from '@pacem/pacem-core';\n//namespace Pacem.Components.Media {\nlet PacemAudioElement = class PacemAudioElement extends PacemEventTarget {\n constructor() {\n super(...arguments);\n this._endedHandler = (e) => {\n this.dispatchEvent(new Event('end'));\n };\n this._canPlayHandler = (e) => {\n this.#canPlay = true;\n this._autoplay();\n };\n this._canPlayThroughHandler = (e) => {\n this.#canPlayThrough = true;\n this._autoplay();\n };\n }\n // TODO: structure a proper MediaElement hierarchy (share logic with a future VideoElement)\n /** @readonly */\n // @Watch({ converter: PropertyConverters.Boolean }) duration: number;\n #audio;\n #canPlay;\n #canPlayThrough;\n connectedCallback() {\n super.connectedCallback();\n const a = this.#audio = new Audio();\n a.addEventListener('canplay', this._canPlayHandler, false);\n a.addEventListener('ended', this._endedHandler, false);\n a.addEventListener('canplaythrough', this._canPlayThroughHandler, false);\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (!first) {\n switch (name) {\n case 'src':\n this._init();\n break;\n }\n }\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._init();\n }\n disconnectedCallback() {\n const a = this.#audio;\n a.removeEventListener('ended', this._endedHandler, false);\n a.removeEventListener('canplaythrough', this._canPlayThroughHandler, false);\n a.removeEventListener('canplay', this._canPlayHandler, false);\n super.disconnectedCallback();\n }\n play() {\n // sudden exit when disabled\n if (this.disabled) {\n return Promise.reject('disabled');\n }\n return this.#audio.play().then(_ => {\n this.dispatchEvent(new Event('start'));\n }, e => {\n this.dispatchEvent(new CustomEvent('error', { detail: e }));\n });\n }\n pause() {\n this.#audio.pause();\n }\n reset() {\n this.#audio.load();\n }\n get _canPlay() {\n return this.stream && this.#canPlay || this.#canPlayThrough;\n }\n _autoplay() {\n if (this.autoplay) {\n if (this._canPlay) {\n this.play();\n }\n }\n }\n _init(src = this.src) {\n const audio = this.#audio;\n this.#canPlay =\n this.#canPlayThrough = false;\n audio.src = src;\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemAudioElement.prototype, \"src\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Boolean })\n], PacemAudioElement.prototype, \"stream\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Boolean })\n], PacemAudioElement.prototype, \"autoplay\", void 0);\nPacemAudioElement = __decorate([\n CustomElement({ tagName: P + '-audio' })\n], PacemAudioElement);\nexport { PacemAudioElement };\n", "var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { P, CustomElement, PacemEventTarget, Watch, PropertyConverters, Utils } from '@pacem/pacem-core';\n//namespace Pacem.Components.Media {\nconst DEFAULT_FPS = 25;\nconst DEFAULT_MIMETYPE = \"video/mp4\";\nconst DEFAULT_AUDIO_BITS_PER_SEC = 128000;\nconst DEFAULT_VIDEO_BITS_PER_SEC = 2500000;\nconst MEDIA_RECORDER_EVENTS = [\"start\", \"stop\", \"dataavailable\", \"pause\", \"resume\", \"error\", \"warning\"];\nfunction isStream(obj) {\n if (obj instanceof HTMLCanvasElement) {\n return true;\n }\n return 'captureStream' in obj && typeof obj['captureStream'] === 'function';\n}\nlet PacemMediaRecorderElement = class PacemMediaRecorderElement extends PacemEventTarget {\n constructor() {\n super(...arguments);\n this._recorderLifecycleHandler = (evt) => {\n this.state = this.#recorder.state;\n switch (evt.type) {\n case 'start':\n this.output = null;\n break;\n case 'stop':\n this.flush();\n break;\n case 'dataavailable':\n var evtb = evt;\n this.#chunks.push(evtb.data);\n break;\n }\n };\n this.#recorder = null;\n this.#chunks = [];\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._setupMediaRecorder();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (!first) {\n switch (name) {\n case 'source':\n case 'fps':\n case 'mimeType':\n case 'audioBitsPerSecond':\n case 'videoBitsPerSecond':\n this._setupMediaRecorder();\n break;\n }\n }\n }\n disconnectedCallback() {\n this._closeMediaRecorder();\n super.disconnectedCallback();\n }\n #recorder;\n #chunks;\n _setupMediaRecorder(stream = this.source, options = {\n mimeType: this.mimeType || DEFAULT_MIMETYPE,\n audioBitsPerSecond: this.audioBitsPerSecond ?? DEFAULT_AUDIO_BITS_PER_SEC,\n videoBitsPerSecond: this.videoBitsPerSecond ?? DEFAULT_VIDEO_BITS_PER_SEC\n }) {\n this._closeMediaRecorder();\n if (!Utils.isNull(stream)) {\n if (isStream(stream)) {\n const fps = this.fps || DEFAULT_FPS;\n stream = stream.captureStream(fps);\n }\n try {\n this.#recorder = new MediaRecorder(stream, options);\n }\n catch (e) {\n console.error(e);\n }\n const r = this.#recorder;\n MEDIA_RECORDER_EVENTS.forEach(e => {\n r.addEventListener(e, this._recorderLifecycleHandler, false);\n });\n }\n }\n _closeMediaRecorder() {\n const r = this.#recorder;\n if (!Utils.isNull(r)) {\n if (r.state !== 'inactive') {\n r.stop();\n }\n MEDIA_RECORDER_EVENTS.forEach(e => {\n r.removeEventListener(e, this._recorderLifecycleHandler, false);\n });\n this.#recorder = null;\n }\n }\n flush() {\n const blob = new Blob(this.#chunks, { 'type': this.mimeType || DEFAULT_MIMETYPE });\n this.#chunks = [];\n this.output = blob;\n }\n start() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state === 'inactive') {\n r.start();\n }\n }\n stop() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state !== 'inactive') {\n r.stop();\n }\n }\n resume() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state === 'paused') {\n r.start();\n }\n }\n pause() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state !== 'paused') {\n r.pause();\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Element })\n], PacemMediaRecorderElement.prototype, \"source\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemMediaRecorderElement.prototype, \"fps\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemMediaRecorderElement.prototype, \"mimeType\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemMediaRecorderElement.prototype, \"audioBitsPerSecond\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemMediaRecorderElement.prototype, \"videoBitsPerSecond\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.String })\n], PacemMediaRecorderElement.prototype, \"state\", void 0);\n__decorate([\n Watch()\n], PacemMediaRecorderElement.prototype, \"output\", void 0);\nPacemMediaRecorderElement = __decorate([\n CustomElement({ tagName: P + '-media-recorder' })\n], PacemMediaRecorderElement);\nexport { PacemMediaRecorderElement };\n"],
|
|
5
|
-
"mappings": ";;;;;;;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;;;ACMA,SAAS,GAAG,eAAe,kBAAkB,OAAO,0BAA0B;AAN9E,IAAI,aAA0C,SAAU,YAAY,QAAQ,KAAK,MAAM;AACnF,MAAI,IAAI,UAAU,QAAQ,IAAI,IAAI,IAAI,SAAS,SAAS,OAAO,OAAO,OAAO,yBAAyB,QAAQ,GAAG,IAAI,MAAM;AAC3H,MAAI,OAAO,YAAY,YAAY,OAAO,QAAQ,aAAa,WAAY,KAAI,QAAQ,SAAS,YAAY,QAAQ,KAAK,IAAI;AAAA,MACxH,UAAS,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,IAAK,KAAI,IAAI,WAAW,CAAC,EAAG,MAAK,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,EAAE,QAAQ,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;AAChJ,SAAO,IAAI,KAAK,KAAK,OAAO,eAAe,QAAQ,KAAK,CAAC,GAAG;AAChE;
|
|
4
|
+
"sourcesContent": ["export * as Media from './index-components-media';\n", "export * from './audio';\nexport * from './media-recorder';\n", "var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { P, CustomElement, PacemEventTarget, Watch, PropertyConverters } from '@pacem/pacem-core';\n//namespace Pacem.Components.Media {\n/** Wraps a native `HTMLAudioElement`, exposing playback control and its readiness/lifecycle as reactive properties and events. */\nlet PacemAudioElement = class PacemAudioElement extends PacemEventTarget {\n constructor() {\n super(...arguments);\n this._endedHandler = (e) => {\n this.dispatchEvent(new Event('end'));\n };\n this._canPlayHandler = (e) => {\n this.#canPlay = true;\n this._autoplay();\n };\n this._canPlayThroughHandler = (e) => {\n this.#canPlayThrough = true;\n this._autoplay();\n };\n }\n // TODO: structure a proper MediaElement hierarchy (share logic with a future VideoElement)\n /** @readonly */\n // @Watch({ converter: PropertyConverters.Boolean }) duration: number;\n #audio;\n #canPlay;\n #canPlayThrough;\n connectedCallback() {\n super.connectedCallback();\n const a = this.#audio = new Audio();\n a.addEventListener('canplay', this._canPlayHandler, false);\n a.addEventListener('ended', this._endedHandler, false);\n a.addEventListener('canplaythrough', this._canPlayThroughHandler, false);\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (!first) {\n switch (name) {\n case 'src':\n this._init();\n break;\n }\n }\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._init();\n }\n disconnectedCallback() {\n const a = this.#audio;\n a.removeEventListener('ended', this._endedHandler, false);\n a.removeEventListener('canplaythrough', this._canPlayThroughHandler, false);\n a.removeEventListener('canplay', this._canPlayHandler, false);\n super.disconnectedCallback();\n }\n /**\n * Starts (or resumes) playback of the underlying `<audio>` element, dispatching a `start` event on success or an `error` event on failure.\n * @returns A promise that resolves once playback has started, or rejects with `'disabled'` if the element is disabled.\n */\n play() {\n // sudden exit when disabled\n if (this.disabled) {\n return Promise.reject('disabled');\n }\n return this.#audio.play().then(_ => {\n this.dispatchEvent(new Event('start'));\n }, e => {\n this.dispatchEvent(new CustomEvent('error', { detail: e }));\n });\n }\n /** Pauses playback. */\n pause() {\n this.#audio.pause();\n }\n /** Reloads the underlying `<audio>` element, resetting its playback state. */\n reset() {\n this.#audio.load();\n }\n get _canPlay() {\n return this.stream && this.#canPlay || this.#canPlayThrough;\n }\n _autoplay() {\n if (this.autoplay) {\n if (this._canPlay) {\n this.play();\n }\n }\n }\n _init(src = this.src) {\n const audio = this.#audio;\n this.#canPlay =\n this.#canPlayThrough = false;\n audio.src = src;\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemAudioElement.prototype, \"src\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Boolean })\n], PacemAudioElement.prototype, \"stream\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Boolean })\n], PacemAudioElement.prototype, \"autoplay\", void 0);\nPacemAudioElement = __decorate([\n CustomElement({ tagName: P + '-audio' })\n], PacemAudioElement);\nexport { PacemAudioElement };\n", "var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { P, CustomElement, PacemEventTarget, Watch, PropertyConverters, Utils } from '@pacem/pacem-core';\n//namespace Pacem.Components.Media {\nconst DEFAULT_FPS = 25;\nconst DEFAULT_MIMETYPE = \"video/mp4\";\nconst DEFAULT_AUDIO_BITS_PER_SEC = 128000;\nconst DEFAULT_VIDEO_BITS_PER_SEC = 2500000;\nconst MEDIA_RECORDER_EVENTS = [\"start\", \"stop\", \"dataavailable\", \"pause\", \"resume\", \"error\", \"warning\"];\nfunction isStream(obj) {\n if (obj instanceof HTMLCanvasElement) {\n return true;\n }\n return 'captureStream' in obj && typeof obj['captureStream'] === 'function';\n}\n/** Wraps the native `MediaRecorder` API, capturing audio/video from a canvas, media element or media stream into a `Blob`. */\nlet PacemMediaRecorderElement = class PacemMediaRecorderElement extends PacemEventTarget {\n constructor() {\n super(...arguments);\n this._recorderLifecycleHandler = (evt) => {\n this.state = this.#recorder.state;\n switch (evt.type) {\n case 'start':\n this.output = null;\n break;\n case 'stop':\n this.flush();\n break;\n case 'dataavailable':\n var evtb = evt;\n this.#chunks.push(evtb.data);\n break;\n }\n };\n this.#recorder = null;\n this.#chunks = [];\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._setupMediaRecorder();\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (!first) {\n switch (name) {\n case 'source':\n case 'fps':\n case 'mimeType':\n case 'audioBitsPerSecond':\n case 'videoBitsPerSecond':\n this._setupMediaRecorder();\n break;\n }\n }\n }\n disconnectedCallback() {\n this._closeMediaRecorder();\n super.disconnectedCallback();\n }\n #recorder;\n #chunks;\n _setupMediaRecorder(stream = this.source, options = {\n mimeType: this.mimeType || DEFAULT_MIMETYPE,\n audioBitsPerSecond: this.audioBitsPerSecond ?? DEFAULT_AUDIO_BITS_PER_SEC,\n videoBitsPerSecond: this.videoBitsPerSecond ?? DEFAULT_VIDEO_BITS_PER_SEC\n }) {\n this._closeMediaRecorder();\n if (!Utils.isNull(stream)) {\n if (isStream(stream)) {\n const fps = this.fps || DEFAULT_FPS;\n stream = stream.captureStream(fps);\n }\n try {\n this.#recorder = new MediaRecorder(stream, options);\n }\n catch (e) {\n console.error(e);\n }\n const r = this.#recorder;\n MEDIA_RECORDER_EVENTS.forEach(e => {\n r.addEventListener(e, this._recorderLifecycleHandler, false);\n });\n }\n }\n _closeMediaRecorder() {\n const r = this.#recorder;\n if (!Utils.isNull(r)) {\n if (r.state !== 'inactive') {\n r.stop();\n }\n MEDIA_RECORDER_EVENTS.forEach(e => {\n r.removeEventListener(e, this._recorderLifecycleHandler, false);\n });\n this.#recorder = null;\n }\n }\n /** Concatenates the buffered data chunks recorded so far into a single `Blob` and assigns it to `output`, clearing the buffer. */\n flush() {\n const blob = new Blob(this.#chunks, { 'type': this.mimeType || DEFAULT_MIMETYPE });\n this.#chunks = [];\n this.output = blob;\n }\n /** Starts recording, if the underlying recorder is currently inactive. */\n start() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state === 'inactive') {\n r.start();\n }\n }\n /** Stops recording, if the underlying recorder is not already inactive. */\n stop() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state !== 'inactive') {\n r.stop();\n }\n }\n /** Resumes a paused recording. */\n resume() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state === 'paused') {\n r.start();\n }\n }\n /** Pauses an ongoing recording. */\n pause() {\n const r = this.#recorder;\n if (!Utils.isNull(r) && r.state !== 'paused') {\n r.pause();\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Element })\n], PacemMediaRecorderElement.prototype, \"source\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemMediaRecorderElement.prototype, \"fps\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.String })\n], PacemMediaRecorderElement.prototype, \"mimeType\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemMediaRecorderElement.prototype, \"audioBitsPerSecond\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemMediaRecorderElement.prototype, \"videoBitsPerSecond\", void 0);\n__decorate([\n Watch({ converter: PropertyConverters.String })\n], PacemMediaRecorderElement.prototype, \"state\", void 0);\n__decorate([\n Watch()\n], PacemMediaRecorderElement.prototype, \"output\", void 0);\nPacemMediaRecorderElement = __decorate([\n CustomElement({ tagName: P + '-media-recorder' })\n], PacemMediaRecorderElement);\nexport { PacemMediaRecorderElement };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["PacemAudioElement", "P", "CustomElement", "PacemEventTarget", "Watch", "PropertyConverters", "__decorate", "PacemMediaRecorderElement"]
|
|
7
7
|
}
|