@christianriedl/utils 1.0.94 → 1.0.95

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/dist/audio.d.ts CHANGED
@@ -9,6 +9,7 @@ export interface IPause extends IStop {
9
9
  }
10
10
  export declare class Audio {
11
11
  static recordAudio(endThreshold: number, onEnd: (blob: Blob) => void, onStateChange?: () => void, onError?: (e: string) => void): Promise<IPause>;
12
+ static voices: SpeechSynthesisVoice[];
12
13
  static getSpeechSynthesizeVoices(): Promise<SpeechSynthesisVoice[]>;
13
14
  static speechSynthesize(text: string, voiceName?: string, language?: string, rate?: number, pitch?: number, onEnd?: () => void, onStateChange?: () => void, onError?: (e: string) => void): Promise<IPause>;
14
15
  static speechTranscribe(language?: string, retStop?: IStop): Promise<SpeechRecognitionResult>;
package/dist/audio.js CHANGED
@@ -41,13 +41,19 @@ export class Audio {
41
41
  get running() { return recorder.state == 'recording'; }
42
42
  };
43
43
  }
44
+ static voices;
44
45
  static getSpeechSynthesizeVoices() {
45
46
  const synth = window.speechSynthesis;
46
47
  var promise = new Promise(function (resolve, reject) {
47
- synth.onvoiceschanged = (ev) => {
48
- const voices = synth.getVoices();
49
- resolve(voices);
50
- };
48
+ if (Audio.voices) {
49
+ resolve(Audio.voices);
50
+ }
51
+ else {
52
+ synth.onvoiceschanged = (ev) => {
53
+ Audio.voices = synth.getVoices();
54
+ resolve(Audio.voices);
55
+ };
56
+ }
51
57
  });
52
58
  return promise;
53
59
  }
@@ -67,9 +73,9 @@ export class Audio {
67
73
  utterance.pitch = 1;
68
74
  if (language)
69
75
  utterance.lang = "language";
70
- if (onEnd) {
76
+ if (onEnd || onStateChange) {
71
77
  utterance.onend = (ev) => {
72
- onEnd();
78
+ onEnd?.();
73
79
  onStateChange?.();
74
80
  };
75
81
  }
@@ -86,8 +92,11 @@ export class Audio {
86
92
  synth.speak(utterance);
87
93
  return {
88
94
  stop: () => {
89
- if (synth.pending || synth.speaking)
95
+ if (synth.pending || synth.speaking) {
90
96
  synth.cancel();
97
+ onEnd?.();
98
+ onStateChange?.();
99
+ }
91
100
  },
92
101
  pause: () => {
93
102
  if (!synth.paused)
package/dist/audio.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"audio.js","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audio.js","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christianriedl/utils",
3
- "version": "1.0.94",
3
+ "version": "1.0.95",
4
4
  "description": "Interfaces, local storage, service worker, configuration, application state",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -2,7 +2,7 @@
2
2
  import { ref, watch, inject, toRef, onMounted } from 'vue'
3
3
  import { Audio, appConfigSymbol, IPause } from '@christianriedl/utils';
4
4
 
5
- const props = defineProps<{ text: string, language?: string, autoStart?: boolean }>();
5
+ const props = defineProps<{ text: string, language?: string, autostart?: boolean }>();
6
6
 
7
7
  const appConfig = inject(appConfigSymbol)!;
8
8
  const text = toRef(props, "text");
@@ -13,7 +13,7 @@
13
13
  const voices = ref<SpeechSynthesisVoice[]>([])
14
14
  const configure = ref(false);
15
15
  const paused = ref(false);
16
- const ended = ref(false);
16
+ const ended = ref(true);
17
17
  let pause: IPause;
18
18
 
19
19
  async function onPlay() {
@@ -23,12 +23,12 @@
23
23
  }
24
24
  else {
25
25
  paused.value = ended.value = false;
26
- pause = Audio.speechSynthesize(text.value, voiceName.value, props.language, rate.value, pitch.value,
26
+ pause = await Audio.speechSynthesize(text.value, voiceName.value, props.language, rate.value, pitch.value,
27
27
  () => {
28
28
  ended.value = true
29
29
  },
30
30
  () => {
31
- paused.value = pause.pause;
31
+ paused.value = pause.paused;
32
32
  ended.value = !pause.running;
33
33
  });
34
34
  }
@@ -59,7 +59,7 @@
59
59
  voices.value = await Audio.getSpeechSynthesizeVoices();
60
60
  }
61
61
  }
62
- if (props.autoStart) {
62
+ if (props.autostart) {
63
63
  watch(text, text => { if (text) onPlay(); });
64
64
  }
65
65
  </script>
@@ -67,7 +67,7 @@
67
67
  <template>
68
68
  <v-row dense>
69
69
  <v-col cols="12">
70
- <v-btn v-if="speech.status.value == 'play'" @click.stop="onPause">
70
+ <v-btn v-if="!paused && !ended" @click.stop="onPause">
71
71
  <v-icon icon="$pause" />
72
72
  </v-btn>
73
73
  <v-btn v-else @click.stop="onPlay">