@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/esm/audio.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @pacem/pacem-media v1.0.0-bessel (https://js.pacem.it)
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
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @pacem/pacem-media v1.0.0-bessel (https://js.pacem.it)
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
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @pacem/pacem-media v1.0.0-bessel (https://js.pacem.it)
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
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @pacem/pacem-media v1.0.0-bessel (https://js.pacem.it)
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
  */
package/dist/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @pacem/pacem-media v1.0.0-bessel (https://js.pacem.it)
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
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @pacem/pacem-media v1.0.0-bessel (https://js.pacem.it)
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-bessel",
28
+ "version": "1.0.0-dirac",
28
29
  "author": {
29
30
  "name": "Pacem",
30
31
  "url": "https://pacem.it"
@@ -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