@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
package/dist/esm/audio.js
CHANGED
|
@@ -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
|
*/
|
|
@@ -11,6 +11,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
};
|
|
12
12
|
import { P, CustomElement, PacemEventTarget, Watch, PropertyConverters } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Pacem.Components.Media {
|
|
14
|
+
/** Wraps a native `HTMLAudioElement`, exposing playback control and its readiness/lifecycle as reactive properties and events. */
|
|
14
15
|
let PacemAudioElement = class PacemAudioElement extends PacemEventTarget {
|
|
15
16
|
constructor() {
|
|
16
17
|
super(...arguments);
|
|
@@ -60,6 +61,10 @@ let PacemAudioElement = class PacemAudioElement extends PacemEventTarget {
|
|
|
60
61
|
a.removeEventListener('canplay', this._canPlayHandler, false);
|
|
61
62
|
super.disconnectedCallback();
|
|
62
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Starts (or resumes) playback of the underlying `<audio>` element, dispatching a `start` event on success or an `error` event on failure.
|
|
66
|
+
* @returns A promise that resolves once playback has started, or rejects with `'disabled'` if the element is disabled.
|
|
67
|
+
*/
|
|
63
68
|
play() {
|
|
64
69
|
// sudden exit when disabled
|
|
65
70
|
if (this.disabled) {
|
|
@@ -71,9 +76,11 @@ let PacemAudioElement = class PacemAudioElement extends PacemEventTarget {
|
|
|
71
76
|
this.dispatchEvent(new CustomEvent('error', { detail: e }));
|
|
72
77
|
});
|
|
73
78
|
}
|
|
79
|
+
/** Pauses playback. */
|
|
74
80
|
pause() {
|
|
75
81
|
this.#audio.pause();
|
|
76
82
|
}
|
|
83
|
+
/** Reloads the underlying `<audio>` element, resetting its playback state. */
|
|
77
84
|
reset() {
|
|
78
85
|
this.#audio.load();
|
|
79
86
|
}
|
package/dist/esm/index-iife.js
CHANGED
package/dist/esm/index.js
CHANGED
|
@@ -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
|
*/
|
|
@@ -22,6 +22,7 @@ function isStream(obj) {
|
|
|
22
22
|
}
|
|
23
23
|
return 'captureStream' in obj && typeof obj['captureStream'] === 'function';
|
|
24
24
|
}
|
|
25
|
+
/** Wraps the native `MediaRecorder` API, capturing audio/video from a canvas, media element or media stream into a `Blob`. */
|
|
25
26
|
let PacemMediaRecorderElement = class PacemMediaRecorderElement extends PacemEventTarget {
|
|
26
27
|
constructor() {
|
|
27
28
|
super(...arguments);
|
|
@@ -102,29 +103,34 @@ let PacemMediaRecorderElement = class PacemMediaRecorderElement extends PacemEve
|
|
|
102
103
|
this.#recorder = null;
|
|
103
104
|
}
|
|
104
105
|
}
|
|
106
|
+
/** Concatenates the buffered data chunks recorded so far into a single `Blob` and assigns it to `output`, clearing the buffer. */
|
|
105
107
|
flush() {
|
|
106
108
|
const blob = new Blob(this.#chunks, { 'type': this.mimeType || DEFAULT_MIMETYPE });
|
|
107
109
|
this.#chunks = [];
|
|
108
110
|
this.output = blob;
|
|
109
111
|
}
|
|
112
|
+
/** Starts recording, if the underlying recorder is currently inactive. */
|
|
110
113
|
start() {
|
|
111
114
|
const r = this.#recorder;
|
|
112
115
|
if (!Utils.isNull(r) && r.state === 'inactive') {
|
|
113
116
|
r.start();
|
|
114
117
|
}
|
|
115
118
|
}
|
|
119
|
+
/** Stops recording, if the underlying recorder is not already inactive. */
|
|
116
120
|
stop() {
|
|
117
121
|
const r = this.#recorder;
|
|
118
122
|
if (!Utils.isNull(r) && r.state !== 'inactive') {
|
|
119
123
|
r.stop();
|
|
120
124
|
}
|
|
121
125
|
}
|
|
126
|
+
/** Resumes a paused recording. */
|
|
122
127
|
resume() {
|
|
123
128
|
const r = this.#recorder;
|
|
124
129
|
if (!Utils.isNull(r) && r.state === 'paused') {
|
|
125
130
|
r.start();
|
|
126
131
|
}
|
|
127
132
|
}
|
|
133
|
+
/** Pauses an ongoing recording. */
|
|
128
134
|
pause() {
|
|
129
135
|
const r = this.#recorder;
|
|
130
136
|
if (!Utils.isNull(r) && r.state !== 'paused') {
|
package/package.json
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
"dist/browser/*.*",
|
|
5
5
|
"dist/bundle/*.*",
|
|
6
6
|
"dist/esm/*.*",
|
|
7
|
+
"dist/docs/*.*",
|
|
7
8
|
"typings/*.*",
|
|
8
9
|
"README.md",
|
|
9
10
|
"LICENSE",
|
|
@@ -24,7 +25,7 @@
|
|
|
24
25
|
"types": "./typings/index.d.ts"
|
|
25
26
|
}
|
|
26
27
|
},
|
|
27
|
-
"version": "1.0.0-
|
|
28
|
+
"version": "1.0.0-dirac",
|
|
28
29
|
"author": {
|
|
29
30
|
"name": "Pacem",
|
|
30
31
|
"url": "https://pacem.it"
|
package/typings/index.d.ts
CHANGED
|
@@ -13,17 +13,27 @@ export declare namespace Media {
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
+
/** Wraps a native `HTMLAudioElement`, exposing playback control and its readiness/lifecycle as reactive properties and events. */
|
|
16
17
|
declare class PacemAudioElement extends PacemEventTarget {
|
|
17
18
|
#private;
|
|
19
|
+
/** Gets or sets the media source URL for the underlying `<audio>` element. */
|
|
18
20
|
src: string;
|
|
21
|
+
/** Gets or sets whether the source is a live stream (playback is considered ready as soon as it *can* play, rather than waiting for it to play through). */
|
|
19
22
|
stream: boolean;
|
|
23
|
+
/** Gets or sets whether playback should start automatically as soon as the media is ready. */
|
|
20
24
|
autoplay: boolean;
|
|
21
25
|
connectedCallback(): void;
|
|
22
26
|
propertyChangedCallback(name: string, old: any, val: any, first?: boolean): void;
|
|
23
27
|
viewActivatedCallback(): void;
|
|
24
28
|
disconnectedCallback(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Starts (or resumes) playback of the underlying `<audio>` element, dispatching a `start` event on success or an `error` event on failure.
|
|
31
|
+
* @returns A promise that resolves once playback has started, or rejects with `'disabled'` if the element is disabled.
|
|
32
|
+
*/
|
|
25
33
|
play(): Promise<void>;
|
|
34
|
+
/** Pauses playback. */
|
|
26
35
|
pause(): void;
|
|
36
|
+
/** Reloads the underlying `<audio>` element, resetting its playback state. */
|
|
27
37
|
reset(): void;
|
|
28
38
|
private get _canPlay();
|
|
29
39
|
private _endedHandler;
|
|
@@ -33,14 +43,22 @@ declare class PacemAudioElement extends PacemEventTarget {
|
|
|
33
43
|
private _init;
|
|
34
44
|
}
|
|
35
45
|
|
|
46
|
+
/** Wraps the native `MediaRecorder` API, capturing audio/video from a canvas, media element or media stream into a `Blob`. */
|
|
36
47
|
declare class PacemMediaRecorderElement extends PacemEventTarget {
|
|
37
48
|
#private;
|
|
49
|
+
/** Gets or sets the source to record: a `HTMLCanvasElement` (captured via `captureStream`), a `HTMLMediaElement`, or a `MediaStream`. */
|
|
38
50
|
source: HTMLCanvasElement | HTMLMediaElement | MediaStream;
|
|
51
|
+
/** Gets or sets the frame rate (frames per second) used when capturing a stream from a canvas source. */
|
|
39
52
|
fps: number;
|
|
53
|
+
/** Gets or sets the MIME type used to encode the recorded output. */
|
|
40
54
|
mimeType: string;
|
|
55
|
+
/** Gets or sets the target audio bitrate, in bits per second. */
|
|
41
56
|
audioBitsPerSecond: number;
|
|
57
|
+
/** Gets or sets the target video bitrate, in bits per second. */
|
|
42
58
|
videoBitsPerSecond: number;
|
|
59
|
+
/** @readonly Gets the current state of the underlying `MediaRecorder` (`'inactive'`, `'recording'` or `'paused'`). */
|
|
43
60
|
state: RecordingState;
|
|
61
|
+
/** @readonly Gets the recorded output as a `Blob`, populated whenever the buffered chunks are flushed (typically on `stop`). */
|
|
44
62
|
output: Blob;
|
|
45
63
|
viewActivatedCallback(): void;
|
|
46
64
|
propertyChangedCallback(name: string, old: any, val: any, first?: boolean): void;
|
|
@@ -48,10 +66,15 @@ declare class PacemMediaRecorderElement extends PacemEventTarget {
|
|
|
48
66
|
private _recorderLifecycleHandler;
|
|
49
67
|
private _setupMediaRecorder;
|
|
50
68
|
private _closeMediaRecorder;
|
|
69
|
+
/** Concatenates the buffered data chunks recorded so far into a single `Blob` and assigns it to `output`, clearing the buffer. */
|
|
51
70
|
flush(): void;
|
|
71
|
+
/** Starts recording, if the underlying recorder is currently inactive. */
|
|
52
72
|
start(): void;
|
|
73
|
+
/** Stops recording, if the underlying recorder is not already inactive. */
|
|
53
74
|
stop(): void;
|
|
75
|
+
/** Resumes a paused recording. */
|
|
54
76
|
resume(): void;
|
|
77
|
+
/** Pauses an ongoing recording. */
|
|
55
78
|
pause(): void;
|
|
56
79
|
}
|
|
57
80
|
|