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.
- package/esm2020/lib/action/action.mjs +2 -1
- package/esm2020/lib/audio/array_audio_buffer.mjs +65 -2
- package/esm2020/lib/audio/array_audio_buffer_input_stream.mjs +2 -2
- package/esm2020/lib/audio/array_audio_buffer_random_access_stream.mjs +16 -0
- package/esm2020/lib/audio/audio_data_holder.mjs +203 -48
- package/esm2020/lib/audio/audio_display.mjs +10 -34
- package/esm2020/lib/audio/audio_player.mjs +18 -45
- package/esm2020/lib/audio/capture/capture.mjs +293 -69
- package/esm2020/lib/audio/dsp/level_measure.mjs +211 -88
- package/esm2020/lib/audio/impl/wavformat.mjs +1 -1
- package/esm2020/lib/audio/impl/wavreader.mjs +134 -0
- package/esm2020/lib/audio/impl/wavwriter.mjs +10 -9
- package/esm2020/lib/audio/inddb_audio_buffer.mjs +508 -0
- package/esm2020/lib/audio/net_audio_buffer.mjs +297 -0
- package/esm2020/lib/audio/persistor.mjs +8 -2
- package/esm2020/lib/audio/playback/array_audio_buffer_source_node.mjs +15 -154
- package/esm2020/lib/audio/playback/audio_source_node.mjs +18 -0
- package/esm2020/lib/audio/playback/audio_source_worklet_module_loader.mjs +167 -0
- package/esm2020/lib/audio/playback/inddb_audio_buffer_source_node.mjs +167 -0
- package/esm2020/lib/audio/playback/net_audio_buffer_source_node.mjs +218 -0
- package/esm2020/lib/audio/playback/player.mjs +190 -171
- package/esm2020/lib/audio/ui/audio_canvas_layer_comp.mjs +35 -76
- package/esm2020/lib/audio/ui/audio_display_control.mjs +12 -24
- package/esm2020/lib/audio/ui/audio_display_scroll_pane.mjs +14 -45
- package/esm2020/lib/audio/ui/audiosignal.mjs +333 -267
- package/esm2020/lib/audio/ui/container.mjs +40 -57
- package/esm2020/lib/audio/ui/livelevel.mjs +53 -52
- package/esm2020/lib/audio/ui/scroll_pane_horizontal.mjs +5 -19
- package/esm2020/lib/audio/ui/sonagram.mjs +386 -339
- package/esm2020/lib/db/inddb.mjs +120 -0
- package/esm2020/lib/io/BinaryReader.mjs +85 -0
- package/esm2020/lib/io/stream.mjs +101 -1
- package/esm2020/lib/net/uploader.mjs +111 -5
- package/esm2020/lib/recorder_component.mjs +59 -1
- package/esm2020/lib/speechrecorder/project/project.mjs +10 -1
- package/esm2020/lib/speechrecorder/project/project.service.mjs +3 -3
- package/esm2020/lib/speechrecorder/recording.mjs +30 -6
- package/esm2020/lib/speechrecorder/recordings/basic_recording.service.mjs +213 -0
- package/esm2020/lib/speechrecorder/recordings/recordings.service.mjs +732 -65
- package/esm2020/lib/speechrecorder/script/script.service.mjs +3 -3
- package/esm2020/lib/speechrecorder/session/audiorecorder.mjs +358 -184
- package/esm2020/lib/speechrecorder/session/basicrecorder.mjs +181 -28
- package/esm2020/lib/speechrecorder/session/controlpanel.mjs +47 -129
- package/esm2020/lib/speechrecorder/session/item.mjs +13 -1
- package/esm2020/lib/speechrecorder/session/progress.mjs +26 -55
- package/esm2020/lib/speechrecorder/session/prompting.mjs +33 -176
- package/esm2020/lib/speechrecorder/session/recorder_combi_pane.mjs +6 -6
- package/esm2020/lib/speechrecorder/session/recording_file_cache.mjs +28 -15
- package/esm2020/lib/speechrecorder/session/recording_list.mjs +92 -55
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-meta.component.mjs +9 -13
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-navi.component.mjs +9 -18
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.mjs +10 -36
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-view.component.mjs +10 -37
- package/esm2020/lib/speechrecorder/session/recordingfile/recordingfile-service.mjs +80 -56
- package/esm2020/lib/speechrecorder/session/session.service.mjs +3 -3
- package/esm2020/lib/speechrecorder/session/session_finished_dialog.mjs +4 -4
- package/esm2020/lib/speechrecorder/session/sessionmanager.mjs +409 -165
- package/esm2020/lib/speechrecorder/session/warning_bar.mjs +6 -29
- package/esm2020/lib/speechrecorder/spruploader.mjs +3 -3
- package/esm2020/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.mjs +6 -41
- package/esm2020/lib/speechrecorderng.component.mjs +42 -31
- package/esm2020/lib/speechrecorderng.module.mjs +5 -5
- package/esm2020/lib/spr.config.mjs +3 -3
- package/esm2020/lib/spr.module.version.mjs +2 -2
- package/esm2020/lib/ui/canvas_layer_comp.mjs +3 -3
- package/esm2020/lib/ui/message_dialog.mjs +7 -7
- package/esm2020/lib/ui/recordingitem_display.mjs +26 -59
- package/esm2020/lib/utils/scrollIntoViewToBottom.mjs +3 -3
- package/esm2020/lib/utils/ua-parser.mjs +28 -4
- package/esm2020/lib/utils/utils.mjs +29 -1
- package/fesm2015/speechrecorderng.mjs +12755 -9195
- package/fesm2015/speechrecorderng.mjs.map +1 -1
- package/fesm2020/speechrecorderng.mjs +12652 -9101
- package/fesm2020/speechrecorderng.mjs.map +1 -1
- package/{speechrecorderng.d.ts → index.d.ts} +0 -0
- package/lib/audio/array_audio_buffer.d.ts +17 -1
- package/lib/audio/array_audio_buffer_random_access_stream.d.ts +9 -0
- package/lib/audio/audio_data_holder.d.ts +69 -14
- package/lib/audio/audio_display.d.ts +1 -1
- package/lib/audio/audio_player.d.ts +3 -7
- package/lib/audio/capture/capture.d.ts +24 -4
- package/lib/audio/dsp/level_measure.d.ts +2 -23
- package/lib/audio/impl/wavformat.d.ts +3 -3
- package/lib/audio/impl/wavreader.d.ts +16 -0
- package/lib/audio/impl/wavwriter.d.ts +1 -4
- package/lib/audio/inddb_audio_buffer.d.ts +68 -0
- package/lib/audio/net_audio_buffer.d.ts +59 -0
- package/lib/audio/persistor.d.ts +3 -9
- package/lib/audio/playback/array_audio_buffer_source_node.d.ts +2 -8
- package/lib/audio/playback/audio_source_node.d.ts +10 -0
- package/lib/audio/playback/audio_source_worklet_module_loader.d.ts +4 -0
- package/lib/audio/playback/inddb_audio_buffer_source_node.d.ts +21 -0
- package/lib/audio/playback/net_audio_buffer_source_node.d.ts +27 -0
- package/lib/audio/playback/player.d.ts +19 -16
- package/lib/audio/ui/audio_canvas_layer_comp.d.ts +3 -3
- package/lib/audio/ui/audio_display_control.d.ts +3 -6
- package/lib/audio/ui/audio_display_scroll_pane.d.ts +1 -1
- package/lib/audio/ui/audiosignal.d.ts +4 -3
- package/lib/audio/ui/container.d.ts +1 -1
- package/lib/audio/ui/livelevel.d.ts +11 -4
- package/lib/audio/ui/scroll_pane_horizontal.d.ts +1 -1
- package/lib/audio/ui/sonagram.d.ts +4 -3
- package/lib/db/inddb.d.ts +21 -0
- package/lib/io/BinaryReader.d.ts +18 -0
- package/lib/io/stream.d.ts +18 -0
- package/lib/net/uploader.d.ts +20 -2
- package/lib/recorder_component.d.ts +5 -0
- package/lib/speechrecorder/project/project.d.ts +9 -0
- package/lib/speechrecorder/recording.d.ts +8 -2
- package/lib/speechrecorder/recordings/basic_recording.service.d.ts +27 -0
- package/lib/speechrecorder/recordings/recordings.service.d.ts +21 -6
- package/lib/speechrecorder/session/audiorecorder.d.ts +7 -18
- package/lib/speechrecorder/session/basicrecorder.d.ts +28 -4
- package/lib/speechrecorder/session/controlpanel.d.ts +7 -7
- package/lib/speechrecorder/session/item.d.ts +1 -0
- package/lib/speechrecorder/session/progress.d.ts +2 -1
- package/lib/speechrecorder/session/prompting.d.ts +5 -5
- package/lib/speechrecorder/session/recorder_combi_pane.d.ts +1 -1
- package/lib/speechrecorder/session/recording_file_cache.d.ts +7 -4
- package/lib/speechrecorder/session/recording_list.d.ts +2 -1
- package/lib/speechrecorder/session/recordingfile/recording-file-meta.component.d.ts +1 -1
- package/lib/speechrecorder/session/recordingfile/recording-file-navi.component.d.ts +1 -1
- package/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.d.ts +1 -1
- package/lib/speechrecorder/session/recordingfile/recording-file-view.component.d.ts +1 -1
- package/lib/speechrecorder/session/recordingfile/recordingfile-service.d.ts +4 -5
- package/lib/speechrecorder/session/session_finished_dialog.d.ts +1 -1
- package/lib/speechrecorder/session/sessionmanager.d.ts +10 -10
- package/lib/speechrecorder/session/warning_bar.d.ts +1 -1
- package/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.d.ts +1 -1
- package/lib/speechrecorderng.component.d.ts +2 -1
- package/lib/spr.module.version.d.ts +1 -1
- package/lib/ui/canvas_layer_comp.d.ts +1 -1
- package/lib/ui/message_dialog.d.ts +1 -1
- package/lib/ui/recordingitem_display.d.ts +3 -2
- package/lib/utils/scrollIntoViewToBottom.d.ts +1 -1
- package/lib/utils/ua-parser.d.ts +4 -1
- package/lib/utils/utils.d.ts +6 -0
- package/package.json +5 -4
- package/esm2020/lib/math/utils.mjs +0 -14
- package/esm2020/lib/utils/css_utils.mjs +0 -7
- package/lib/math/utils.d.ts +0 -3
- 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
|
|
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(
|
|
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
|
|
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
|
|
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"; "
|
|
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
|
+
}
|
package/lib/io/stream.d.ts
CHANGED
|
@@ -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;
|
package/lib/net/uploader.d.ts
CHANGED
|
@@ -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
|
|
29
|
+
private _serverPersistable;
|
|
30
|
+
get serverPersistable(): ServerPersistable | null;
|
|
29
31
|
private _data;
|
|
30
32
|
private _url;
|
|
31
33
|
status: UploadStatus;
|
|
32
|
-
|
|
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):
|
|
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
|
|
7
|
-
|
|
8
|
-
|
|
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 {
|
|
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
|
|
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(
|
|
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
|
-
|
|
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;
|