speechrecorderng 3.0.0 → 3.3.0

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 (142) hide show
  1. package/esm2020/lib/action/action.mjs +2 -1
  2. package/esm2020/lib/audio/array_audio_buffer.mjs +65 -2
  3. package/esm2020/lib/audio/array_audio_buffer_input_stream.mjs +2 -2
  4. package/esm2020/lib/audio/array_audio_buffer_random_access_stream.mjs +16 -0
  5. package/esm2020/lib/audio/audio_data_holder.mjs +203 -48
  6. package/esm2020/lib/audio/audio_display.mjs +10 -34
  7. package/esm2020/lib/audio/audio_player.mjs +18 -45
  8. package/esm2020/lib/audio/capture/capture.mjs +293 -69
  9. package/esm2020/lib/audio/dsp/level_measure.mjs +211 -88
  10. package/esm2020/lib/audio/impl/wavformat.mjs +1 -1
  11. package/esm2020/lib/audio/impl/wavreader.mjs +134 -0
  12. package/esm2020/lib/audio/impl/wavwriter.mjs +10 -9
  13. package/esm2020/lib/audio/inddb_audio_buffer.mjs +508 -0
  14. package/esm2020/lib/audio/net_audio_buffer.mjs +297 -0
  15. package/esm2020/lib/audio/persistor.mjs +8 -2
  16. package/esm2020/lib/audio/playback/array_audio_buffer_source_node.mjs +15 -154
  17. package/esm2020/lib/audio/playback/audio_source_node.mjs +18 -0
  18. package/esm2020/lib/audio/playback/audio_source_worklet_module_loader.mjs +167 -0
  19. package/esm2020/lib/audio/playback/inddb_audio_buffer_source_node.mjs +167 -0
  20. package/esm2020/lib/audio/playback/net_audio_buffer_source_node.mjs +218 -0
  21. package/esm2020/lib/audio/playback/player.mjs +190 -171
  22. package/esm2020/lib/audio/ui/audio_canvas_layer_comp.mjs +35 -76
  23. package/esm2020/lib/audio/ui/audio_display_control.mjs +12 -24
  24. package/esm2020/lib/audio/ui/audio_display_scroll_pane.mjs +14 -45
  25. package/esm2020/lib/audio/ui/audiosignal.mjs +333 -267
  26. package/esm2020/lib/audio/ui/container.mjs +40 -57
  27. package/esm2020/lib/audio/ui/livelevel.mjs +53 -52
  28. package/esm2020/lib/audio/ui/scroll_pane_horizontal.mjs +5 -19
  29. package/esm2020/lib/audio/ui/sonagram.mjs +386 -339
  30. package/esm2020/lib/db/inddb.mjs +120 -0
  31. package/esm2020/lib/io/BinaryReader.mjs +85 -0
  32. package/esm2020/lib/io/stream.mjs +101 -1
  33. package/esm2020/lib/net/uploader.mjs +111 -5
  34. package/esm2020/lib/recorder_component.mjs +59 -1
  35. package/esm2020/lib/speechrecorder/project/project.mjs +10 -1
  36. package/esm2020/lib/speechrecorder/project/project.service.mjs +3 -3
  37. package/esm2020/lib/speechrecorder/recording.mjs +30 -6
  38. package/esm2020/lib/speechrecorder/recordings/basic_recording.service.mjs +213 -0
  39. package/esm2020/lib/speechrecorder/recordings/recordings.service.mjs +732 -65
  40. package/esm2020/lib/speechrecorder/script/script.service.mjs +3 -3
  41. package/esm2020/lib/speechrecorder/session/audiorecorder.mjs +358 -184
  42. package/esm2020/lib/speechrecorder/session/basicrecorder.mjs +181 -28
  43. package/esm2020/lib/speechrecorder/session/controlpanel.mjs +47 -129
  44. package/esm2020/lib/speechrecorder/session/item.mjs +13 -1
  45. package/esm2020/lib/speechrecorder/session/progress.mjs +26 -55
  46. package/esm2020/lib/speechrecorder/session/prompting.mjs +33 -176
  47. package/esm2020/lib/speechrecorder/session/recorder_combi_pane.mjs +6 -6
  48. package/esm2020/lib/speechrecorder/session/recording_file_cache.mjs +28 -15
  49. package/esm2020/lib/speechrecorder/session/recording_list.mjs +92 -55
  50. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-meta.component.mjs +9 -13
  51. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-navi.component.mjs +9 -18
  52. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.mjs +10 -36
  53. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-view.component.mjs +10 -37
  54. package/esm2020/lib/speechrecorder/session/recordingfile/recordingfile-service.mjs +80 -56
  55. package/esm2020/lib/speechrecorder/session/session.service.mjs +3 -3
  56. package/esm2020/lib/speechrecorder/session/session_finished_dialog.mjs +4 -4
  57. package/esm2020/lib/speechrecorder/session/sessionmanager.mjs +409 -165
  58. package/esm2020/lib/speechrecorder/session/warning_bar.mjs +6 -29
  59. package/esm2020/lib/speechrecorder/spruploader.mjs +3 -3
  60. package/esm2020/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.mjs +6 -41
  61. package/esm2020/lib/speechrecorderng.component.mjs +42 -31
  62. package/esm2020/lib/speechrecorderng.module.mjs +5 -5
  63. package/esm2020/lib/spr.config.mjs +3 -3
  64. package/esm2020/lib/spr.module.version.mjs +2 -2
  65. package/esm2020/lib/ui/canvas_layer_comp.mjs +3 -3
  66. package/esm2020/lib/ui/message_dialog.mjs +7 -7
  67. package/esm2020/lib/ui/recordingitem_display.mjs +26 -59
  68. package/esm2020/lib/utils/scrollIntoViewToBottom.mjs +3 -3
  69. package/esm2020/lib/utils/ua-parser.mjs +28 -4
  70. package/esm2020/lib/utils/utils.mjs +29 -1
  71. package/fesm2015/speechrecorderng.mjs +12755 -9195
  72. package/fesm2015/speechrecorderng.mjs.map +1 -1
  73. package/fesm2020/speechrecorderng.mjs +12652 -9101
  74. package/fesm2020/speechrecorderng.mjs.map +1 -1
  75. package/{speechrecorderng.d.ts → index.d.ts} +0 -0
  76. package/lib/audio/array_audio_buffer.d.ts +17 -1
  77. package/lib/audio/array_audio_buffer_random_access_stream.d.ts +9 -0
  78. package/lib/audio/audio_data_holder.d.ts +69 -14
  79. package/lib/audio/audio_display.d.ts +1 -1
  80. package/lib/audio/audio_player.d.ts +3 -7
  81. package/lib/audio/capture/capture.d.ts +24 -4
  82. package/lib/audio/dsp/level_measure.d.ts +2 -23
  83. package/lib/audio/impl/wavformat.d.ts +3 -3
  84. package/lib/audio/impl/wavreader.d.ts +16 -0
  85. package/lib/audio/impl/wavwriter.d.ts +1 -4
  86. package/lib/audio/inddb_audio_buffer.d.ts +68 -0
  87. package/lib/audio/net_audio_buffer.d.ts +59 -0
  88. package/lib/audio/persistor.d.ts +3 -9
  89. package/lib/audio/playback/array_audio_buffer_source_node.d.ts +2 -8
  90. package/lib/audio/playback/audio_source_node.d.ts +10 -0
  91. package/lib/audio/playback/audio_source_worklet_module_loader.d.ts +4 -0
  92. package/lib/audio/playback/inddb_audio_buffer_source_node.d.ts +21 -0
  93. package/lib/audio/playback/net_audio_buffer_source_node.d.ts +27 -0
  94. package/lib/audio/playback/player.d.ts +19 -16
  95. package/lib/audio/ui/audio_canvas_layer_comp.d.ts +3 -3
  96. package/lib/audio/ui/audio_display_control.d.ts +3 -6
  97. package/lib/audio/ui/audio_display_scroll_pane.d.ts +1 -1
  98. package/lib/audio/ui/audiosignal.d.ts +4 -3
  99. package/lib/audio/ui/container.d.ts +1 -1
  100. package/lib/audio/ui/livelevel.d.ts +11 -4
  101. package/lib/audio/ui/scroll_pane_horizontal.d.ts +1 -1
  102. package/lib/audio/ui/sonagram.d.ts +4 -3
  103. package/lib/db/inddb.d.ts +21 -0
  104. package/lib/io/BinaryReader.d.ts +18 -0
  105. package/lib/io/stream.d.ts +18 -0
  106. package/lib/net/uploader.d.ts +20 -2
  107. package/lib/recorder_component.d.ts +5 -0
  108. package/lib/speechrecorder/project/project.d.ts +9 -0
  109. package/lib/speechrecorder/recording.d.ts +8 -2
  110. package/lib/speechrecorder/recordings/basic_recording.service.d.ts +27 -0
  111. package/lib/speechrecorder/recordings/recordings.service.d.ts +21 -6
  112. package/lib/speechrecorder/session/audiorecorder.d.ts +7 -18
  113. package/lib/speechrecorder/session/basicrecorder.d.ts +28 -4
  114. package/lib/speechrecorder/session/controlpanel.d.ts +7 -7
  115. package/lib/speechrecorder/session/item.d.ts +1 -0
  116. package/lib/speechrecorder/session/progress.d.ts +2 -1
  117. package/lib/speechrecorder/session/prompting.d.ts +5 -5
  118. package/lib/speechrecorder/session/recorder_combi_pane.d.ts +1 -1
  119. package/lib/speechrecorder/session/recording_file_cache.d.ts +7 -4
  120. package/lib/speechrecorder/session/recording_list.d.ts +2 -1
  121. package/lib/speechrecorder/session/recordingfile/recording-file-meta.component.d.ts +1 -1
  122. package/lib/speechrecorder/session/recordingfile/recording-file-navi.component.d.ts +1 -1
  123. package/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.d.ts +1 -1
  124. package/lib/speechrecorder/session/recordingfile/recording-file-view.component.d.ts +1 -1
  125. package/lib/speechrecorder/session/recordingfile/recordingfile-service.d.ts +4 -5
  126. package/lib/speechrecorder/session/session_finished_dialog.d.ts +1 -1
  127. package/lib/speechrecorder/session/sessionmanager.d.ts +10 -10
  128. package/lib/speechrecorder/session/warning_bar.d.ts +1 -1
  129. package/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.d.ts +1 -1
  130. package/lib/speechrecorderng.component.d.ts +2 -1
  131. package/lib/spr.module.version.d.ts +1 -1
  132. package/lib/ui/canvas_layer_comp.d.ts +1 -1
  133. package/lib/ui/message_dialog.d.ts +1 -1
  134. package/lib/ui/recordingitem_display.d.ts +3 -2
  135. package/lib/utils/scrollIntoViewToBottom.d.ts +1 -1
  136. package/lib/utils/ua-parser.d.ts +4 -1
  137. package/lib/utils/utils.d.ts +6 -0
  138. package/package.json +5 -4
  139. package/esm2020/lib/math/utils.mjs +0 -14
  140. package/esm2020/lib/utils/css_utils.mjs +0 -7
  141. package/lib/math/utils.d.ts +0 -3
  142. package/lib/utils/css_utils.d.ts +0 -3
