Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Web语音API-本地语音不起作用-Mac OSX_Javascript_Macos_Google Chrome_Webspeech Api - Fatal编程技术网

Javascript Web语音API-本地语音不起作用-Mac OSX

Javascript Web语音API-本地语音不起作用-Mac OSX,javascript,macos,google-chrome,webspeech-api,Javascript,Macos,Google Chrome,Webspeech Api,我一直在尝试使用Web语音API提供的语音合成。除了一个随机挑选声音的例子外,我在网上找到的所有例子都不起作用。我意识到唯一有效的声音是谷歌提供的,而不是OSX提供的本地声音。我猜我需要启用一些OSX权限,以便浏览器可以使用这些声音。这是我的密码: let utterance = new SpeechSynthesisUtterance(); let voices = []; let isLoaded = false; window.speechSynthesis.onvoiceschange

我一直在尝试使用Web语音API提供的语音合成。除了一个随机挑选声音的例子外,我在网上找到的所有例子都不起作用。我意识到唯一有效的声音是谷歌提供的,而不是OSX提供的本地声音。我猜我需要启用一些OSX权限,以便浏览器可以使用这些声音。这是我的密码:

let utterance = new SpeechSynthesisUtterance();
let voices = [];
let isLoaded = false;

window.speechSynthesis.onvoiceschanged = () => {
  if (!isLoaded) {
    voices = window.speechSynthesis.getVoices();
    isLoaded = true;
    console.log('Voices loaded!', voices);
    utterance.voice = voices[50]; // Set your voice by index here
  }
};

const setup = () => {
  const button = document.getElementById('button');
  button.addEventListener('click', e => {
    if (isLoaded) {
      synth.cancel();
      utterance.text = 'Hello World';
      utterance.volume = 1;
      utterance.rate = 1;
      utterance.pitch = 1;
      utterance.lang = 'en-US';
      console.log(utterance);
      synth.speak(utterance);
    }
  });
};

你找到解决办法了吗?没有。最终使用了谷歌提供的语音。