speechrecorderng 3.11.24 → 3.11.25

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/README.md CHANGED
@@ -9,7 +9,7 @@ For backwards compatibility to server REST API v1 set the property `apiVersion:
9
9
 
10
10
  ### Install NPM package
11
11
  Speechrecorder module is available as NPM package.
12
- Add `"speechrecorderng": "3.11.23"` to the `dependencies` array property in the `package.json` file of your application. Run `npm install` to install the package.
12
+ Add `"speechrecorderng": "3.11.25"` to the `dependencies` array property in the `package.json` file of your application. Run `npm install` to install the package.
13
13
  ### Module integration
14
14
  Add SpeechRecorderNg module to 'imports' property of your `AppModule` annotation. The module main component `SpeechRecorder` should be activated by an Angular route.
15
15
 
@@ -901,6 +901,9 @@ class AudioSourceNode extends AudioWorkletNode {
901
901
  static { this.DEFAULT_BUFFER_FILL_SECONDS = 10; }
902
902
  static { this.DEFAULT_STREAM_READ_FRAME_LEN = 1024; }
903
903
  static { this.QUANTUM_FRAME_LEN = 128; }
904
+ resetPlayPositionTime() {
905
+ this._playStartTime = null;
906
+ }
904
907
  get playPositionTime() {
905
908
  let ppt = null;
906
909
  if (this._playStartTime !== null) {
@@ -2648,6 +2651,12 @@ class AudioPlayer {
2648
2651
  }
2649
2652
  return this.context;
2650
2653
  }
2654
+ _resetPlayPosition() {
2655
+ this.playStartTime = null;
2656
+ if (this.sourceAudioWorkletNode) {
2657
+ this.sourceAudioWorkletNode.resetPlayPositionTime();
2658
+ }
2659
+ }
2651
2660
  get startAction() {
2652
2661
  return this._startAction;
2653
2662
  }
@@ -13663,6 +13672,7 @@ class SessionManager extends BasicRecorder {
13663
13672
  this._displayRecFile = displayRecFile;
13664
13673
  }
13665
13674
  updateDisplayRecFile(displayRecFile, fetchAndApplyRecordingFile = true) {
13675
+ this.liveLevelDisplay.playFramePosition = null;
13666
13676
  this.displayRecFile = displayRecFile;
13667
13677
  if (this._displayRecFile) {
13668
13678
  if (this.items) {
@@ -14467,13 +14477,13 @@ class SessionManager extends BasicRecorder {
14467
14477
  [playSelectionAction]="controlAudioPlayer?.startSelectionAction"
14468
14478
  [autoPlayOnSelectToggleAction]="controlAudioPlayer?.autoPlayOnSelectToggleAction"
14469
14479
  [playStopAction]="controlAudioPlayer?.stopAction">
14470
-
14480
+
14471
14481
  </app-sprprompting>
14472
14482
  @if (screenXs) {
14473
14483
  <mat-progress-bar [value]="progressPercentValue()" ></mat-progress-bar>
14474
14484
  }
14475
-
14476
-
14485
+
14486
+
14477
14487
  <div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
14478
14488
  <audio-levelbar style="flex:1 0 1%" [streamingMode]="isRecording() || keepLiveLevel" [displayLevelInfos]="displayAudioClip?.levelInfos" [state]="liveLevelDisplayState"></audio-levelbar>
14479
14489
  <div style="display:flex;flex-direction: row">
@@ -14486,7 +14496,7 @@ class SessionManager extends BasicRecorder {
14486
14496
  [agc]="this.ac?.agcStatus"
14487
14497
  (onShowRecordingDetails)="audioSignalCollapsed=!audioSignalCollapsed">
14488
14498
  </spr-recordingitemcontrols>
14489
-
14499
+
14490
14500
  @if (screenXs && enableUploadRecordings) {
14491
14501
  <app-uploadstatus class="ricontrols dark" style="flex:0 0 0" [value]="uploadProgress"
14492
14502
  [status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
@@ -14536,13 +14546,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImpo
14536
14546
  [playSelectionAction]="controlAudioPlayer?.startSelectionAction"
14537
14547
  [autoPlayOnSelectToggleAction]="controlAudioPlayer?.autoPlayOnSelectToggleAction"
14538
14548
  [playStopAction]="controlAudioPlayer?.stopAction">
14539
-
14549
+
14540
14550
  </app-sprprompting>
14541
14551
  @if (screenXs) {
14542
14552
  <mat-progress-bar [value]="progressPercentValue()" ></mat-progress-bar>
14543
14553
  }
14544
-
14545
-
14554
+
14555
+
14546
14556
  <div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
14547
14557
  <audio-levelbar style="flex:1 0 1%" [streamingMode]="isRecording() || keepLiveLevel" [displayLevelInfos]="displayAudioClip?.levelInfos" [state]="liveLevelDisplayState"></audio-levelbar>
14548
14558
  <div style="display:flex;flex-direction: row">
@@ -14555,7 +14565,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImpo
14555
14565
  [agc]="this.ac?.agcStatus"
14556
14566
  (onShowRecordingDetails)="audioSignalCollapsed=!audioSignalCollapsed">
14557
14567
  </spr-recordingitemcontrols>
14558
-
14568
+
14559
14569
  @if (screenXs && enableUploadRecordings) {
14560
14570
  <app-uploadstatus class="ricontrols dark" style="flex:0 0 0" [value]="uploadProgress"
14561
14571
  [status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
@@ -15385,6 +15395,9 @@ class AudioDisplayPlayer {
15385
15395
  if (this.ap && this.ap.playPositionFrames) {
15386
15396
  this.audioDisplayScrollPane.playFramePosition = this.ap.playPositionFrames;
15387
15397
  }
15398
+ else {
15399
+ this.audioDisplayScrollPane.playFramePosition = null;
15400
+ }
15388
15401
  }
15389
15402
  audioPlayerUpdate(e) {
15390
15403
  if (EventType.STARTED === e.type) {
@@ -16734,7 +16747,7 @@ class RecordingList {
16734
16747
  <ng-container matColumnDef="startedDate">
16735
16748
  <th mat-header-cell *matHeaderCellDef mat-header>Started</th>
16736
16749
  <td mat-cell class="monospaced"
16737
- *matCellDef="let element">{{element.startedDate | date:'YYYY-MM-dd HH:mm:ss'}}</td>
16750
+ *matCellDef="let element">{{element.startedDate | date:'yyyy-MM-dd HH:mm:ss'}}</td>
16738
16751
  </ng-container>
16739
16752
  <ng-container matColumnDef="length">
16740
16753
  <th mat-header-cell *matHeaderCellDef mat-header>Length</th>
@@ -16782,7 +16795,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImpo
16782
16795
  <ng-container matColumnDef="startedDate">
16783
16796
  <th mat-header-cell *matHeaderCellDef mat-header>Started</th>
16784
16797
  <td mat-cell class="monospaced"
16785
- *matCellDef="let element">{{element.startedDate | date:'YYYY-MM-dd HH:mm:ss'}}</td>
16798
+ *matCellDef="let element">{{element.startedDate | date:'yyyy-MM-dd HH:mm:ss'}}</td>
16786
16799
  </ng-container>
16787
16800
  <ng-container matColumnDef="length">
16788
16801
  <th mat-header-cell *matHeaderCellDef mat-header>Length</th>
@@ -17236,6 +17249,7 @@ class AudioRecorder extends BasicRecorder {
17236
17249
  }
17237
17250
  set displayRecFile(displayRecFile) {
17238
17251
  //this.audioLoaded=false;
17252
+ this.liveLevelDisplay.playFramePosition = null;
17239
17253
  this._displayRecFile = displayRecFile;
17240
17254
  if (this._displayRecFile) {
17241
17255
  let adh = this._displayRecFile.audioDataHolder;
@@ -17745,8 +17759,11 @@ class AudioRecorder extends BasicRecorder {
17745
17759
  const ppFrames = this._controlAudioPlayer.playPositionFrames;
17746
17760
  if (ppFrames !== null) {
17747
17761
  this.recorderCombiPane.audioDisplay.playFramePosition = ppFrames;
17748
- this.liveLevelDisplay.playFramePosition = ppFrames;
17749
17762
  }
17763
+ this.liveLevelDisplay.playFramePosition = ppFrames;
17764
+ }
17765
+ else {
17766
+ this.liveLevelDisplay.playFramePosition = null;
17750
17767
  }
17751
17768
  }
17752
17769
  audioPlayerUpdate(e) {
@@ -17759,6 +17776,7 @@ class AudioRecorder extends BasicRecorder {
17759
17776
  else if (EventType.ENDED === e.type) {
17760
17777
  //.status='Ready.';
17761
17778
  window.clearInterval(this.updateTimerId);
17779
+ this.updateControlPlaybackPosition();
17762
17780
  }
17763
17781
  if (!this.destroyed) {
17764
17782
  this.changeDetectorRef.detectChanges();
@@ -18109,7 +18127,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImpo
18109
18127
  exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, AudioRecorder], imports: [RouterModule.forChild(SPR_ROUTES), CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule, MatMenuModule, IntersectionObserverDirective], providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader, provideHttpClient(withInterceptorsFromDi())] }]
18110
18128
  }] });
18111
18129
 
18112
- const VERSION = '3.11.24';
18130
+ const VERSION = '3.11.25';
18113
18131
 
18114
18132
  const SPEECHRECORDER_ENVIRONMENT_DEFAULTS = {
18115
18133
  production: false,