@@ -17,7 +17,6 @@ export declare abstract class BasicAudioCanvasLayerComponent extends CanvasLayer
17
17
  protected _audioDataHolder: AudioDataHolder | null;
18
18
  protected _bgColor: string | null;
19
19
  protected _selectColor: string;
20
- private frameLength;
21
20
  /**
22
21
  * Returns pixel position depending on current zoom setting.
23
22
  * @param framePos audio frame (sample) position
@@ -31,7 +30,7 @@ export declare abstract class BasicAudioCanvasLayerComponent extends CanvasLayer
31
30
  viewPortXPixelToFramePosition(xViewPortPixelPos: number): number | null;
32
31
  layoutBounds(bounds: Rectangle, virtualDimension: Dimension, redraw: boolean): void;
33
32
  static ɵfac: i0.ɵɵFactoryDeclaration<BasicAudioCanvasLayerComponent, never>;
34
- static ɵdir: i0.ɵɵDirectiveDeclaration<BasicAudioCanvasLayerComponent, never, never, {}, {}, never>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BasicAudioCanvasLayerComponent, never, never, {}, {}, never, never, false>;
35
34
  }
36
35
  export declare abstract class AudioCanvasLayerComponent extends BasicAudioCanvasLayerComponent {
37
36
  protected static readonly ENABLE_STREAMING_NUMBER_OF_SAMPLES_THRESHOLD: number;
@@ -58,11 +57,12 @@ export declare abstract class AudioCanvasLayerComponent extends BasicAudioCanvas
58
57
  selectingEventEmitter: EventEmitter<Selection>;
59
58
  selectedEventEmitter: EventEmitter<Selection>;
60
59
  pointerPositionChanged(xPosition: number | null): void;
60
+ private _selectingChange;
61
61
  selectingChange(viewSel: ViewSelection | null): void;
62
62
  select(viewSel: ViewSelection | null): void;
63
63
  viewSelection(): ViewSelection | null;
64
64
  drawBg(): void;
65
65
  drawCursorLayer(): void;
66
66
  static ɵfac: i0.ɵɵFactoryDeclaration<AudioCanvasLayerComponent, never>;
67
- static ɵdir: i0.ɵɵDirectiveDeclaration<AudioCanvasLayerComponent, never, never, { "pointerPosition": "pointerPosition"; "selecting": "selecting"; "selection": "selection"; }, { "pointerPositionEventEmitter": "pointerPositionEventEmitter"; "selectingEventEmitter": "selectingEventEmitter"; "selectedEventEmitter": "selectedEventEmitter"; }, never>;
67
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AudioCanvasLayerComponent, never, never, { "pointerPosition": "pointerPosition"; "selecting": "selecting"; "selection": "selection"; }, { "pointerPositionEventEmitter": "pointerPositionEventEmitter"; "selectingEventEmitter": "selectingEventEmitter"; "selectedEventEmitter": "selectedEventEmitter"; }, never, never, false>;
68
68
  }
@@ -1,10 +1,8 @@
1
- import { AfterContentInit, ChangeDetectorRef } from '@angular/core';
2
1
  import { Action } from "../../action/action";
3
2
  import { MatCheckboxChange } from "@angular/material/checkbox";
4
3
  import { AudioClip } from "../persistor";
5
4
  import * as i0 from "@angular/core";
6
- export declare class AudioDisplayControl implements AfterContentInit {
7
- private ref;
5
+ export declare class AudioDisplayControl {
8
6
  audioClip: AudioClip | null;
9
7
  private autoplaySelectedCheckbox;
10
8
  playStartAction: Action<void> | undefined;
@@ -17,12 +15,11 @@ export declare class AudioDisplayControl implements AfterContentInit {
17
15
  autoPlayOnSelectToggleAction: Action<boolean> | undefined;
18
16
  status: string | null;
19
17
  audio: any;
20
- constructor(ref: ChangeDetectorRef);
21
- ngAfterContentInit(): void;
18
+ constructor();
22
19
  clearSelection(): void;
23
20
  hasSelection(): boolean;
24
21
  autoPlaySelectionChange(ch: MatCheckboxChange): void;
25
22
  error(): void;
26
23
  static ɵfac: i0.ɵɵFactoryDeclaration<AudioDisplayControl, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<AudioDisplayControl, "audio-display-control", never, { "audioClip": "audioClip"; "playStartAction": "playStartAction"; "playSelectionAction": "playSelectionAction"; "playStopAction": "playStopAction"; "zoomInAction": "zoomInAction"; "zoomOutAction": "zoomOutAction"; "zoomFitToPanelAction": "zoomFitToPanelAction"; "zoomSelectedAction": "zoomSelectedAction"; "autoPlayOnSelectToggleAction": "autoPlayOnSelectToggleAction"; }, {}, never, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<AudioDisplayControl, "audio-display-control", never, { "audioClip": "audioClip"; "playStartAction": "playStartAction"; "playSelectionAction": "playSelectionAction"; "playStopAction": "playStopAction"; "zoomInAction": "zoomInAction"; "zoomOutAction": "zoomOutAction"; "zoomFitToPanelAction": "zoomFitToPanelAction"; "zoomSelectedAction": "zoomSelectedAction"; "autoPlayOnSelectToggleAction": "autoPlayOnSelectToggleAction"; }, {}, never, never, false>;
28
25
  }
@@ -22,5 +22,5 @@ export declare class AudioDisplayScrollPane {
22
22
  set audioClip(audioClip: AudioClip | null);
23
23
  set playFramePosition(framePos: number);
24
24
  static ɵfac: i0.ɵɵFactoryDeclaration<AudioDisplayScrollPane, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<AudioDisplayScrollPane, "audio-display-scroll-pane", never, { "audioClip": "audioClip"; }, { "zoomInAction": "zoomInAction"; "zoomOutAction": "zoomOutAction"; "zoomSelectedAction": "zoomSelectedAction"; "zoomFitToPanelAction": "zoomFitToPanelAction"; }, never, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<AudioDisplayScrollPane, "audio-display-scroll-pane", never, { "audioClip": "audioClip"; }, { "zoomInAction": "zoomInAction"; "zoomOutAction": "zoomOutAction"; "zoomSelectedAction": "zoomSelectedAction"; "zoomFitToPanelAction": "zoomFitToPanelAction"; }, never, never, false>;
26
26
  }
@@ -12,7 +12,8 @@ export declare class AudioSignal extends AudioCanvasLayerComponent {
12
12
  markerCanvas: HTMLCanvasElement;
13
13
  private _playFramePosition;
14
14
  private worker;
15
- private workerURL;
15
+ private readonly workerURL;
16
+ private raAsSubsc;
16
17
  constructor(ref: ElementRef);
17
18
  ngAfterViewInit(): void;
18
19
  get playFramePosition(): number | null;
@@ -21,9 +22,9 @@ export declare class AudioSignal extends AudioCanvasLayerComponent {
21
22
  workerFunction(): void;
22
23
  startDraw(clear?: boolean): void;
23
24
  private startRender;
25
+ drawStateText(stateText: string): void;
24
26
  drawRendered(left: number, w: number, h: number, chs: number, psMinMax: Float32Array): void;
25
- redraw(): void;
26
27
  setData(audioData: AudioDataHolder | null): void;
27
28
  static ɵfac: i0.ɵɵFactoryDeclaration<AudioSignal, never>;
28
- static ɵcmp: i0.ɵɵComponentDeclaration<AudioSignal, "audio-signal", never, {}, {}, never, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<AudioSignal, "audio-signal", never, {}, {}, never, never, false>;
29
30
  }
@@ -59,5 +59,5 @@ export declare class AudioClipUIContainer extends BasicAudioCanvasLayerComponent
59
59
  get playFramePosition(): number | null;
60
60
  set playFramePosition(playFramePosition: number | null);
61
61
  static ɵfac: i0.ɵɵFactoryDeclaration<AudioClipUIContainer, never>;
62
- static ɵcmp: i0.ɵɵComponentDeclaration<AudioClipUIContainer, "app-audio", never, { "audioData": "audioData"; "audioClip": "audioClip"; }, { "selectionEventEmitter": "selectionEventEmitter"; }, never, never>;
62
+ static ɵcmp: i0.ɵɵComponentDeclaration<AudioClipUIContainer, "app-audio", never, { "audioData": "audioData"; "audioClip": "audioClip"; }, { "selectionEventEmitter": "selectionEventEmitter"; }, never, never, false>;
63
63
  }
@@ -9,6 +9,11 @@ export declare const LINE_DISTANCE = 2;
9
9
  export declare const LEVEL_INDICATOR_HEIGHT = 3;
10
10
  export declare const OVERFLOW_THRESHOLD = 0.25;
11
11
  export declare const OVERFLOW_INCR_FACTOR = 0.5;
12
+ export declare enum State {
13
+ LOADING = 0,
14
+ RENDERING = 1,
15
+ READY = 2
16
+ }
12
17
  export declare class LevelBar implements LevelListener, AfterViewInit {
13
18
  private ref;
14
19
  private changeDetectorRef;
@@ -20,11 +25,13 @@ export declare class LevelBar implements LevelListener, AfterViewInit {
20
25
  markerCanvas: HTMLCanvasElement;
21
26
  ce: HTMLDivElement;
22
27
  dbValues: Array<Array<number>>;
28
+ private pixelsPerValue;
23
29
  peakDbLvl: number;
24
30
  private _streamingMode;
31
+ private _streamingFrameLength;
25
32
  private _staticLevelInfos;
26
33
  private _playFramePosition;
27
- private _stateLoading;
34
+ private _state;
28
35
  warnDBLevel: number;
29
36
  constructor(ref: ElementRef, changeDetectorRef: ChangeDetectorRef);
30
37
  ngAfterViewInit(): void;
@@ -32,7 +39,7 @@ export declare class LevelBar implements LevelListener, AfterViewInit {
32
39
  private updateViewportPosition;
33
40
  set streamingMode(streamingMode: boolean);
34
41
  set displayLevelInfos(levelInfos: LevelInfos | null | undefined);
35
- set stateLoading(loading: boolean);
42
+ set state(state: State);
36
43
  set channelCount(channelCount: number);
37
44
  set playFramePosition(playFramePosition: number);
38
45
  onResize(event: Event): void;
@@ -41,7 +48,7 @@ export declare class LevelBar implements LevelListener, AfterViewInit {
41
48
  streamFinished(): void;
42
49
  private layoutStatic;
43
50
  private checkWidth;
44
- reset(): void;
51
+ reset(stat?: boolean): void;
45
52
  private drawLevelBackground;
46
53
  private drawLevelLines;
47
54
  private drawPushValue;
@@ -49,5 +56,5 @@ export declare class LevelBar implements LevelListener, AfterViewInit {
49
56
  private framesPerPixel;
50
57
  private drawPlayPosition;
51
58
  static ɵfac: i0.ɵɵFactoryDeclaration<LevelBar, never>;
52
- static ɵcmp: i0.ɵɵComponentDeclaration<LevelBar, "audio-levelbar", never, { "streamingMode": "streamingMode"; "displayLevelInfos": "displayLevelInfos"; "stateLoading": "stateLoading"; }, {}, never, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<LevelBar, "audio-levelbar", never, { "streamingMode": "streamingMode"; "displayLevelInfos": "displayLevelInfos"; "state": "state"; }, {}, never, never, false>;
53
60
  }
@@ -1,5 +1,5 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class ScrollPaneHorizontal {
3
3
  static ɵfac: i0.ɵɵFactoryDeclaration<ScrollPaneHorizontal, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<ScrollPaneHorizontal, "scroll-pane-horizontal", never, {}, {}, never, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScrollPaneHorizontal, "scroll-pane-horizontal", never, {}, {}, never, never, false>;
5
5
  }
@@ -16,21 +16,22 @@ export declare class Sonagram extends AudioCanvasLayerComponent {
16
16
  markers: Array<Marker>;
17
17
  private _playFramePosition;
18
18
  private worker;
19
- private workerURL;
19
+ private readonly workerURL;
20
+ private raAsSubsc;
20
21
  private dftSize;
21
22
  constructor(ref: ElementRef);
22
23
  ngAfterViewInit(): void;
23
24
  get playFramePosition(): number | null;
24
25
  set playFramePosition(playFramePosition: number | null);
25
26
  private canvasMousePos;
27
+ drawStateText(stateText: string): void;
26
28
  drawCursorPosition(e: MouseEvent, show: boolean): void;
27
29
  drawPlayPosition(): void;
28
30
  workerFunction(): void;
29
31
  startDraw(clear?: boolean): void;
30
32
  private startRender;
31
33
  drawRendered(w: number, h: number, imgData: Uint8ClampedArray): void;
32
- redraw(): void;
33
34
  setData(audioData: AudioDataHolder | null): void;
34
35
  static ɵfac: i0.ɵɵFactoryDeclaration<Sonagram, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<Sonagram, "audio-sonagram", never, {}, {}, never, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<Sonagram, "audio-sonagram", never, {}, {}, never, never, false>;
36
37
  }
@@ -0,0 +1,21 @@
1
+ import { Observable } from "rxjs";
2
+ import * as i0 from "@angular/core";
3
+ export declare class Sync {
4
+ id?: number;
5
+ _objectStoreName: string;
6
+ _objectId: string | number;
7
+ constructor(objectStoreName: string, objectId: string | number);
8
+ get objectStoreName(): string;
9
+ get objectId(): string | number;
10
+ }
11
+ export declare class SprDb {
12
+ static dbName: string;
13
+ static RECORDING_FILE_CACHE_OBJECT_STORE_NAME: string;
14
+ static dbVersion: number;
15
+ private _store;
16
+ constructor();
17
+ static sprDbFactory(): SprDb;
18
+ static prepare(): Observable<IDBDatabase>;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<SprDb, never>;
20
+ static ɵprov: i0.ɵɵInjectableDeclaration<SprDb>;
21
+ }
@@ -0,0 +1,18 @@
1
+ export declare class BinaryByteReader {
2
+ buf: Uint8Array;
3
+ sbuf: Int8Array;
4
+ private _pos;
5
+ constructor(buf: ArrayBuffer);
6
+ get pos(): number;
7
+ set pos(pos: number);
8
+ length(): number;
9
+ eof(): boolean;
10
+ skip(byteCound: number): void;
11
+ readAscii(size: number): String;
12
+ readInt8(): number;
13
+ readInt16BE(): number;
14
+ readInt16LE(): number;
15
+ readUint16LE(): number;
16
+ readInt32BE(): number;
17
+ readUint32LE(): number;
18
+ }
@@ -1,8 +1,14 @@
1
+ import { Observable } from "rxjs";
1
2
  export interface Float32ArrayInputStream {
2
3
  read(buffers: Array<Float32Array>): number;
3
4
  skipFrames(n: number): void;
4
5
  close(): void;
5
6
  }
7
+ export interface AsyncFloat32ArrayInputStream {
8
+ readObs(buffers: Array<Float32Array>): Observable<number>;
9
+ skipFrames(n: number): void;
10
+ close(): void;
11
+ }
6
12
  export declare class EditFloat32ArrayInputStream implements Float32ArrayInputStream {
7
13
  private _srcInputStream;
8
14
  private offset;
@@ -15,6 +21,18 @@ export declare class EditFloat32ArrayInputStream implements Float32ArrayInputStr
15
21
  skipFrames(n: number): void;
16
22
  close(): void;
17
23
  }
24
+ export declare class AsyncEditFloat32ArrayInputStream implements AsyncFloat32ArrayInputStream {
25
+ private _srcInputStream;
26
+ private offset;
27
+ private length?;
28
+ private framePos;
29
+ private readFrames;
30
+ constructor(_srcInputStream: AsyncFloat32ArrayInputStream, offset?: number, length?: number | undefined);
31
+ private skipToOffset;
32
+ readObs(buffers: Array<Float32Array>): Observable<number>;
33
+ skipFrames(n: number): void;
34
+ close(): void;
35
+ }
18
36
  export interface Float32ArrayOutStream {
19
37
  write(buffers: Array<Float32Array>): number;
20
38
  flush(): void;
@@ -20,21 +20,39 @@ export declare class UploaderStatusChangeEvent {
20
20
  constructor(sizeQueued: number, sizeDone: number, status: UploaderStatus);
21
21
  get sizeQueued(): number;
22
22
  get sizeDone(): number;
23
+ sizeInQueue(): number;
23
24
  get status(): UploaderStatus;
24
25
  uploadDone(): boolean;
25
26
  percentDone(): number;
26
27
  }
27
28
  export declare class Upload {
28
- private serverPersistable;
29
+ private _serverPersistable;
30
+ get serverPersistable(): ServerPersistable | null;
29
31
  private _data;
30
32
  private _url;
31
33
  status: UploadStatus;
32
- constructor(blob: Blob | FormData, url: string, serverPersistable?: ServerPersistable | null);
34
+ onDone: ((upload: Upload) => void) | null;
35
+ constructor(blob: Blob | FormData, url: string, _serverPersistable?: ServerPersistable | null);
33
36
  get url(): string;
34
37
  get data(): Blob | FormData;
35
38
  done(): void;
36
39
  toString: () => string;
37
40
  }
41
+ export declare class UploadHolder {
42
+ onUploadSet: ((upload: Upload) => void) | null;
43
+ get upload(): Upload | null;
44
+ set upload(value: Upload | null);
45
+ private _upload;
46
+ }
47
+ export declare class UploadSet {
48
+ private uploads;
49
+ private _complete;
50
+ private _onDone;
51
+ add(upload: Upload | UploadHolder): void;
52
+ complete(): void;
53
+ set onDone(value: ((uploadSet: UploadSet) => void) | null);
54
+ private checkUploadStates;
55
+ }
38
56
  export interface ServerPersistable {
39
57
  serverPersisted: boolean;
40
58
  }
@@ -1,11 +1,16 @@
1
1
  import { SpeechRecorderUploader } from "./speechrecorder/spruploader";
2
+ import { Observable } from "rxjs";
3
+ import { PersistentAudioStorageTarget } from "./audio/inddb_audio_buffer";
2
4
  export interface ReadyStateProvider {
3
5
  ready(): boolean;
4
6
  }
5
7
  export declare abstract class RecorderComponent implements ReadyStateProvider {
6
8
  protected uploader: SpeechRecorderUploader;
7
9
  dataSaved: boolean;
10
+ protected _persistentAudioStorageTarget: PersistentAudioStorageTarget | null;
8
11
  constructor(uploader: SpeechRecorderUploader);
12
+ printStorageInfos(): void;
13
+ prepare(persistentAudioStorage?: boolean): Observable<void>;
9
14
  abstract ready(): boolean;
10
15
  abstract get screenLocked(): boolean;
11
16
  }
@@ -29,6 +29,14 @@ export declare enum Browser {
29
29
  Edge = "EDGE",
30
30
  Opera = "OPERA"
31
31
  }
32
+ export declare enum AudioStorageType {
33
+ MEM_ENTIRE = "MEM_ENTIRE",
34
+ MEM_CHUNKED = "MEM_CHUNKED",
35
+ DB_CHUNKED = "DB_CHUNKED",
36
+ NET_CHUNKED = "NET_CHUNKED",
37
+ MEM_ENTIRE_AUTO_NET_CHUNKED = "MEM_ENTIRE_AUTO_NET_CHUNKED",
38
+ MEM_CHUNKED_AUTO_NET_CHUNKED = "MEM_CHUNKED_AUTO_NET_CHUNKED"
39
+ }
32
40
  export interface AutoGainControlConfig {
33
41
  value: boolean;
34
42
  platform: Platform;
@@ -41,6 +49,7 @@ export interface Project {
41
49
  autoGainControlConfigs?: Array<AutoGainControlConfig>;
42
50
  audioDevices?: Array<AudioDevice>;
43
51
  chunkedRecording?: boolean;
52
+ clientAudioStorageType?: AudioStorageType;
44
53
  }
45
54
  export declare class ProjectUtil {
46
55
  static readonly DEFAULT_AUDIO_CHANNEL_COUNT = 2;
@@ -7,20 +7,24 @@ export interface RecordingFileDescriptor {
7
7
  export declare class RecordingFileDescriptorImpl {
8
8
  recording: PromptItem;
9
9
  version: number;
10
+ frames?: number;
11
+ samplerate?: number;
12
+ channels?: number;
10
13
  constructor();
11
14
  }
12
15
  export declare class RecordingFile {
13
16
  recordingFileId: string | number | null;
14
17
  uuid: string | null;
15
18
  serverPersisted: boolean;
16
- keepAudioDataCache: boolean;
17
19
  date: string | null;
18
20
  _dateAsDateObj: Date | null;
19
21
  startedDate: string | null;
20
22
  _startedAsDateObj?: Date | null;
21
23
  audioDataHolder: AudioDataHolder | null;
22
24
  session: string | number | null;
25
+ channels: number | null;
23
26
  frames: number | null;
27
+ samplerate: number | null;
24
28
  timeLength: number | null;
25
29
  editSampleRate: number | null;
26
30
  editStartFrame: number | null;
@@ -35,11 +39,13 @@ export declare class SprRecordingFile extends RecordingFile implements Recording
35
39
  recording: PromptItem;
36
40
  version: number;
37
41
  constructor(sessionId: string | number, itemcode: string, version: number, audioDataHolder: AudioDataHolder | null);
42
+ recordingFileDone(): boolean;
38
43
  filenameString(): string;
39
44
  toString(): string;
40
45
  }
41
46
  export declare class RecordingFileUtils {
47
+ static equals(recordinFile: RecordingFile | null, otherRecordingFile: RecordingFile | null): boolean;
42
48
  static setAudioData(rf: RecordingFile, audioDataHolder: AudioDataHolder | null): void;
43
49
  static sampleCount(rf: RecordingFile): number;
44
- static expireAudioData(rf: RecordingFile): AudioDataHolder | null;
50
+ static expireAudioData(rf: RecordingFile): number;
45
51
  }
@@ -0,0 +1,27 @@
1
+ import { HttpClient, HttpResponse } from "@angular/common/http";
2
+ import { SpeechRecorderConfig } from "../../spr.config";
3
+ import { Observable } from "rxjs";
4
+ import { NetAudioBuffer } from "../../audio/net_audio_buffer";
5
+ import { PCMAudioFormat } from "../../audio/format";
6
+ export declare class ChunkDownload {
7
+ private _orgPCMAudioFormat;
8
+ private _orgFrameLength;
9
+ private _decodedAudioBuffer;
10
+ get orgPCMAudioFormat(): PCMAudioFormat;
11
+ get orgFrameLength(): number;
12
+ get decodedAudioBuffer(): AudioBuffer;
13
+ constructor(_orgPCMAudioFormat: PCMAudioFormat, _orgFrameLength: number, _decodedAudioBuffer: AudioBuffer);
14
+ }
15
+ export declare class BasicRecordingService {
16
+ protected http: HttpClient;
17
+ protected config?: SpeechRecorderConfig | undefined;
18
+ static readonly DEFAULT_CHUNKED_DOWNLOAD_SECONDS: number;
19
+ static readonly DEFAULT_MAX_NET_AUTO_MEM_STORE_SAMPLES: number;
20
+ protected _maxAutoNetMemStoreSamples: number;
21
+ protected apiEndPoint: string;
22
+ protected withCredentials: boolean;
23
+ constructor(http: HttpClient, config?: SpeechRecorderConfig | undefined);
24
+ protected audioRequestByURL(audioBaseUrl: string, audioURLSearchParams: URLSearchParams): Observable<HttpResponse<ArrayBuffer>>;
25
+ chunkAudioRequest(aCtx: AudioContext, baseAudioUrl: string, startFrame: number | undefined, frameLength: number): Observable<ChunkDownload | null>;
26
+ protected chunkAudioRequestToNetAudioBuffer(aCtx: AudioContext, baseAudioUrl: string, startFrame: number | undefined, orgSampleRate: number, seconds: number, frames: number | null): Observable<NetAudioBuffer | null>;
27
+ }
@@ -2,15 +2,16 @@ import { HttpClient } from "@angular/common/http";
2
2
  import { SpeechRecorderConfig } from "../../spr.config";
3
3
  import { SprRecordingFile, RecordingFileDescriptorImpl, RecordingFile } from "../recording";
4
4
  import { Observable } from "rxjs";
5
+ import { ArrayAudioBuffer } from "../../audio/array_audio_buffer";
6
+ import { IndexedDbAudioBuffer, PersistentAudioStorageTarget } from "../../audio/inddb_audio_buffer";
7
+ import { NetAudioBuffer } from "../../audio/net_audio_buffer";
8
+ import { BasicRecordingService } from "./basic_recording.service";
5
9
  import * as i0 from "@angular/core";
6
- export declare const REC_API_CTX = "recfile";
7
- export declare class RecordingService {
8
- private http;
9
- private config?;
10
+ export declare class RecordingService extends BasicRecordingService {
11
+ protected http: HttpClient;
12
+ protected config?: SpeechRecorderConfig | undefined;
10
13
  static readonly REC_API_CTX = "recfile";
11
14
  static readonly RECORDING_API_CTX = "recordingfile";
12
- private apiEndPoint;
13
- private withCredentials;
14
15
  private debugDelay;
15
16
  constructor(http: HttpClient, config?: SpeechRecorderConfig | undefined);
16
17
  private recordingFilesUrl;
@@ -21,11 +22,25 @@ export declare class RecordingService {
21
22
  recordingFileList(projectName: string, sessId: string | number): Observable<Array<RecordingFile>>;
22
23
  sprRecordingFileList(projectName: string, sessId: string | number): Observable<Array<SprRecordingFile>>;
23
24
  private audioRequest;
25
+ private chunkAudioRequestToIndDb;
26
+ private chunkedAudioRequestToArrayBuffer;
27
+ private chunkedInddbAudioRequest;
28
+ audioFileUrlById(projectName: string, sessId: string | number, recFileId: string | number): string;
24
29
  private fetchAudiofile;
30
+ audioFileUrl(projectName: string, recordingFile: RecordingFile): string | null;
31
+ audioFileUrlByUUID(projectName: string, session: string | number, uuid: string): string | null;
25
32
  private fetchSprAudiofile;
33
+ sprAudioFileUrlByItemcode(projectName: string, sessId: string | number, itemcode: string, version: number): string;
34
+ sprAudioFileUrl(projectName: string, recordingFile: SprRecordingFile): string | null;
26
35
  fetchRecordingFileAudioBuffer(aCtx: AudioContext, projectName: string, recordingFile: RecordingFile): Observable<AudioBuffer | null>;
27
36
  fetchAndApplyRecordingFile(aCtx: AudioContext, projectName: string, recordingFile: RecordingFile): Observable<RecordingFile | null>;
28
37
  fetchSprRecordingFileAudioBuffer(aCtx: AudioContext, projectName: string, recordingFile: SprRecordingFile): Observable<AudioBuffer | null>;
38
+ fetchSprRecordingFileArrayAudioBuffer(aCtx: AudioContext, projectName: string, recordingFile: SprRecordingFile): Observable<ArrayAudioBuffer | null>;
39
+ fetchRecordingFileArrayAudioBuffer(aCtx: AudioContext, projectName: string, recordingFile: RecordingFile): Observable<ArrayAudioBuffer | null>;
40
+ fetchSprRecordingFileIndDbAudioBuffer(aCtx: AudioContext, persistentAudioStorageTarget: PersistentAudioStorageTarget, projectName: string, recordingFile: SprRecordingFile): Observable<IndexedDbAudioBuffer | null>;
41
+ fetchRecordingFileIndDbAudioBuffer(aCtx: AudioContext, persistentAudioStorageTarget: PersistentAudioStorageTarget, projectName: string, recordingFile: RecordingFile): Observable<IndexedDbAudioBuffer | null>;
42
+ fetchSprRecordingFileNetAudioBuffer(aCtx: AudioContext, projectName: string, recordingFile: SprRecordingFile): Observable<NetAudioBuffer | null>;
43
+ fetchRecordingFileNetAudioBuffer(aCtx: AudioContext, projectName: string, recordingFile: RecordingFile): Observable<NetAudioBuffer | null>;
29
44
  fetchAndApplySprRecordingFile(aCtx: AudioContext, projectName: string, recordingFile: SprRecordingFile): Observable<SprRecordingFile | null>;
30
45
  fetchRecordingFile(aCtx: AudioContext, projectName: string, sessId: string | number, itemcode: string, version: number): Observable<SprRecordingFile | null>;
31
46
  static ɵfac: i0.ɵɵFactoryDeclaration<RecordingService, never>;
@@ -1,7 +1,7 @@
1
1
  import { AudioCaptureListener } from '../../audio/capture/capture';
2
2
  import { AudioPlayer, AudioPlayerEvent } from '../../audio/playback/player';
3
3
  import { RecordingFile } from '../recording';
4
- import { ChangeDetectorRef, AfterViewInit, OnDestroy, Renderer2, OnInit, Injector } from "@angular/core";
4
+ import { AfterViewInit, ChangeDetectorRef, OnDestroy, OnInit, Renderer2 } from "@angular/core";
5
5
  import { SessionService } from "./session.service";
6
6
  import { MatDialog } from "@angular/material/dialog";
7
7
  import { SpeechRecorderUploader } from "../spruploader";
@@ -14,7 +14,7 @@ import { ActivatedRoute, Router } from "@angular/router";
14
14
  import { ProjectService } from "../project/project.service";
15
15
  import { LevelBar } from "../../audio/ui/livelevel";
16
16
  import { RecorderCombiPane } from "./recorder_combi_pane";
17
- import { BasicRecorder } from "./basicrecorder";
17
+ import { BasicRecorder, ChunkAudioBufferReceiver } from "./basicrecorder";
18
18
  import { ReadyStateProvider, RecorderComponent } from "../../recorder_component";
19
19
  import { Mode } from "../../speechrecorderng.component";
20
20
  import * as i0 from "@angular/core";
@@ -26,13 +26,7 @@ export declare const enum Status {
26
26
  STOPPING_STOP = 4,
27
27
  ERROR = 5
28
28
  }
29
- export declare class Item {
30
- promptAsString: string;
31
- training: boolean;
32
- recs: Array<RecordingFile> | null;
33
- constructor(promptAsString: string, training: boolean);
34
- }
35
- export declare class AudioRecorder extends BasicRecorder implements OnInit, AfterViewInit, OnDestroy, AudioCaptureListener, ReadyStateProvider {
29
+ export declare class AudioRecorder extends BasicRecorder implements OnInit, AfterViewInit, OnDestroy, AudioCaptureListener, ReadyStateProvider, ChunkAudioBufferReceiver {
36
30
  private renderer;
37
31
  private route;
38
32
  private recFileService;
@@ -45,13 +39,9 @@ export declare class AudioRecorder extends BasicRecorder implements OnInit, Afte
45
39
  recorderCombiPane: RecorderCombiPane;
46
40
  liveLevelDisplay: LevelBar;
47
41
  dataSaved: boolean;
48
- private maxRecTimerId;
49
- private maxRecTimerRunning;
50
- private updateTimerId;
51
42
  startStopNextButtonName: string;
52
43
  startStopNextButtonIconName: string;
53
44
  audio: any;
54
- private _promptIndex;
55
45
  private _displayRecFile;
56
46
  private displayRecFileVersion;
57
47
  constructor(changeDetectorRef: ChangeDetectorRef, renderer: Renderer2, route: ActivatedRoute, dialog: MatDialog, sessionService: SessionService, recFileService: RecordingService, uploader: SpeechRecorderUploader, config?: SpeechRecorderConfig);
@@ -90,22 +80,21 @@ export declare class AudioRecorder extends BasicRecorder implements OnInit, Afte
90
80
  private updateNavigationActions;
91
81
  enableStartUserGesture(): void;
92
82
  enableNavigation(): void;
93
- opened(): void;
94
83
  started(): void;
95
84
  stopItem(): void;
96
85
  stopRecording(): void;
97
86
  stopRecordingMaxRec(): void;
98
87
  stopped(): void;
88
+ error(msg?: string, advice?: string): void;
99
89
  postRecordingMultipart(wavFile: Uint8Array, recUrl: string, rf: RecordingFile): void;
100
90
  postChunkAudioBuffer(audioBuffer: AudioBuffer, chunkIdx: number): void;
101
91
  stop(): void;
102
92
  private updateControlPlaybackPosition;
103
93
  audioPlayerUpdate(e: AudioPlayerEvent): void;
104
94
  static ɵfac: i0.ɵɵFactoryDeclaration<AudioRecorder, never>;
105
- static ɵcmp: i0.ɵɵComponentDeclaration<AudioRecorder, "app-audiorecorder", never, { "projectName": "projectName"; "dataSaved": "dataSaved"; }, {}, never, never>;
95
+ static ɵcmp: i0.ɵɵComponentDeclaration<AudioRecorder, "app-audiorecorder", never, { "projectName": "projectName"; "dataSaved": "dataSaved"; }, {}, never, never, false>;
106
96
  }
107
97
  export declare class AudioRecorderComponent extends RecorderComponent implements OnInit, OnDestroy, AfterViewInit, ReadyStateProvider {
108
- protected injector: Injector;
109
98
  private route;
110
99
  private router;
111
100
  private changeDetectorRef;
@@ -119,7 +108,7 @@ export declare class AudioRecorderComponent extends RecorderComponent implements
119
108
  sessionId: string;
120
109
  session: Session;
121
110
  ar: AudioRecorder;
122
- constructor(injector: Injector, route: ActivatedRoute, router: Router, changeDetectorRef: ChangeDetectorRef, sessionService: SessionService, projectService: ProjectService, uploader: SpeechRecorderUploader);
111
+ constructor(route: ActivatedRoute, router: Router, changeDetectorRef: ChangeDetectorRef, sessionService: SessionService, projectService: ProjectService, uploader: SpeechRecorderUploader);
123
112
  ngOnInit(): void;
124
113
  ngAfterViewInit(): void;
125
114
  ngOnDestroy(): void;
@@ -128,5 +117,5 @@ export declare class AudioRecorderComponent extends RecorderComponent implements
128
117
  uploadUpdate(ue: UploaderStatusChangeEvent): void;
129
118
  ready(): boolean;
130
119
  static ɵfac: i0.ɵɵFactoryDeclaration<AudioRecorderComponent, never>;
131
- static ɵcmp: i0.ɵɵComponentDeclaration<AudioRecorderComponent, "app-audiorecorder-comp", never, {}, {}, never, never>;
120
+ static ɵcmp: i0.ɵɵComponentDeclaration<AudioRecorderComponent, "app-audiorecorder-comp", never, {}, {}, never, never, false>;
132
121
  }
@@ -4,17 +4,20 @@ import { MatDialog } from "@angular/material/dialog";
4
4
  import { Session } from "./session";
5
5
  import { SessionService } from "./session.service";
6
6
  import { AudioCapture } from "../../audio/capture/capture";
7
- import { AudioDevice, AutoGainControlConfig } from "../project/project";
7
+ import { AudioDevice, AudioStorageType, AutoGainControlConfig } from "../project/project";
8
8
  import { LevelMeasure, StreamLevelMeasure } from "../../audio/dsp/level_measure";
9
9
  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 { UploadHolder, UploadSet } from "../../net/uploader";
13
14
  import { ChangeDetectorRef } from "@angular/core";
14
15
  import { SpeechRecorderConfig } from "../../spr.config";
15
16
  import { SpeechRecorderUploader } from "../spruploader";
16
17
  import { SequenceAudioFloat32OutStream } from "../../audio/io/stream";
17
18
  import { RecordingFile, SprRecordingFile } from "../recording";
19
+ import { State as LiveLevelState } from "../../audio/ui/livelevel";
20
+ import { PersistentAudioStorageTarget } from "../../audio/inddb_audio_buffer";
18
21
  export declare const FORCE_REQUEST_AUDIO_PERMISSIONS = false;
19
22
  export declare const RECFILE_API_CTX = "recfile";
20
23
  export declare const MAX_RECORDING_TIME_MS: number;
@@ -45,10 +48,21 @@ export declare abstract class BasicRecorder {
45
48
  protected sessionService: SessionService;
46
49
  protected uploader: SpeechRecorderUploader;
47
50
  config?: SpeechRecorderConfig | undefined;
51
+ protected updateTimerId: any;
52
+ protected maxRecTimerId: number | null;
53
+ protected maxRecTimerRunning: boolean;
54
+ get maxAutoNetMemStoreSamples(): number;
55
+ set maxAutoNetMemStoreSamples(value: number);
56
+ static readonly DEFAULT_MAX_NET_AUTO_MEM_STORE_SAMPLES: number;
57
+ protected _maxAutoNetMemStoreSamples: number;
58
+ static readonly DEFAULT_CHUNK_SIZE_SECONDS: number;
59
+ get clientAudioStorageType(): AudioStorageType;
60
+ set clientAudioStorageType(value: AudioStorageType);
61
+ get persistentAudioStorageTarget(): PersistentAudioStorageTarget | null;
62
+ set persistentAudioStorageTarget(value: PersistentAudioStorageTarget | null);
48
63
  static readonly FORCE_ARRRAY_AUDIO_BUFFER = false;
49
64
  get uploadChunkSizeSeconds(): number | null;
50
65
  set uploadChunkSizeSeconds(value: number | null);
51
- static readonly DEFAULT_CHUNK_SIZE_SECONDS = 30;
52
66
  protected userAgent: UserAgent;
53
67
  statusMsg: string;
54
68
  statusAlertType: string;
@@ -70,17 +84,24 @@ export declare abstract class BasicRecorder {
70
84
  protected startedDate: Date | null;
71
85
  uploadProgress: number;
72
86
  uploadStatus: string;
87
+ protected uploadSet: UploadSet | null;
73
88
  audioSignalCollapsed: boolean;
74
89
  protected streamLevelMeasure: StreamLevelMeasure;
75
90
  protected levelMeasure: LevelMeasure;
76
91
  peakLevelInDb: number;
92
+ audioLoaded: boolean;
93
+ disableAudioDetails: boolean;
77
94
  protected _controlAudioPlayer: AudioPlayer;
78
95
  displayAudioClip: AudioClip | null;
79
96
  protected audioFetchSubscription: Subscription | null;
80
- audioFetching: boolean;
97
+ liveLevelDisplayState: LiveLevelState;
98
+ keepLiveLevel: boolean;
99
+ private calcBufferInfosSubscr;
81
100
  protected destroyed: boolean;
82
101
  protected navigationDisabled: boolean;
83
102
  private _uploadChunkSizeSeconds;
103
+ protected _clientAudioStorageType: AudioStorageType;
104
+ protected _persistentAudioStorageTarget: PersistentAudioStorageTarget | null;
84
105
  protected _screenLocked: boolean;
85
106
  private wakeLockManager?;
86
107
  constructor(changeDetectorRef: ChangeDetectorRef, dialog: MatDialog, sessionService: SessionService, uploader: SpeechRecorderUploader, config?: SpeechRecorderConfig | undefined);
@@ -99,9 +120,12 @@ export declare abstract class BasicRecorder {
99
120
  showRecording(): void;
100
121
  start(): void;
101
122
  startItem(): void;
123
+ protected startCapture(): void;
124
+ opened(): void;
102
125
  started(): void;
103
- postRecording(wavFile: Uint8Array, recUrl: string, rf: RecordingFile | null): void;
126
+ postRecording(wavFile: Uint8Array, recUrl: string, rf: RecordingFile | null, uploadHolder?: UploadHolder): void;
104
127
  postAudioStreamStart(): void;
128
+ protected sessionsBaseUrl(): string;
105
129
  abstract postChunkAudioBuffer(audioBuffer: AudioBuffer, chunkIdx: number): void;
106
130
  postAudioStreamEnd(chunkCount: number): void;
107
131
  closed(): void;