speechrecorderng 2.24.2 → 2.25.2

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.
Files changed (64) hide show
  1. package/esm2020/lib/audio/audio_display.mjs +4 -4
  2. package/esm2020/lib/audio/audio_player.mjs +4 -4
  3. package/esm2020/lib/audio/capture/capture.mjs +1 -1
  4. package/esm2020/lib/audio/io/stream.mjs +41 -1
  5. package/esm2020/lib/audio/ui/audio_canvas_layer_comp.mjs +7 -7
  6. package/esm2020/lib/audio/ui/audio_display_control.mjs +4 -4
  7. package/esm2020/lib/audio/ui/audio_display_scroll_pane.mjs +4 -4
  8. package/esm2020/lib/audio/ui/audiosignal.mjs +4 -4
  9. package/esm2020/lib/audio/ui/container.mjs +4 -4
  10. package/esm2020/lib/audio/ui/livelevel.mjs +4 -4
  11. package/esm2020/lib/audio/ui/scroll_pane_horizontal.mjs +4 -4
  12. package/esm2020/lib/audio/ui/sonagram.mjs +4 -4
  13. package/esm2020/lib/io/stream.mjs +10 -1
  14. package/esm2020/lib/recorder_component.mjs +1 -1
  15. package/esm2020/lib/speechrecorder/project/project.mjs +1 -1
  16. package/esm2020/lib/speechrecorder/project/project.service.mjs +4 -4
  17. package/esm2020/lib/speechrecorder/recordings/recordings.service.mjs +4 -4
  18. package/esm2020/lib/speechrecorder/script/script.service.mjs +4 -4
  19. package/esm2020/lib/speechrecorder/session/audiorecorder.mjs +122 -110
  20. package/esm2020/lib/speechrecorder/session/basicrecorder.mjs +179 -14
  21. package/esm2020/lib/speechrecorder/session/controlpanel.mjs +46 -22
  22. package/esm2020/lib/speechrecorder/session/progress.mjs +4 -4
  23. package/esm2020/lib/speechrecorder/session/prompting.mjs +16 -16
  24. package/esm2020/lib/speechrecorder/session/recorder_combi_pane.mjs +4 -4
  25. package/esm2020/lib/speechrecorder/session/recording_list.mjs +4 -4
  26. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-meta.component.mjs +4 -4
  27. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-navi.component.mjs +4 -4
  28. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.mjs +4 -4
  29. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-view.component.mjs +4 -4
  30. package/esm2020/lib/speechrecorder/session/recordingfile/recordingfile-service.mjs +4 -4
  31. package/esm2020/lib/speechrecorder/session/session.service.mjs +4 -4
  32. package/esm2020/lib/speechrecorder/session/session_finished_dialog.mjs +4 -4
  33. package/esm2020/lib/speechrecorder/session/sessionmanager.mjs +94 -61
  34. package/esm2020/lib/speechrecorder/session/warning_bar.mjs +4 -4
  35. package/esm2020/lib/speechrecorder/spruploader.mjs +4 -4
  36. package/esm2020/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.mjs +4 -4
  37. package/esm2020/lib/speechrecorderng.component.mjs +18 -5
  38. package/esm2020/lib/speechrecorderng.module.mjs +8 -8
  39. package/esm2020/lib/spr.config.mjs +4 -4
  40. package/esm2020/lib/spr.module.version.mjs +2 -2
  41. package/esm2020/lib/ui/canvas_layer_comp.mjs +4 -4
  42. package/esm2020/lib/ui/message_dialog.mjs +4 -4
  43. package/esm2020/lib/ui/recordingitem_display.mjs +7 -7
  44. package/esm2020/lib/utils/scrollIntoViewToBottom.mjs +4 -4
  45. package/esm2020/lib/utils/wake_lock.mjs +114 -0
  46. package/esm2020/lib/utils/wake_lock_media.mjs +2 -0
  47. package/fesm2015/speechrecorderng.mjs +811 -404
  48. package/fesm2015/speechrecorderng.mjs.map +1 -1
  49. package/fesm2020/speechrecorderng.mjs +805 -404
  50. package/fesm2020/speechrecorderng.mjs.map +1 -1
  51. package/lib/audio/io/stream.d.ts +13 -0
  52. package/lib/io/stream.d.ts +3 -0
  53. package/lib/recorder_component.d.ts +1 -0
  54. package/lib/speechrecorder/project/project.d.ts +1 -0
  55. package/lib/speechrecorder/session/audiorecorder.d.ts +11 -11
  56. package/lib/speechrecorder/session/basicrecorder.d.ts +44 -4
  57. package/lib/speechrecorder/session/controlpanel.d.ts +7 -0
  58. package/lib/speechrecorder/session/sessionmanager.d.ts +13 -10
  59. package/lib/speechrecorderng.component.d.ts +1 -0
  60. package/lib/speechrecorderng.module.d.ts +1 -1
  61. package/lib/spr.module.version.d.ts +1 -1
  62. package/lib/utils/wake_lock.d.ts +23 -0
  63. package/lib/utils/wake_lock_media.d.ts +1 -0
  64. package/package.json +1 -1
