diff options
| -rw-r--r-- | ext/bg/js/settings/audio.js | 18 | 
1 files changed, 8 insertions, 10 deletions
| diff --git a/ext/bg/js/settings/audio.js b/ext/bg/js/settings/audio.js index 6d183a43..87ce1ffb 100644 --- a/ext/bg/js/settings/audio.js +++ b/ext/bg/js/settings/audio.js @@ -17,11 +17,14 @@   */  /*global getOptionsContext, getOptionsMutable, settingsSaveOptions -AudioSourceUI, audioGetTextToSpeechVoice*/ +AudioSystem, AudioSourceUI*/  let audioSourceUI = null; +let audioSystem = null;  async function audioSettingsInitialize() { +    audioSystem = new AudioSystem(); +      const optionsContext = getOptionsContext();      const options = await getOptionsMutable(optionsContext);      audioSourceUI = new AudioSourceUI.Container( @@ -100,16 +103,11 @@ function textToSpeechVoiceCompare(a, b) {  function textToSpeechTest() {      try {          const text = document.querySelector('#text-to-speech-voice-test').dataset.speechText || ''; -        const voiceURI = document.querySelector('#text-to-speech-voice').value; -        const voice = audioGetTextToSpeechVoice(voiceURI); -        if (voice === null) { return; } - -        const utterance = new SpeechSynthesisUtterance(text); -        utterance.lang = 'ja-JP'; -        utterance.voice = voice; -        utterance.volume = 1.0; +        const voiceUri = document.querySelector('#text-to-speech-voice').value; -        speechSynthesis.speak(utterance); +        const audio = audioSystem.createTextToSpeechAudio({text, voiceUri}); +        audio.volume = 1.0; +        audio.play();      } catch (e) {          // NOP      } |