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
|
File without changes
|
|
@@ -1,15 +1,31 @@
|
|
|
1
|
-
|
|
1
|
+
import { BasicAudioSource, RandomAccessAudioStream } from "./audio_data_holder";
|
|
2
|
+
import { AsyncFloat32ArrayInputStream, Float32ArrayInputStream } from "../io/stream";
|
|
3
|
+
import { Observable } from "rxjs";
|
|
4
|
+
export declare class ArrayAudioBuffer extends BasicAudioSource {
|
|
2
5
|
private _channelCount;
|
|
3
6
|
private _sampleRate;
|
|
4
7
|
private _data;
|
|
5
8
|
private _chunkCount;
|
|
6
9
|
private _frameLen;
|
|
10
|
+
private _duration;
|
|
11
|
+
private _sealed;
|
|
7
12
|
constructor(_channelCount: number, _sampleRate: number, _data: Array<Array<Float32Array>>);
|
|
13
|
+
private updateFrameLen;
|
|
14
|
+
seal(): void;
|
|
15
|
+
sealed(): boolean;
|
|
8
16
|
static fromAudioBuffer(audioBuffer: AudioBuffer, chunkFrameSize?: number): ArrayAudioBuffer;
|
|
17
|
+
appendAudioBuffer(audioBuffer: AudioBuffer): void;
|
|
9
18
|
get channelCount(): number;
|
|
10
19
|
frames(framePos: number, frameLen: number, bufs: Float32Array[]): number;
|
|
11
20
|
get sampleRate(): number;
|
|
12
21
|
get frameLen(): number;
|
|
13
22
|
get chunkCount(): number;
|
|
14
23
|
get data(): Array<Array<Float32Array>>;
|
|
24
|
+
asyncAudioInputStream(): AsyncFloat32ArrayInputStream | null;
|
|
25
|
+
audioInputStream(): Float32ArrayInputStream | null;
|
|
26
|
+
get duration(): number;
|
|
27
|
+
get numberOfChannels(): number;
|
|
28
|
+
releaseAudioData(): Observable<void>;
|
|
29
|
+
sampleCounts(): number;
|
|
30
|
+
randomAccessAudioStream(): RandomAccessAudioStream;
|
|
15
31
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ArrayAudioBuffer } from "./array_audio_buffer";
|
|
2
|
+
import { RandomAccessAudioStream } from "./audio_data_holder";
|
|
3
|
+
import { Observable } from "rxjs";
|
|
4
|
+
export declare class ArrayAudioBufferRandomAccessStream implements RandomAccessAudioStream {
|
|
5
|
+
private _arrayBuffer;
|
|
6
|
+
constructor(_arrayBuffer: ArrayAudioBuffer);
|
|
7
|
+
close(): void;
|
|
8
|
+
framesObs(framePos: number, frameLen: number, bufs: Float32Array[]): Observable<number>;
|
|
9
|
+
}
|
|
@@ -1,23 +1,78 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { AsyncFloat32ArrayInputStream, Float32ArrayInputStream } from "../io/stream";
|
|
2
|
+
import { Observable } from "rxjs";
|
|
3
|
+
export interface AudioSource {
|
|
4
|
+
get duration(): number;
|
|
5
|
+
get sampleRate(): number;
|
|
6
|
+
get numberOfChannels(): number;
|
|
7
|
+
get frameLen(): number;
|
|
8
|
+
sampleCounts(): number;
|
|
9
|
+
audioInputStream(): Float32ArrayInputStream | null;
|
|
10
|
+
asyncAudioInputStream(): AsyncFloat32ArrayInputStream | null;
|
|
11
|
+
randomAccessAudioStream(): RandomAccessAudioStream;
|
|
12
|
+
releaseAudioData(): Observable<void>;
|
|
13
|
+
addOnReadyListener(onReady: (() => void) | null): void;
|
|
14
|
+
removeOnReadyListener(onReady: (() => void) | null): void;
|
|
15
|
+
ready(): void;
|
|
16
|
+
}
|
|
17
|
+
export declare abstract class BasicAudioSource implements AudioSource {
|
|
18
|
+
protected _ready: boolean;
|
|
19
|
+
protected onReadyListeners: Array<(() => void)>;
|
|
20
|
+
addOnReadyListener(onReady: (() => void)): void;
|
|
21
|
+
removeOnReadyListener(onReady: (() => void)): void;
|
|
22
|
+
ready(): void;
|
|
23
|
+
abstract asyncAudioInputStream(): AsyncFloat32ArrayInputStream | null;
|
|
24
|
+
abstract audioInputStream(): Float32ArrayInputStream | null;
|
|
25
|
+
abstract get duration(): number;
|
|
26
|
+
abstract get frameLen(): number;
|
|
27
|
+
abstract get numberOfChannels(): number;
|
|
28
|
+
abstract randomAccessAudioStream(): RandomAccessAudioStream;
|
|
29
|
+
abstract releaseAudioData(): Observable<void>;
|
|
30
|
+
abstract sampleCounts(): number;
|
|
31
|
+
abstract get sampleRate(): number;
|
|
32
|
+
}
|
|
33
|
+
export declare class AudioBufferSource extends BasicAudioSource {
|
|
34
|
+
private _audioBuffer;
|
|
35
|
+
private readonly _duration;
|
|
36
|
+
constructor(_audioBuffer: AudioBuffer);
|
|
37
|
+
get audioBuffer(): AudioBuffer;
|
|
38
|
+
get duration(): number;
|
|
39
|
+
get sampleRate(): number;
|
|
40
|
+
get numberOfChannels(): number;
|
|
41
|
+
get frameLen(): number;
|
|
42
|
+
sampleCounts(): number;
|
|
43
|
+
audioInputStream(): Float32ArrayInputStream | null;
|
|
44
|
+
asyncAudioInputStream(): AsyncFloat32ArrayInputStream | null;
|
|
45
|
+
releaseAudioData(): Observable<void>;
|
|
46
|
+
randomAccessAudioStream(): RandomAccessAudioStream;
|
|
47
|
+
}
|
|
48
|
+
export interface RandomAccessAudioStream {
|
|
49
|
+
framesObs(framePos: number, frameLen: number, bufs: Float32Array[]): Observable<number>;
|
|
50
|
+
close(): void;
|
|
51
|
+
}
|
|
3
52
|
export declare class AudioDataHolder {
|
|
4
|
-
private
|
|
5
|
-
|
|
53
|
+
private _audioSource;
|
|
54
|
+
get audioSource(): AudioSource | null;
|
|
6
55
|
get duration(): number;
|
|
7
|
-
private _numberOfChannels;
|
|
8
|
-
private _sampleRate;
|
|
9
|
-
private _frameLen;
|
|
10
|
-
private _duration;
|
|
11
|
-
|
|
12
|
-
|
|
56
|
+
private readonly _numberOfChannels;
|
|
57
|
+
private readonly _sampleRate;
|
|
58
|
+
private readonly _frameLen;
|
|
59
|
+
private readonly _duration;
|
|
60
|
+
constructor(_audioSource: AudioSource | null);
|
|
61
|
+
addOnReadyListener(onReady: (() => void) | null): void;
|
|
13
62
|
get sampleRate(): number;
|
|
14
63
|
get numberOfChannels(): number;
|
|
15
64
|
get frameLen(): number;
|
|
16
65
|
sampleCounts(): number;
|
|
17
|
-
|
|
18
|
-
audioInputStream(): Float32ArrayInputStream;
|
|
19
|
-
|
|
20
|
-
|
|
66
|
+
randomAccessAudioStream(): RandomAccessAudioStream;
|
|
67
|
+
audioInputStream(): Float32ArrayInputStream | null;
|
|
68
|
+
asyncAudioInputStream(): AsyncFloat32ArrayInputStream | null;
|
|
69
|
+
releaseAudioData(): Observable<void>;
|
|
70
|
+
}
|
|
71
|
+
export declare class RandomAccessAudioBufferStream implements RandomAccessAudioStream {
|
|
72
|
+
private _buffer;
|
|
73
|
+
constructor(_buffer: AudioBuffer);
|
|
74
|
+
close(): void;
|
|
75
|
+
framesObs(framePos: number, frameLen: number, bufs: Float32Array[]): Observable<number>;
|
|
21
76
|
}
|
|
22
77
|
export declare class AudioBufferInputStream implements Float32ArrayInputStream {
|
|
23
78
|
private audioBuffer;
|
|
@@ -34,5 +34,5 @@ export declare class AudioDisplay implements OnInit, AfterViewInit {
|
|
|
34
34
|
set playFramePosition(playFramePosition: number);
|
|
35
35
|
error(): void;
|
|
36
36
|
static ɵfac: i0.ɵɵFactoryDeclaration<AudioDisplay, never>;
|
|
37
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AudioDisplay, "app-audiodisplay", never, { "playStartAction": "playStartAction"; "playStopAction": "playStopAction"; "playSelectionAction": "playSelectionAction"; "autoPlayOnSelectToggleAction": "autoPlayOnSelectToggleAction"; "audioData": "audioData"; "audioClip": "audioClip"; }, {}, never, never>;
|
|
37
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AudioDisplay, "app-audiodisplay", never, { "playStartAction": "playStartAction"; "playStopAction": "playStopAction"; "playSelectionAction": "playSelectionAction"; "autoPlayOnSelectToggleAction": "autoPlayOnSelectToggleAction"; "audioData": "audioData"; "audioClip": "audioClip"; }, {}, never, never, false>;
|
|
38
38
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { ChangeDetectorRef, AfterViewInit,
|
|
1
|
+
import { ChangeDetectorRef, AfterViewInit, OnInit, ElementRef } from '@angular/core';
|
|
2
2
|
import { AudioClip } from './persistor';
|
|
3
3
|
import { AudioPlayer, AudioPlayerListener, AudioPlayerEvent } from './playback/player';
|
|
4
4
|
import { ActivatedRoute } from "@angular/router";
|
|
5
5
|
import { Action } from "../action/action";
|
|
6
6
|
import { AudioDataHolder } from "./audio_data_holder";
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
|
-
export declare class AudioDisplayPlayer implements AudioPlayerListener, OnInit,
|
|
8
|
+
export declare class AudioDisplayPlayer implements AudioPlayerListener, OnInit, AfterViewInit {
|
|
9
9
|
protected route: ActivatedRoute;
|
|
10
10
|
protected ref: ChangeDetectorRef;
|
|
11
11
|
protected eRef: ElementRef;
|
|
@@ -29,11 +29,7 @@ export declare class AudioDisplayPlayer implements AudioPlayerListener, OnInit,
|
|
|
29
29
|
private audioDisplayScrollPane;
|
|
30
30
|
constructor(route: ActivatedRoute, ref: ChangeDetectorRef, eRef: ElementRef);
|
|
31
31
|
ngOnInit(): void;
|
|
32
|
-
ngAfterContentInit(): void;
|
|
33
|
-
ngAfterContentChecked(): void;
|
|
34
32
|
ngAfterViewInit(): void;
|
|
35
|
-
ngAfterViewChecked(): void;
|
|
36
|
-
init(): void;
|
|
37
33
|
layout(): void;
|
|
38
34
|
get audioUrl(): string | null;
|
|
39
35
|
set audioUrl(value: string | null);
|
|
@@ -48,5 +44,5 @@ export declare class AudioDisplayPlayer implements AudioPlayerListener, OnInit,
|
|
|
48
44
|
audioPlayerUpdate(e: AudioPlayerEvent): void;
|
|
49
45
|
error(): void;
|
|
50
46
|
static ɵfac: i0.ɵɵFactoryDeclaration<AudioDisplayPlayer, never>;
|
|
51
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AudioDisplayPlayer, "app-audiodisplayplayer", never, { "playStartAction": "playStartAction"; "playStopAction": "playStopAction"; "playSelectionAction": "playSelectionAction"; "autoPlayOnSelectToggleAction": "autoPlayOnSelectToggleAction"; "audioData": "audioData"; "audioClip": "audioClip"; }, {}, never, never>;
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AudioDisplayPlayer, "app-audiodisplayplayer", never, { "playStartAction": "playStartAction"; "playStopAction": "playStopAction"; "playSelectionAction": "playSelectionAction"; "autoPlayOnSelectToggleAction": "autoPlayOnSelectToggleAction"; "audioData": "audioData"; "audioClip": "audioClip"; }, {}, never, never, false>;
|
|
52
48
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SequenceAudioFloat32OutStream } from "../io/stream";
|
|
2
|
-
import { AutoGainControlConfig } from "../../speechrecorder/project/project";
|
|
2
|
+
import { AudioStorageType, AutoGainControlConfig } from "../../speechrecorder/project/project";
|
|
3
3
|
import { ArrayAudioBuffer } from "../array_audio_buffer";
|
|
4
|
+
import { IndexedDbAudioBuffer, PersistentAudioStorageTarget } from "../inddb_audio_buffer";
|
|
4
5
|
export declare const CHROME_ACTIVATE_ECHO_CANCELLATION_WITH_AGC = false;
|
|
5
6
|
export interface AudioCaptureListener {
|
|
6
7
|
opened(): void;
|
|
@@ -10,16 +11,27 @@ export interface AudioCaptureListener {
|
|
|
10
11
|
error(msg?: string, advice?: string): void;
|
|
11
12
|
}
|
|
12
13
|
export declare class AudioCapture {
|
|
14
|
+
get maxAutoNetMemStoreSamples(): number;
|
|
15
|
+
set maxAutoNetMemStoreSamples(value: number);
|
|
16
|
+
set recUUID(value: string | null);
|
|
17
|
+
get recUUID(): string | null;
|
|
18
|
+
get audioStorageType(): AudioStorageType;
|
|
19
|
+
set audioStorageType(value: AudioStorageType);
|
|
20
|
+
get persistentAudioStorageTarget(): PersistentAudioStorageTarget | null;
|
|
21
|
+
set persistentAudioStorageTarget(value: PersistentAudioStorageTarget | null);
|
|
13
22
|
get opened(): boolean;
|
|
14
23
|
static BUFFER_SIZE: number;
|
|
24
|
+
private static readonly DEFAULT_MAX_NET_AUTO_MEM_STORE_SAMPLES;
|
|
25
|
+
private _maxAutoNetMemStoreSamples;
|
|
15
26
|
context: AudioContext;
|
|
16
27
|
stream: MediaStream;
|
|
17
28
|
channelCount: number;
|
|
29
|
+
private _recUUID;
|
|
18
30
|
mediaStream: any;
|
|
19
31
|
agcStatus: boolean | null;
|
|
20
32
|
bufferingNode: AudioNode | null;
|
|
21
33
|
listener: AudioCaptureListener;
|
|
22
|
-
data: Array<Array<Float32Array
|
|
34
|
+
data: Array<Array<Float32Array>> | null;
|
|
23
35
|
currentSampleRate: number;
|
|
24
36
|
n: Navigator;
|
|
25
37
|
audioOutStream: SequenceAudioFloat32OutStream | null;
|
|
@@ -27,6 +39,11 @@ export declare class AudioCapture {
|
|
|
27
39
|
private _opened;
|
|
28
40
|
private capturing;
|
|
29
41
|
framesRecorded: number;
|
|
42
|
+
private _audioStorageType;
|
|
43
|
+
private _persistentAudioStorageTarget;
|
|
44
|
+
private persisted;
|
|
45
|
+
private persistError;
|
|
46
|
+
private inddbAudioBuffer;
|
|
30
47
|
constructor(context: AudioContext);
|
|
31
48
|
private initData;
|
|
32
49
|
listDevices(): void;
|
|
@@ -36,9 +53,12 @@ export declare class AudioCapture {
|
|
|
36
53
|
printDevices(l: MediaDeviceInfo[]): void;
|
|
37
54
|
open(channelCount: number, selDeviceId?: ConstrainDOMString | undefined, autoGainControlConfigs?: Array<AutoGainControlConfig> | null | undefined): void;
|
|
38
55
|
_open(channelCount: number, selDeviceId?: ConstrainDOMString | undefined, autoGainControlConfigs?: Array<AutoGainControlConfig> | null | undefined): void;
|
|
56
|
+
private _start;
|
|
39
57
|
start(): void;
|
|
40
58
|
stop(): void;
|
|
59
|
+
store(): void;
|
|
41
60
|
close(): void;
|
|
42
|
-
audioBuffer(): AudioBuffer;
|
|
43
|
-
audioBufferArray(): ArrayAudioBuffer;
|
|
61
|
+
audioBuffer(): AudioBuffer | null;
|
|
62
|
+
audioBufferArray(): ArrayAudioBuffer | null;
|
|
63
|
+
inddbAudioBufferArray(): IndexedDbAudioBuffer | null;
|
|
44
64
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SequenceAudioFloat32OutStream } from "../io/stream";
|
|
2
2
|
import { AudioDataHolder } from "../audio_data_holder";
|
|
3
|
+
import { Observable } from "rxjs";
|
|
3
4
|
export declare const MIN_DB_LEVEL = -40;
|
|
4
5
|
export declare class LevelInfo {
|
|
5
6
|
readonly channelCount: number;
|
|
@@ -29,32 +30,10 @@ export interface LevelListener {
|
|
|
29
30
|
streamFinished(): void;
|
|
30
31
|
reset(): void;
|
|
31
32
|
}
|
|
32
|
-
export interface PeakLevelListener {
|
|
33
|
-
update(peakLevel: number): void;
|
|
34
|
-
}
|
|
35
|
-
export interface PeakLevelListener {
|
|
36
|
-
update(levelInfo: LevelInfo, peakLevelInfo: LevelInfo): void;
|
|
37
|
-
streamFinished(): void;
|
|
38
|
-
reset(): void;
|
|
39
|
-
}
|
|
40
|
-
export declare class PeakLevelInterceptor implements LevelListener {
|
|
41
|
-
private levelListener?;
|
|
42
|
-
get peakDbLvl(): number;
|
|
43
|
-
get channelCount(): number;
|
|
44
|
-
set channelCount(value: number);
|
|
45
|
-
private _channelCount;
|
|
46
|
-
private _peakDbLvl;
|
|
47
|
-
constructor(levelListener?: LevelListener | undefined);
|
|
48
|
-
update(levelInfo: LevelInfo, peakLevelInfo: LevelInfo): void;
|
|
49
|
-
streamFinished(): void;
|
|
50
|
-
reset(): void;
|
|
51
|
-
}
|
|
52
33
|
export declare class LevelMeasure {
|
|
53
34
|
private readonly workerURL;
|
|
54
|
-
private worker;
|
|
55
35
|
constructor();
|
|
56
|
-
calcBufferLevelInfos(audioDataHolder: AudioDataHolder, bufferTimeLength: number):
|
|
57
|
-
private terminateWorker;
|
|
36
|
+
calcBufferLevelInfos(audioDataHolder: AudioDataHolder, bufferTimeLength: number): Observable<LevelInfos>;
|
|
58
37
|
workerFunction(): void;
|
|
59
38
|
}
|
|
60
39
|
export declare class StreamLevelMeasure implements SequenceAudioFloat32OutStream {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PCMAudioFormat } from '../format';
|
|
2
|
+
export declare class WavReader {
|
|
3
|
+
private br;
|
|
4
|
+
private format;
|
|
5
|
+
private totalLength;
|
|
6
|
+
private dataChunkLength;
|
|
7
|
+
constructor(data: ArrayBuffer);
|
|
8
|
+
private readHeader;
|
|
9
|
+
readFormat(): PCMAudioFormat | null;
|
|
10
|
+
private _frameLength;
|
|
11
|
+
frameLength(): number | null;
|
|
12
|
+
read(): AudioBuffer | null;
|
|
13
|
+
private navigateToChunk;
|
|
14
|
+
private parseFmtChunk;
|
|
15
|
+
private readData;
|
|
16
|
+
}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
export declare class WavWriter {
|
|
2
|
-
static
|
|
3
|
-
static DEFAULT_SAMPLE_SIZE_BYTES: number;
|
|
2
|
+
static readonly DEFAULT_SAMPLE_SIZE_BYTES: number;
|
|
4
3
|
private bw;
|
|
5
|
-
private format;
|
|
6
|
-
private dataLength;
|
|
7
4
|
private workerURL;
|
|
8
5
|
constructor();
|
|
9
6
|
workerFunction(): void;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Observable } from "rxjs";
|
|
2
|
+
import { AsyncFloat32ArrayInputStream, Float32ArrayInputStream } from "../io/stream";
|
|
3
|
+
import { AudioSource, BasicAudioSource, RandomAccessAudioStream } from "./audio_data_holder";
|
|
4
|
+
export declare class PersistentAudioStorageTarget {
|
|
5
|
+
private _indexedDb;
|
|
6
|
+
private _storeName;
|
|
7
|
+
get indexedDb(): IDBDatabase;
|
|
8
|
+
get storeName(): string;
|
|
9
|
+
constructor(_indexedDb: IDBDatabase, _storeName: string);
|
|
10
|
+
transaction(mode?: IDBTransactionMode): IDBTransaction;
|
|
11
|
+
objectStore(mode?: IDBTransactionMode): IDBObjectStore;
|
|
12
|
+
deleteAll(): Observable<void>;
|
|
13
|
+
}
|
|
14
|
+
export declare class IndexedDbAudioBuffer extends BasicAudioSource implements AudioSource {
|
|
15
|
+
private _persistentAudioStorageTarget;
|
|
16
|
+
private _channelCount;
|
|
17
|
+
private _sampleRate;
|
|
18
|
+
private _chunkFrameLen;
|
|
19
|
+
private _frameLen;
|
|
20
|
+
private _uuid;
|
|
21
|
+
get chunkFrameLen(): number;
|
|
22
|
+
get persistentAudioStorageTarget(): PersistentAudioStorageTarget;
|
|
23
|
+
get uuid(): string;
|
|
24
|
+
private _chunkCount;
|
|
25
|
+
private indDbChkIdx;
|
|
26
|
+
private _sealed;
|
|
27
|
+
private _storeError;
|
|
28
|
+
constructor(_persistentAudioStorageTarget: PersistentAudioStorageTarget, _channelCount: number, _sampleRate: number, _chunkFrameLen: number, _frameLen: number, _uuid: string);
|
|
29
|
+
get channelCount(): number;
|
|
30
|
+
sealed(): boolean;
|
|
31
|
+
seal(): void;
|
|
32
|
+
private deleteChunk;
|
|
33
|
+
private deleteAllBufs;
|
|
34
|
+
get sampleRate(): number;
|
|
35
|
+
get frameLen(): number;
|
|
36
|
+
get chunkCount(): number;
|
|
37
|
+
appendRawAudioData(data: Array<Array<Float32Array>>): Observable<void>;
|
|
38
|
+
static fromChunkAudioBuffer(persistentAudioStorageTarget: PersistentAudioStorageTarget, audioBuffer: AudioBuffer): Observable<IndexedDbAudioBuffer>;
|
|
39
|
+
appendChunkAudioBuffer(audioBuffer: AudioBuffer): Observable<void>;
|
|
40
|
+
releaseAudioData(): Observable<void>;
|
|
41
|
+
toString(): string;
|
|
42
|
+
asyncAudioInputStream(): AsyncFloat32ArrayInputStream | null;
|
|
43
|
+
audioInputStream(): Float32ArrayInputStream | null;
|
|
44
|
+
get duration(): number;
|
|
45
|
+
get numberOfChannels(): number;
|
|
46
|
+
sampleCounts(): number;
|
|
47
|
+
randomAccessAudioStream(): RandomAccessAudioStream;
|
|
48
|
+
}
|
|
49
|
+
export declare class IndexedDbRandomAccessStream implements RandomAccessAudioStream {
|
|
50
|
+
private _inddbAb;
|
|
51
|
+
private _currCi;
|
|
52
|
+
private _ccCache;
|
|
53
|
+
constructor(_inddbAb: IndexedDbAudioBuffer);
|
|
54
|
+
private chunk;
|
|
55
|
+
private _fillBufs;
|
|
56
|
+
private fillBufs;
|
|
57
|
+
framesObs(framePos: number, frameLen: number, bufs: Float32Array[]): Observable<number>;
|
|
58
|
+
close(): void;
|
|
59
|
+
}
|
|
60
|
+
export declare class IndexedDbAudioInputStream implements AsyncFloat32ArrayInputStream {
|
|
61
|
+
private inddbAb;
|
|
62
|
+
private framePos;
|
|
63
|
+
private inddbAbStr;
|
|
64
|
+
constructor(inddbAb: IndexedDbAudioBuffer);
|
|
65
|
+
close(): void;
|
|
66
|
+
readObs(buffers: Array<Float32Array>): Observable<number>;
|
|
67
|
+
skipFrames(n: number): void;
|
|
68
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Observable } from "rxjs";
|
|
2
|
+
import { AsyncFloat32ArrayInputStream, Float32ArrayInputStream } from "../io/stream";
|
|
3
|
+
import { AudioSource, BasicAudioSource, RandomAccessAudioStream } from "./audio_data_holder";
|
|
4
|
+
import { BasicRecordingService } from "../speechrecorder/recordings/basic_recording.service";
|
|
5
|
+
export declare class NetAudioBuffer extends BasicAudioSource implements AudioSource {
|
|
6
|
+
protected _audioContext: AudioContext;
|
|
7
|
+
private _recFileService;
|
|
8
|
+
private _baseUrl;
|
|
9
|
+
private _channelCount;
|
|
10
|
+
private _sampleRate;
|
|
11
|
+
private _chunkFrameLen;
|
|
12
|
+
private _frameLen;
|
|
13
|
+
private _uuid;
|
|
14
|
+
private _orgFetchChunkFrameLen;
|
|
15
|
+
get orgFetchChunkFrameLen(): number;
|
|
16
|
+
get recFileService(): BasicRecordingService;
|
|
17
|
+
get audioContext(): AudioContext;
|
|
18
|
+
get baseUrl(): string;
|
|
19
|
+
get chunkFrameLen(): number;
|
|
20
|
+
get uuid(): string | null;
|
|
21
|
+
private _chunkCount;
|
|
22
|
+
private _sealed;
|
|
23
|
+
constructor(_audioContext: AudioContext, _recFileService: BasicRecordingService, _baseUrl: string, _channelCount: number, _sampleRate: number, _chunkFrameLen: number, _frameLen: number, _uuid?: string | null, _orgFetchChunkFrameLen?: number);
|
|
24
|
+
get channelCount(): number;
|
|
25
|
+
sealed(): boolean;
|
|
26
|
+
seal(): void;
|
|
27
|
+
get sampleRate(): number;
|
|
28
|
+
get frameLen(): number;
|
|
29
|
+
get chunkCount(): number;
|
|
30
|
+
releaseAudioData(): Observable<void>;
|
|
31
|
+
toString(): string;
|
|
32
|
+
static fromChunkAudioBuffer(aCtx: AudioContext, recordingsService: BasicRecordingService, baseUrl: string, ab: AudioBuffer, frameLen: number, orgFetchChunkFrameLen?: number): NetAudioBuffer;
|
|
33
|
+
asyncAudioInputStream(): AsyncFloat32ArrayInputStream | null;
|
|
34
|
+
audioInputStream(): Float32ArrayInputStream | null;
|
|
35
|
+
get duration(): number;
|
|
36
|
+
get numberOfChannels(): number;
|
|
37
|
+
sampleCounts(): number;
|
|
38
|
+
randomAccessAudioStream(): RandomAccessAudioStream;
|
|
39
|
+
}
|
|
40
|
+
export declare class NetRandomAccessAudioStream implements RandomAccessAudioStream {
|
|
41
|
+
private _netAb;
|
|
42
|
+
private _currCi;
|
|
43
|
+
private _ccCache;
|
|
44
|
+
constructor(_netAb: NetAudioBuffer);
|
|
45
|
+
private chunk;
|
|
46
|
+
private _fillBufs;
|
|
47
|
+
private fillBufs;
|
|
48
|
+
framesObs(framePos: number, frameLen: number, bufs: Float32Array[]): Observable<number>;
|
|
49
|
+
close(): void;
|
|
50
|
+
}
|
|
51
|
+
export declare class NetAudioInputStream implements AsyncFloat32ArrayInputStream {
|
|
52
|
+
private netAb;
|
|
53
|
+
private framePos;
|
|
54
|
+
private netAbStr;
|
|
55
|
+
constructor(netAb: NetAudioBuffer);
|
|
56
|
+
close(): void;
|
|
57
|
+
readObs(buffers: Array<Float32Array>): Observable<number>;
|
|
58
|
+
skipFrames(n: number): void;
|
|
59
|
+
}
|
package/lib/audio/persistor.d.ts
CHANGED
|
@@ -14,16 +14,10 @@ export declare class AudioClip {
|
|
|
14
14
|
addSelectionObserver(selectionObserver: (audioClip: AudioClip) => void, init?: boolean): void;
|
|
15
15
|
removeSelectionObserver(selectionObserver: (audioClip: AudioClip) => void): void;
|
|
16
16
|
}
|
|
17
|
-
export interface Reader {
|
|
18
|
-
read(data: Blob): AudioClip;
|
|
19
|
-
}
|
|
20
|
-
export interface Writer {
|
|
21
|
-
write(audioData: AudioClip): Blob;
|
|
22
|
-
}
|
|
23
17
|
export declare class Selection {
|
|
24
|
-
private _sampleRate;
|
|
25
|
-
private _startFrame;
|
|
26
|
-
private _endFrame;
|
|
18
|
+
private readonly _sampleRate;
|
|
19
|
+
private readonly _startFrame;
|
|
20
|
+
private readonly _endFrame;
|
|
27
21
|
constructor(sampleRate: number, startFrame: number, endFrame: number);
|
|
28
22
|
get sampleRate(): number;
|
|
29
23
|
get endFrame(): number;
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { ArrayAudioBuffer } from "../array_audio_buffer";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
static readonly DEFAULT_BUFFER_FILL_SECONDS = 10;
|
|
2
|
+
import { AudioSourceNode } from "./audio_source_node";
|
|
3
|
+
export declare class ArrayAudioBufferSourceNode extends AudioSourceNode {
|
|
5
4
|
private _bufferFillSeconds;
|
|
6
5
|
private bufferFillFrames;
|
|
7
6
|
private _arrayAudioBuffer;
|
|
8
7
|
private _audioInputStream;
|
|
9
8
|
private _aisBufs;
|
|
10
9
|
private filledFrames;
|
|
11
|
-
onended: (() => void) | null;
|
|
12
10
|
constructor(context: AudioContext);
|
|
13
11
|
private fillBuffer;
|
|
14
12
|
get arrayAudioBuffer(): ArrayAudioBuffer | null;
|
|
@@ -18,7 +16,3 @@ export declare class ArrayAudioBufferSourceNode extends AudioWorkletNode {
|
|
|
18
16
|
start(when?: number | undefined, offset?: number | undefined, duration?: number | undefined): void;
|
|
19
17
|
stop(): void;
|
|
20
18
|
}
|
|
21
|
-
export declare class AudioSourceWorkletModuleLoader {
|
|
22
|
-
private static moduleLoaded;
|
|
23
|
-
static loadModule(context: AudioContext): Promise<void>;
|
|
24
|
-
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare abstract class AudioSourceNode extends AudioWorkletNode {
|
|
2
|
+
static readonly DEFAULT_BUFFER_FILL_SECONDS = 10;
|
|
3
|
+
static readonly DEFAULT_STREAM_READ_FRAME_LEN = 1024;
|
|
4
|
+
static readonly QUANTUM_FRAME_LEN = 128;
|
|
5
|
+
protected _playStartTime: number | null;
|
|
6
|
+
abstract start(when?: number | undefined, offset?: number | undefined, duration?: number | undefined): void;
|
|
7
|
+
abstract stop(): void;
|
|
8
|
+
get playPositionTime(): number | null;
|
|
9
|
+
onended: (() => void) | null;
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IndexedDbAudioBuffer } from "../inddb_audio_buffer";
|
|
2
|
+
import { AudioSourceNode } from "./audio_source_node";
|
|
3
|
+
export declare class IndexedDbAudioBufferSourceNode extends AudioSourceNode {
|
|
4
|
+
private _bufferFillSeconds;
|
|
5
|
+
private bufferFillFrames;
|
|
6
|
+
private _streamReadFrameLen;
|
|
7
|
+
private _inddbAudioBuffer;
|
|
8
|
+
private _audioInputStream;
|
|
9
|
+
private _aisBufs;
|
|
10
|
+
private _active;
|
|
11
|
+
private _endOfStream;
|
|
12
|
+
private filledFrames;
|
|
13
|
+
constructor(context: AudioContext);
|
|
14
|
+
private fillBufferObs;
|
|
15
|
+
get inddbAudioBuffer(): IndexedDbAudioBuffer | null;
|
|
16
|
+
set inddbAudioBuffer(value: IndexedDbAudioBuffer | null);
|
|
17
|
+
get bufferFillSeconds(): number;
|
|
18
|
+
set bufferFillSeconds(value: number);
|
|
19
|
+
start(when?: number | undefined, offset?: number | undefined, duration?: number | undefined): void;
|
|
20
|
+
stop(): void;
|
|
21
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AudioSourceNode } from "./audio_source_node";
|
|
2
|
+
import { NetAudioBuffer } from "../net_audio_buffer";
|
|
3
|
+
export declare class NetAudioBufferSourceNode extends AudioSourceNode {
|
|
4
|
+
private _bufferFillSeconds;
|
|
5
|
+
private bufferFillFrames;
|
|
6
|
+
private _streamReadFrameLen;
|
|
7
|
+
private _netAudioBuffer;
|
|
8
|
+
private _audioInputStream;
|
|
9
|
+
private _aisBufs;
|
|
10
|
+
private _active;
|
|
11
|
+
private stalled;
|
|
12
|
+
private _endOfStream;
|
|
13
|
+
private readDataSubscription;
|
|
14
|
+
private filledFrames;
|
|
15
|
+
private stalledStartTime;
|
|
16
|
+
private stalledTime;
|
|
17
|
+
private stopEndTime;
|
|
18
|
+
constructor(context: AudioContext);
|
|
19
|
+
private fillBufferObs;
|
|
20
|
+
get netAudioBuffer(): NetAudioBuffer | null;
|
|
21
|
+
set netAudioBuffer(value: NetAudioBuffer | null);
|
|
22
|
+
get bufferFillSeconds(): number;
|
|
23
|
+
set bufferFillSeconds(value: number);
|
|
24
|
+
start(when?: number | undefined, offset?: number | undefined, duration?: number | undefined): void;
|
|
25
|
+
stop(): void;
|
|
26
|
+
get playPositionTime(): number | null;
|
|
27
|
+
}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { Action } from '../../action/action';
|
|
2
2
|
import { AudioClip } from '../persistor';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { AudioSourceNode } from "./audio_source_node";
|
|
4
|
+
import { AudioSource } from "../audio_data_holder";
|
|
5
5
|
export declare enum EventType {
|
|
6
6
|
CLOSED = 0,
|
|
7
7
|
READY = 1,
|
|
8
8
|
STARTED = 2,
|
|
9
9
|
POS_UPDATE = 3,
|
|
10
10
|
STOPPED = 4,
|
|
11
|
-
ENDED = 5
|
|
11
|
+
ENDED = 5,
|
|
12
|
+
ERROR = 6
|
|
12
13
|
}
|
|
13
14
|
export declare class AudioPlayerEvent {
|
|
14
|
-
private _type;
|
|
15
|
-
private _timePosition;
|
|
15
|
+
private readonly _type;
|
|
16
|
+
private readonly _timePosition;
|
|
16
17
|
constructor(type: EventType, timePosition?: number);
|
|
17
18
|
get type(): EventType;
|
|
18
19
|
get timePosition(): number | undefined;
|
|
@@ -24,18 +25,18 @@ export declare class AudioPlayer {
|
|
|
24
25
|
get autoPlayOnSelectToggleAction(): Action<boolean>;
|
|
25
26
|
static DEFAULT_BUFSIZE: number;
|
|
26
27
|
private running;
|
|
27
|
-
private _startAction;
|
|
28
|
-
private _startSelectionAction;
|
|
29
|
-
private _autoPlayOnSelectToggleAction;
|
|
30
|
-
private _stopAction;
|
|
28
|
+
private readonly _startAction;
|
|
29
|
+
private readonly _startSelectionAction;
|
|
30
|
+
private readonly _autoPlayOnSelectToggleAction;
|
|
31
|
+
private readonly _stopAction;
|
|
31
32
|
bufSize: number;
|
|
32
33
|
context: AudioContext;
|
|
34
|
+
ready: boolean;
|
|
33
35
|
listener: AudioPlayerListener;
|
|
34
36
|
_audioClip: AudioClip | null;
|
|
35
|
-
|
|
36
|
-
_arrayAudioBuffer: ArrayAudioBuffer | null;
|
|
37
|
+
private _audioSource;
|
|
37
38
|
sourceBufferNode: AudioBufferSourceNode | null;
|
|
38
|
-
sourceAudioWorkletNode:
|
|
39
|
+
sourceAudioWorkletNode: AudioSourceNode | null;
|
|
39
40
|
buffPos: number;
|
|
40
41
|
private zeroBufCnt;
|
|
41
42
|
n: any;
|
|
@@ -47,12 +48,14 @@ export declare class AudioPlayer {
|
|
|
47
48
|
get startSelectionAction(): Action<void>;
|
|
48
49
|
get stopAction(): Action<void>;
|
|
49
50
|
set audioClip(audioClip: AudioClip | null);
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
get audioSource(): AudioSource | null;
|
|
52
|
+
set audioSource(value: AudioSource | null);
|
|
53
|
+
private _loadSourceWorkletAndInitStart;
|
|
54
|
+
private _startAudioSourceWorkletNode;
|
|
54
55
|
start(): void;
|
|
56
|
+
updateStartActions(): void;
|
|
55
57
|
startSelectionDisabled(): boolean;
|
|
58
|
+
private _start;
|
|
56
59
|
startSelected(): void;
|
|
57
60
|
stop(): void;
|
|
58
61
|
onended(): void;
|