@@ -13,3 +13,16 @@ export declare class SequenceAudioFloat32ChunkerOutStream extends Float32ArrayCh
13
13
  setFormat(channels: number, sampleRate: number): void;
14
14
  nextStream(): void;
15
15
  }
16
+ /**
17
+ * Streams a SequenceAudioFloat32OutStream to multiple streams
18
+ */
19
+ export declare class SequenceAudioFloat32OutStreamMultiplier implements SequenceAudioFloat32OutStream {
20
+ private _sequenceAudioFloat32OutStreams;
21
+ constructor();
22
+ get sequenceAudioFloat32OutStreams(): Array<SequenceAudioFloat32OutStream>;
23
+ setFormat(channels: number, sampleRate: number): void;
24
+ nextStream(): void;
25
+ close(): void;
26
+ flush(): void;
27
+ write(buffers: Array<Float32Array>): number;
28
+ }
@@ -14,7 +14,10 @@ export declare class Float32ArrayChunkerOutStream implements Float32ArrayOutStre
14
14
  constructor(outStream: Float32ArrayOutStream);
15
15
  private createBuffers;
16
16
  set chunkSize(chunkSize: number);
17
+ get chunkSize(): number;
17
18
  set channels(channels: number);
19
+ get channels(): number;
20
+ available(): number;
18
21
  write(buffers: Array<Float32Array>): number;
19
22
  flush(): void;
20
23
  close(): void;
@@ -7,4 +7,5 @@ export declare abstract class RecorderComponent implements ReadyStateProvider {
7
7
  dataSaved: boolean;
8
8
  constructor(uploader: SpeechRecorderUploader);
9
9
  abstract ready(): boolean;
10
+ abstract get screenLocked(): boolean;
10
11
  }
@@ -40,6 +40,7 @@ export interface Project {
40
40
  mediaCaptureFormat?: MediaCaptureFormat;
41
41
  autoGainControlConfigs?: Array<AutoGainControlConfig>;
42
42
  audioDevices?: Array<AudioDevice>;
43
+ chunkedRecording?: boolean;
43
44
  }
44
45
  export declare class ProjectUtil {
45
46
  static readonly DEFAULT_AUDIO_CHANNEL_COUNT = 2;
@@ -21,9 +21,10 @@ import * as i0 from "@angular/core";
21
21
  export declare const enum Status {
22
22
  BLOCKED = 0,
23
23
  IDLE = 1,
24
- RECORDING = 2,
25
- STOPPING_STOP = 3,
26
- ERROR = 4
24
+ STARTING = 2,
25
+ RECORDING = 3,
26
+ STOPPING_STOP = 4,
27
+ ERROR = 5
27
28
  }
28
29
  export declare class Item {
29
30
  promptAsString: string;
@@ -36,10 +37,9 @@ export declare class AudioRecorder extends BasicRecorder implements OnInit, Afte
36
37
  private renderer;
37
38
  private route;
38
39
  dialog: MatDialog;
39
- private projectService;
40
40
  protected sessionService: SessionService;
41
41
  private recFileService;
42
- private uploader;
42
+ protected uploader: SpeechRecorderUploader;
43
43
  config?: SpeechRecorderConfig | undefined;
44
44
  _project: Project | undefined | null;
45
45
  projectName: string | undefined | null;
@@ -49,7 +49,6 @@ export declare class AudioRecorder extends BasicRecorder implements OnInit, Afte
49
49
  recorderCombiPane: RecorderCombiPane;
50
50
  liveLevelDisplay: LevelBar;
51
51
  dataSaved: boolean;
52
- private startedDate;
53
52
  private maxRecTimerId;
54
53
  private maxRecTimerRunning;
55
54
  private updateTimerId;
@@ -59,7 +58,7 @@ export declare class AudioRecorder extends BasicRecorder implements OnInit, Afte
59
58
  private _promptIndex;
60
59
  private _displayRecFile;
61
60
  private displayRecFileVersion;
62
- constructor(changeDetectorRef: ChangeDetectorRef, renderer: Renderer2, route: ActivatedRoute, dialog: MatDialog, projectService: ProjectService, sessionService: SessionService, recFileService: RecordingService, uploader: SpeechRecorderUploader, config?: SpeechRecorderConfig | undefined);
61
+ constructor(changeDetectorRef: ChangeDetectorRef, renderer: Renderer2, route: ActivatedRoute, dialog: MatDialog, sessionService: SessionService, recFileService: RecordingService, uploader: SpeechRecorderUploader, config?: SpeechRecorderConfig | undefined);
63
62
  ngAfterViewInit(): void;
64
63
  ready(): boolean;
65
64
  ngOnDestroy(): void;
@@ -92,6 +91,7 @@ export declare class AudioRecorder extends BasicRecorder implements OnInit, Afte
92
91
  start(): void;
93
92
  isRecording(): boolean;
94
93
  isActive(): boolean;
94
+ updateWakeLock(dataSaved?: boolean): void;
95
95
  private updateNavigationActions;
96
96
  enableStartUserGesture(): void;
97
97
  enableNavigation(): void;
@@ -101,13 +101,13 @@ export declare class AudioRecorder extends BasicRecorder implements OnInit, Afte
101
101
  stopRecording(): void;
102
102
  stopRecordingMaxRec(): void;
103
103
  stopped(): void;
104
- postRecording(wavFile: Uint8Array, recUrl: string): void;
105
104
  postRecordingMultipart(wavFile: Uint8Array, uuid: string | null, sessionId: string | number | null, startedDate: Date | null | undefined, recUrl: string): void;
105
+ postChunkAudioBuffer(audioBuffer: AudioBuffer, chunkIdx: number): void;
106
106
  stop(): void;
107
107
  private updateControlPlaybackPosition;
108
108
  audioPlayerUpdate(e: AudioPlayerEvent): void;
109
109
  static ɵfac: i0.ɵɵFactoryDeclaration<AudioRecorder, never>;
110
- static ɵcmp: i0.ɵɵComponentDeclaration<AudioRecorder, "app-audiorecorder", never, { "_project": "_project"; "projectName": "projectName"; "dataSaved": "dataSaved"; }, {}, never, never>;
110
+ static ɵcmp: i0.ɵɵComponentDeclaration<AudioRecorder, "app-audiorecorder", never, { "projectName": "projectName"; "dataSaved": "dataSaved"; }, {}, never, never>;
111
111
  }
112
112
  export declare class AudioRecorderComponent extends RecorderComponent implements OnInit, OnDestroy, AfterViewInit, ReadyStateProvider {
113
113
  protected injector: Injector;
@@ -116,7 +116,6 @@ export declare class AudioRecorderComponent extends RecorderComponent implements
116
116
  private changeDetectorRef;
117
117
  private sessionService;
118
118
  private projectService;
119
- private recFilesService;
120
119
  protected uploader: SpeechRecorderUploader;
121
120
  mode: Mode;
122
121
  controlAudioPlayer: AudioPlayer;
@@ -125,10 +124,11 @@ export declare class AudioRecorderComponent extends RecorderComponent implements
125
124
  sessionId: string;
126
125
  session: Session;
127
126
  ar: AudioRecorder;
128
- constructor(injector: Injector, route: ActivatedRoute, router: Router, changeDetectorRef: ChangeDetectorRef, sessionService: SessionService, projectService: ProjectService, recFilesService: RecordingService, uploader: SpeechRecorderUploader);
127
+ constructor(injector: Injector, route: ActivatedRoute, router: Router, changeDetectorRef: ChangeDetectorRef, sessionService: SessionService, projectService: ProjectService, uploader: SpeechRecorderUploader);
129
128
  ngOnInit(): void;
130
129
  ngAfterViewInit(): void;
131
130
  ngOnDestroy(): void;
131
+ get screenLocked(): boolean;
132
132
  fetchSession(sessionId: string): void;
133
133
  uploadUpdate(ue: UploaderStatusChangeEvent): void;
134
134
  ready(): boolean;
@@ -10,19 +10,48 @@ import { AudioPlayer } from "../../audio/playback/player";
10
10
  import { Subscription } from "rxjs";
11
11
  import { AudioClip } from "../../audio/persistor";
12
12
  import { Action } from "../../action/action";
13
- import NoSleep from "nosleep.js";
13
+ import { SpeechRecorderConfig } from "../../spr.config";
14
+ import { SpeechRecorderUploader } from "../spruploader";
15
+ import { SequenceAudioFloat32OutStream } from "../../audio/io/stream";
16
+ import { SprRecordingFile } from "../recording";
14
17
  export declare const FORCE_REQUEST_AUDIO_PERMISSIONS = false;
15
18
  export declare const RECFILE_API_CTX = "recfile";
16
19
  export declare const MAX_RECORDING_TIME_MS: number;
17
20
  export declare const LEVEL_BAR_INTERVALL_SECONDS = 0.1;
18
- export declare class BasicRecorder {
21
+ export declare const NOSLEEP_VIDEO_TITLE = "No Sleep";
22
+ export interface ChunkAudioBufferReceiver {
23
+ postAudioStreamStart(): void;
24
+ postChunkAudioBuffer(audioBuffer: AudioBuffer, chunkIdx: number): void;
25
+ postAudioStreamEnd(chunkCount: number): void;
26
+ }
27
+ export declare class ChunkManager implements SequenceAudioFloat32OutStream {
28
+ private chunkAudioBufferReceiver;
29
+ set recordingFile(value: SprRecordingFile);
30
+ private channels;
31
+ private sampleRate;
32
+ private _rf;
33
+ private chunkIdx;
34
+ constructor(chunkAudioBufferReceiver: ChunkAudioBufferReceiver);
35
+ close(): void;
36
+ flush(): void;
37
+ nextStream(): void;
38
+ setFormat(channels: number, sampleRate: number): void;
39
+ write(buffers: Array<Float32Array>): number;
40
+ }
41
+ export declare abstract class BasicRecorder {
19
42
  dialog: MatDialog;
20
43
  protected sessionService: SessionService;
44
+ protected uploader: SpeechRecorderUploader;
45
+ config?: SpeechRecorderConfig | undefined;
46
+ get uploadChunkSizeSeconds(): number | null;
47
+ set uploadChunkSizeSeconds(value: number | null);
48
+ static readonly DEFAULT_CHUNK_SIZE_SECONDS = 30;
21
49
  protected userAgent: UserAgent;
22
50
  statusMsg: string;
23
51
  statusAlertType: string;
24
52
  statusWaiting: boolean;
25
53
  readonly: boolean;
54
+ protected rfUuid: string | null;
26
55
  processingRecording: boolean;
27
56
  ac: AudioCapture | null;
28
57
  protected _wakeLock: boolean;
@@ -34,6 +63,7 @@ export declare class BasicRecorder {
34
63
  _session: Session | null;
35
64
  transportActions: TransportActions;
36
65
  playStartAction: Action<void>;
66
+ protected startedDate: Date | null;
37
67
  uploadProgress: number;
38
68
  uploadStatus: string;
39
69
  audioSignalCollapsed: boolean;
@@ -46,19 +76,29 @@ export declare class BasicRecorder {
46
76
  protected audioFetchSubscription: Subscription | null;
47
77
  protected destroyed: boolean;
48
78
  protected navigationDisabled: boolean;
49
- protected noSleep: NoSleep | null;
50
- constructor(dialog: MatDialog, sessionService: SessionService);
79
+ private _uploadChunkSizeSeconds;
80
+ protected _screenLocked: boolean;
81
+ private wakeLockManager?;
82
+ constructor(dialog: MatDialog, sessionService: SessionService, uploader: SpeechRecorderUploader, config?: SpeechRecorderConfig | undefined);
51
83
  get wakeLock(): boolean;
52
84
  set wakeLock(value: boolean);
53
85
  enableWakeLockCond(): void;
54
86
  disableWakeLockCond(): void;
87
+ get screenLocked(): boolean;
55
88
  set audioDevices(audioDevices: Array<AudioDevice> | null | undefined);
56
89
  set autoGainControlConfigs(autoGainControlConfigs: Array<AutoGainControlConfig> | null | undefined);
57
90
  set channelCount(channelCount: number);
58
91
  set session(session: Session | null);
59
92
  get session(): Session | null;
60
93
  enableStartUserGesture(): void;
94
+ configureStreamCaptureStream(): void;
61
95
  start(): void;
96
+ startItem(): void;
97
+ started(): void;
98
+ postRecording(wavFile: Uint8Array, recUrl: string): void;
99
+ postAudioStreamStart(): void;
100
+ abstract postChunkAudioBuffer(audioBuffer: AudioBuffer, chunkIdx: number): void;
101
+ postAudioStreamEnd(chunkCount: number): void;
62
102
  closed(): void;
63
103
  error(msg?: string, advice?: string): void;
64
104
  }
@@ -60,6 +60,13 @@ export declare class TransportPanel {
60
60
  static ɵfac: i0.ɵɵFactoryDeclaration<TransportPanel, never>;
61
61
  static ɵcmp: i0.ɵɵComponentDeclaration<TransportPanel, "app-sprtransport", never, { "readonly": "readonly"; "actions": "actions"; "navigationEnabled": "navigationEnabled"; "pausingEnabled": "pausingEnabled"; }, {}, never, never>;
62
62
  }
63
+ export declare class WakeLockIndicator {
64
+ _screenLocked: boolean;
65
+ constructor();
66
+ set screenLocked(screenLock: boolean);
67
+ static ɵfac: i0.ɵɵFactoryDeclaration<WakeLockIndicator, never>;
68
+ static ɵcmp: i0.ɵɵComponentDeclaration<WakeLockIndicator, "app-wakelockindicator", never, { "screenLocked": "screenLocked"; }, {}, never, never>;
69
+ }
63
70
  export declare class ReadyStateIndicator {
64
71
  _ready: boolean;
65
72
  hourGlassIconName: string;
@@ -12,26 +12,27 @@ import { Prompting } from "./prompting";
12
12
  import { RecordingService } from "../recordings/recordings.service";
13
13
  import { Item } from "./item";
14
14
  import { LevelBar } from "../../audio/ui/livelevel";
15
- import { BasicRecorder } from "./basicrecorder";
15
+ import { BasicRecorder, ChunkAudioBufferReceiver } from "./basicrecorder";
16
16
  import * as i0 from "@angular/core";
17
17
  export declare const enum Status {
18
18
  BLOCKED = 0,
19
19
  IDLE = 1,
20
- PRE_RECORDING = 2,
21
- RECORDING = 3,
22
- POST_REC_STOP = 4,
23
- POST_REC_PAUSE = 5,
24
- STOPPING_STOP = 6,
25
- STOPPING_PAUSE = 7,
26
- ERROR = 8
20
+ STARTING = 2,
21
+ PRE_RECORDING = 3,
22
+ RECORDING = 4,
23
+ POST_REC_STOP = 5,
24
+ POST_REC_PAUSE = 6,
25
+ STOPPING_STOP = 7,
26
+ STOPPING_PAUSE = 8,
27
+ ERROR = 9
27
28
  }
28
- export declare class SessionManager extends BasicRecorder implements AfterViewInit, OnDestroy, AudioCaptureListener {
29
+ export declare class SessionManager extends BasicRecorder implements AfterViewInit, OnDestroy, AudioCaptureListener, ChunkAudioBufferReceiver {
29
30
  private changeDetectorRef;
30
31
  private renderer;
31
32
  dialog: MatDialog;
32
33
  protected sessionService: SessionService;
33
34
  private recFileService;
34
- private uploader;
35
+ protected uploader: SpeechRecorderUploader;
35
36
  config?: SpeechRecorderConfig | undefined;
36
37
  projectName: string | undefined;
37
38
  enableUploadRecordings: boolean;
@@ -71,6 +72,7 @@ export declare class SessionManager extends BasicRecorder implements AfterViewIn
71
72
  private init;
72
73
  onKeyPress(ke: KeyboardEvent): void;
73
74
  onKeyDown(ke: KeyboardEvent): void;
75
+ updateWakeLock(dataSaved?: boolean): void;
74
76
  progressPercentValue(): number;
75
77
  isTestSession(): boolean;
76
78
  isDefaultAudioTestSession(): boolean;
@@ -112,6 +114,7 @@ export declare class SessionManager extends BasicRecorder implements AfterViewIn
112
114
  addRecordingFileByDescriptor(rfd: RecordingFileDescriptorImpl): void;
113
115
  addRecordingFileByPromptIndex(promptIndex: number, rf: SprRecordingFile): void;
114
116
  stopped(): void;
117
+ postChunkAudioBuffer(audioBuffer: AudioBuffer, chunkIdx: number): void;
115
118
  postRecording(wavFile: Uint8Array, recUrl: string): void;
116
119
  stop(): void;
117
120
  private updateControlPlaybackPosition;
@@ -40,6 +40,7 @@ export declare class SpeechrecorderngComponent extends RecorderComponent impleme
40
40
  fetchSession(sessionId: string): void;
41
41
  fetchScript(sess: Session): void;
42
42
  fetchRecordings(sess: Session, script: Script): void;
43
+ get screenLocked(): boolean;
43
44
  private startSession;
44
45
  setSession(session: any): void;
45
46
  ready(): boolean;
@@ -51,6 +51,6 @@ export declare const SPR_ROUTES: Routes;
51
51
  export declare class SpeechrecorderngModule {
52
52
  static forRoot(config: SpeechRecorderConfig): ModuleWithProviders<SpeechrecorderngModule>;
53
53
  static ɵfac: i0.ɵɵFactoryDeclaration<SpeechrecorderngModule, never>;
54
- static ɵmod: i0.ɵɵNgModuleDeclaration<SpeechrecorderngModule, [typeof i1.AudioSignal, typeof i2.Sonagram, typeof i3.ScrollPaneHorizontal, typeof i4.AudioClipUIContainer, typeof i5.AudioDisplayScrollPane, typeof i6.AudioDisplay, typeof i7.AudioDisplayPlayer, typeof i8.AudioDisplayControl, typeof i9.LevelBar, typeof i10.Progress, typeof i11.SimpleTrafficLight, typeof i12.Recinstructions, typeof i12.Prompter, typeof i12.PromptContainer, typeof i12.PromptingContainer, typeof i12.Prompting, typeof i13.StatusDisplay, typeof i13.ProgressDisplay, typeof i14.RecordingItemDisplay, typeof i14.RecordingItemControls, typeof i13.UploadStatus, typeof i13.TransportPanel, typeof i13.ReadyStateIndicator, typeof i13.ControlPanel, typeof i15.WarningBar, typeof i16.AudioRecorder, typeof i17.SessionManager, typeof i18.MessageDialog, typeof i19.SessionFinishedDialog, typeof i20.SpeechrecorderngComponent, typeof i16.AudioRecorderComponent, typeof i21.RecordingFileViewComponent, typeof i22.RecordingFileUI, typeof i23.ScrollIntoViewDirective, typeof i24.RecordingFileNaviComponent, typeof i25.RecordingFileMetaComponent, typeof i26.RecordingList, typeof i27.RecorderCombiPane, typeof i16.AudioRecorder], [typeof i28.RouterModule, typeof i29.FlexLayoutModule, typeof i30.CommonModule, typeof i31.MatIconModule, typeof i32.MatButtonModule, typeof i33.MatDialogModule, typeof i34.MatProgressBarModule, typeof i35.MatProgressSpinnerModule, typeof i36.MatTooltipModule, typeof i37.HttpClientModule, typeof i38.MatCheckboxModule, typeof i39.MatCardModule, typeof i40.MatDividerModule, typeof i41.MatGridListModule, typeof i42.MatTableModule, typeof i43.MatInputModule, typeof i44.MatSelectModule, typeof i45.MatSnackBarModule], [typeof i18.MessageDialog, typeof i20.SpeechrecorderngComponent, typeof i3.ScrollPaneHorizontal, typeof i4.AudioClipUIContainer, typeof i5.AudioDisplayScrollPane, typeof i6.AudioDisplay, typeof i7.AudioDisplayPlayer, typeof i8.AudioDisplayControl, typeof i9.LevelBar, typeof i16.AudioRecorder]>;
54
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SpeechrecorderngModule, [typeof i1.AudioSignal, typeof i2.Sonagram, typeof i3.ScrollPaneHorizontal, typeof i4.AudioClipUIContainer, typeof i5.AudioDisplayScrollPane, typeof i6.AudioDisplay, typeof i7.AudioDisplayPlayer, typeof i8.AudioDisplayControl, typeof i9.LevelBar, typeof i10.Progress, typeof i11.SimpleTrafficLight, typeof i12.Recinstructions, typeof i12.Prompter, typeof i12.PromptContainer, typeof i12.PromptingContainer, typeof i12.Prompting, typeof i13.StatusDisplay, typeof i13.ProgressDisplay, typeof i14.RecordingItemDisplay, typeof i14.RecordingItemControls, typeof i13.UploadStatus, typeof i13.TransportPanel, typeof i13.WakeLockIndicator, typeof i13.ReadyStateIndicator, typeof i13.ControlPanel, typeof i15.WarningBar, typeof i16.AudioRecorder, typeof i17.SessionManager, typeof i18.MessageDialog, typeof i19.SessionFinishedDialog, typeof i20.SpeechrecorderngComponent, typeof i16.AudioRecorderComponent, typeof i21.RecordingFileViewComponent, typeof i22.RecordingFileUI, typeof i23.ScrollIntoViewDirective, typeof i24.RecordingFileNaviComponent, typeof i25.RecordingFileMetaComponent, typeof i26.RecordingList, typeof i27.RecorderCombiPane, typeof i16.AudioRecorder], [typeof i28.RouterModule, typeof i29.FlexLayoutModule, typeof i30.CommonModule, typeof i31.MatIconModule, typeof i32.MatButtonModule, typeof i33.MatDialogModule, typeof i34.MatProgressBarModule, typeof i35.MatProgressSpinnerModule, typeof i36.MatTooltipModule, typeof i37.HttpClientModule, typeof i38.MatCheckboxModule, typeof i39.MatCardModule, typeof i40.MatDividerModule, typeof i41.MatGridListModule, typeof i42.MatTableModule, typeof i43.MatInputModule, typeof i44.MatSelectModule, typeof i45.MatSnackBarModule], [typeof i18.MessageDialog, typeof i20.SpeechrecorderngComponent, typeof i3.ScrollPaneHorizontal, typeof i4.AudioClipUIContainer, typeof i5.AudioDisplayScrollPane, typeof i6.AudioDisplay, typeof i7.AudioDisplayPlayer, typeof i8.AudioDisplayControl, typeof i9.LevelBar, typeof i16.AudioRecorder]>;
55
55
  static ɵinj: i0.ɵɵInjectorDeclaration<SpeechrecorderngModule>;
56
56
  }
@@ -1 +1 @@
1
- export declare const VERSION = "2.24.2";
1
+ export declare const VERSION = "2.25.2";
@@ -0,0 +1,23 @@
1
+ import { BehaviorSubject } from "rxjs";
2
+ /**
3
+ * Utility to prevent devices from screen lock.
4
+ * If supported uses the HTML5 wake lock API, if not, plays an invisible video.
5
+ *
6
+ * Note: I've used the GitHub project richtr/nosleep.js for that. The worked in most cases, but failed sometimes on an
7
+ * Android smartphone.
8
+ */
9
+ export declare class WakeLockManager {
10
+ get behaviorSubject(): BehaviorSubject<boolean>;
11
+ private wakeLockSentinel;
12
+ private mp4VideoElement?;
13
+ private wakeLockApiSupported;
14
+ private wakeLockRetryCount;
15
+ private userAgent?;
16
+ private randomSeekRequired;
17
+ private _behaviorSubject;
18
+ private readonly VIDEO_LENGTH;
19
+ constructor();
20
+ enableWakeLock(): void;
21
+ private startWakeLockVideo;
22
+ disableWakeLock(): void;
23
+ }
@@ -0,0 +1 @@
1
+ export declare const WAKE_LOCK_VIDEO_MP4_URI = "data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAAG31tZGF0AAACrgYF//+q3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE1NSByMjkxNyAwYTg0ZDk4IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxOCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MzoweDExMyBtZT1oZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MSBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTIgbG9va2FoZWFkX3RocmVhZHM9MSBzbGljZWRfdGhyZWFkcz0wIG5yPTAgZGVjaW1hdGU9MSBpbnRlcmxhY2VkPTAgYmx1cmF5X2NvbXBhdD0wIGNvbnN0cmFpbmVkX2ludHJhPTAgYmZyYW1lcz0zIGJfcHlyYW1pZD0yIGJfYWRhcHQ9MSBiX2JpYXM9MCBkaXJlY3Q9MSB3ZWlnaHRiPTEgb3Blbl9nb3A9MCB3ZWlnaHRwPTIga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAJ2WIhAA7//73Tr8Cm1TCKgOSVwr2yqQmr/tBF6luwQMZUeHtiyA0IQAAAAtBmiRsQ7/+qZYe8N4CAExhdmM1OC41NC4xMDAAQiAIwRg4AAAACEGeQniF/wMzIRAEYIwcIRAEYIwcAAAACAGeYXRCvwQkIRAEYIwcIRAEYIwcAAAACAGeY2pCvwQlIRAEYIwcIRAEYIwcAAAAEUGaaEmo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AAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAKAAAAAAEAAAQAAAAAAQAAAAAAAAABAAACAAAAAAEAAAoAAAAAAQAABAAAAAABAAAAAAAAAAEAAAIAAAAAAQAACgAAAAABAAAEAAAAAAEAAAAAAAAAAQAAAgAAAAABAAAEAAAAAChzdHNjAAAAAAAAAAIAAAABAAAAAgAAAAEAAAACAAAAAQAAAAEAAAP8c3RzegAAAAAAAAAAAAAA+gAAAt0AAAAPAAAADAAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABUAAAAOAAAADAAAAAwAAAAVAAAADgAAAAwAAAAMAAAAFQAAAA4AAAAMAAAADAAAABQAAAP0c3RjbwAAAAAAAAD5AAAAMAAAAzMA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AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAXAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA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";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "speechrecorderng",
3
- "version": "2.24.2",
3
+ "version": "2.25.2",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "~13.3.2",
6
6
  "@angular/cdk": "~13.3.2",